Home : Questions Regarding JCOM
Q65892 - INFO: Questions Regarding JCOM

Questions Regarding JCOM

JCOM is a version of J-Integra which BEA ships with their WebLogic Server (WLS). They have licensed the J-Integra source code and integrated it into WLS. BEA has asked that all JCOM support requests go through BEA Support (not through J-Integra Support). So if you wish to use the WLS version of J-Integra (JCOM), then you will have to send JCOM support requests to BEA directly.

Updating JCOM to the latest version of J-Integra

The JCOM classes that are shipped with WLS are based on older versions of J-Integra. If you wish to test your JCOM application with the latest version of J-Integra (e.g. to see if there are any differences in functionality), do the following:

1. Download and install a copy of the latest version of J-Integra from our website. Simply ignore the 30-day evaluation license. J-Integra is fully functional and a production license is not required if you have a valid WebLogic license.

2. Update the startWebLogic.cmd startup script by adding a JINTEGRA_HOME variable and prefixing the CLASSPATH with the jintegra.jar. The jintegra.jar must be placed in front of the WEBLOGIC_CLASSPATH in order to ensure that the updated classes will be used instead of the ones in weblogic.jar (WLS 8.1 and earlier) or jcom.jar (WLS 10.0).

* Note: If you are using the examplesServer on WLS 8.1, you need to update the startExamplesServer.cmd script instead.

3. Add a system PATH variable that places the J-Integra \bin directory in front of the existing PATH. Doing so ensures that the updated J-Integra tools (i.e. jintmk.dll, ntvinv.dll, etc.) are used instead of their JCOM \bin directory counterparts. This also ensures that the tools are the same version as the J-Integra runtime (i.e. jintegra.jar).

* Note: If the tools (ie, the DLLs and EXEs in the \bin directory) and jintegra.jar runtime have different version numbers, you may get errors such as the "No object for moniker" error.

Below is a snippet of the startWebLogic.cmd script from WLS 8.1 SP3, with all necessary changes in red.

   echo off
   SETLOCAL

   set WL_HOME=C:\BEA\weblogic81
   @rem Set Production Mode.  When this is set to true, the server starts up in
   @rem production mode.  When set to false, the server starts up in development
   @rem mode.  If it is not set, it will default to false.
   set PRODUCTION_MODE=

   @rem Set JAVA_VENDOR to java virtual machine you want to run on server side.
   set JAVA_VENDOR=Sun

   @rem Set JAVA_HOME to java virtual machine you want to run on server side.
   set JAVA_HOME=C:\BEA\jdk142_04

   call "%WL_HOME%\common\bin\commEnv.cmd"

   @rem Set SERVER_NAME to the name of the server you wish to start up.
   set SERVER_NAME=examplesServer

   @rem Set JAVA_OPTIONS to the java flags you want to pass to the vm. i.e.:
   @rem set JAVA_OPTIONS=-Dweblogic.attribute=value -Djava.attribute=value
   set JAVA_OPTIONS=

   @rem Set MEM_ARGS to the memory args you want to pass to java.  For instance:
   @rem if "%JAVA_VENDOR%"=="BEA" set MEM_ARGS=-Xms32m -Xmx200m

   @rem *************************************************************************
   @rem PointBase and examples domain specific configuration
   set JINTEGRA_HOME=C:\Program Files\J-Integra\COM
   set SAMPLES_HOME=C:\BEA\weblogic81\samples
   set EXAMPLES_CONFIG=%SAMPLES_HOME%\domains\examples

   set EXAMPLES_HOME=%SAMPLES_HOME%\server\examples
   set EXAMPLES_BUILD=%EXAMPLES_HOME%\build

   set APPLICATIONS=%EXAMPLES_CONFIG%\applications
   set CLIENT_CLASSES=%EXAMPLES_BUILD%\clientclasses
   set SERVER_CLASSES=%EXAMPLES_BUILD%\serverclasses
   set COMMON_CLASSES=%EXAMPLES_BUILD%\common
   set EX_WEBAPP_CLASSES=%EXAMPLES_BUILD%\examplesWebApp\WEB-INF\classes

   @rem Add PointBase classes to the classpath, so we can start the examples
   @rem database.  Also add the examples directories specified above to the
   @rem classpath to be picked up by WebLogic Server.
   set CLASSPATH=C:\BEA\weblogic81\server\lib\webservices.jar;%POINTBASE_CLASSPATH%;
   %CLIENT_CLASSES%;%SERVER_CLASSES%;%COMMON_CLASSES%;%CLIENT_CLASSES%\utils_common.jar

   @rem Start PointBase 4.4.
   start "PointBase" cmd /c ""%JAVA_HOME%\bin\java" com.pointbase.net.netServer
   /port:9092 /d:3 /pointbase.ini="pointbase.ini"" > "pointbase.log" 2>&1
   @rem *************************************************************************

   @rem Call WebLogic Server

   set CLASSPATH=%JINTEGRA_HOME%\lib\jintegra.jar;%WEBLOGIC_CLASSPATH%;%CLASSPATH%
   set PATH=%JINTEGRA_HOME%\bin;%PATH%

   "%JAVA_HOME%\bin\java" %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME%
   -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\
   lib\weblogic.policy" weblogic.Server

   ENDLOCAL

In WLS 10.0's case, please see the changes to startWebLogic.cmd below (again in red):

   @REM Call setDomainEnv here.
   set DOMAIN_HOME=C:\BEA\wlserver_10.0\samples\domains\wl_server
   for %%i in ("%DOMAIN_HOME%") do set DOMAIN_HOME=%%~fsi
   call "%DOMAIN_HOME%\bin\setDomainEnv.cmd" %*
   set SAVE_JAVA_OPTIONS=%JAVA_OPTIONS%
   set SAVE_CLASSPATH=%CLASSPATH%

   @REM Start PointBase
   set PB_DEBUG_LEVEL=3
   if "%POINTBASE_FLAG%"=="true" (
    call "%WL_HOME%\common\bin\startPointBase.cmd" -port=%POINTBASE_PORT% -debug=%PB_DEBUG_LEVEL%
    -console=false -background=true -ini=%DOMAIN_HOME%\pointbase.ini
    >"%DOMAIN_HOME%\pointbase.log" 2>&1
   )

   set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS%
   set SAVE_JAVA_OPTIONS=
   set CLASSPATH=%SAVE_CLASSPATH%
   set SAVE_CLASSPATH=

   if "%PRODUCTION_MODE%"=="true" (
    set WLS_DISPLAY_MODE=Production
   ) else (
    set WLS_DISPLAY_MODE=Development
   )

   if NOT "%WLS_USER%"=="" (
    set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.management.username=%WLS_USER%
   )

   if NOT "%WLS_PW%"=="" (
    set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.management.password=%WLS_PW%
   )

   set JINTEGRA_HOME=C:\Program Files\J-Integra\COM
   set CLASSPATH=%JINTEGRA_HOME%\lib\jintegra.jar;%CLASSPATH%;%MEDREC_WEBLOGIC_CLASSPATH%
   set PATH=%JINTEGRA_HOME%\bin;%PATH%

   echo .
   echo .
   echo JAVA Memory arguments: %MEM_ARGS%
   echo .
   echo WLS Start Mode=%WLS_DISPLAY_MODE%
   echo .
   echo CLASSPATH=%CLASSPATH%
   echo .
   echo PATH=%PATH%
   echo .
   echo ***************************************************
   echo *  To start WebLogic Server, use a username and   *
   echo *  password assigned to an admin-level user.  For *
   echo *  server administration, use the WebLogic Server *
   echo *  console at http:\\hostname:port\console        *
   echo ***************************************************

   @REM Set up IP Migration related variables.

   @REM Set interface name.
   if NOT "%Interface%"=="" (
    set IFNAME=%Interface%
   ) else (
    set IFNAME=
   )

   @REM Set IP Mask.
   if NOT "%NetMask%"=="" (
    set IPMASK=%NetMask%
   ) else (
    set IPMASK=
   )

   @REM Perform IP Migration if SERVER_IP is set by node manager.
   if NOT "%SERVER_IP%"=="" (
    call "%WL_HOME%\common\bin\wlsifconfig.cmd" -addif "%IFNAME%" "%SERVER_IP%" "%IPMASK%"
   )

   @REM START WEBLOGIC
   echo starting weblogic with Java version:

   %JAVA_HOME%\bin\java %JAVA_VM% -version
   f "%WLS_REDIRECT_LOG%"=="" (
    echo Starting WLS with line:
    echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME%
    -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy  %PROXY_SETTINGS% %SERVER_CLASS%
    %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME%
    -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
   ) else (
    echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%
    %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME%
    -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %PROXY_SETTINGS% %SERVER_CLASS%
    >"%WLS_REDIRECT_LOG%" 2>&1
   )

   echo CLASSPATH=%CLASSPATH%
   echo PATH=%PATH%
   echo WEBLOGIC_CLASSPATH=%WEBLOGIC_CLASSPATH%

   CALL :stopAll

   popd

   @REM Exit this script only if we have been told to exit.
   if "%doExitFlag%"=="true" (
       exit
   )

   ENDLOCAL

4. Enable JCOM on WLS by doing the following:

On WLS 8.1 SP3:

  • Open the WLS Adminstration Console
  • Expand "Servers" in the left pane
  • Select the server you wish to modify from the expanded list
  • In the right pane, click the "Protocols" tab
  • In the row of tabs directly below, click "jCOM"
  • Check the "Enable COM" option if isn't already

On WLS 10.0:

  • Open the WLS Adminstration Console
  • Expand "Environments" in the left pane, then click "Servers"
  • Select the server you wish to modify from the expanded list
  • In the right pane, select the server you wish to modify
  • In the newly opened right pane, click the "Protocols" tab
  • In the row of tabs directly below, click "jCOM"
  • Check the "Enable COM" option if isn't already

5. Restart WLS.

JCOM Versions

Below is a list of various releases of JCOM and their corresponding J-Integra versions:

  • WebLogic 10.0 JCOM is based on J-Integra for COM 2.3
  • WebLogic 8.1 JCOM is based on J-Integra for COM 1.5.4
  • WebLogic 7.0 JCOM is based on J-Integra for COM 1.5.0 SB004
  • WebLogic 6.1 JCOM is based on J-Integra for COM 1.4.1 SB011

Contacting BEA Support

When contacting BEA for JCOM support, it is important to generate the same log files as you would for J-Integra Support.

    jintegra.log (jcom.log)

    In WebLogic 10.0, the jintegra.log (jcom.log) can be enabled in the WLS Administration Console by doing the following:

    • Open the WLS Adminstration Console
    • Expand "Environments" in the left pane, then click "Servers"
    • Select the server you wish to modify from the expanded list
    • In the right pane, select the server you wish to modify
    • In the newly opened right pane, click the "Protocols" tab
    • In the row of tabs directly below, click "jCOM"
    • Check the "Verbose Logging Enabled" option
    • Restart WLS

    In WebLogic 7.0 and 8.1, the jintegra.log (jcom.log) file is incorporated in the WLS logging. To generate logging you need to enable VerboseLoggingEnabled in the WLS project's config.xml file. For example...

        
      
      VerboseLoggingEnabled="true"/>
    

    The WLS log files are located in your project directory. For example...

      C:\bea\user_projects\myexample\examplesServer\examplesServer.log
      ...
      C:\bea\user_projects\myexample\examplesServer\examplesServer.log00035
      C:\bea\user_projects\myexample\examplesServer\examplesServer.log00036
      ...

    In WLS 6.1, the jintegra.log (jcom.log) file is generated in a Java client by invoking:

      com.bea.jcom.Log.logImmediately(3, "jcom.log");

    config.log and jintmk.log

    In WLS 6.1, 7.0 and 8.1, you can generate config.log and jintmk.log files for JCOM the same as you would for J-Integra.

Related Articles
No Related Articles Available.

Article Attachments
No Attachments Available.

Related External Links
No Related Links Available.
Help us improve this article...
What did you think of this article?

poor 
1
2
3
4
5
6
7
8
9
10

 excellent
Tell us why you rated the content this way. (optional)
 
Approved Comments...
No user comments available for this article.
Created on 6/23/2006.
Last Modified on 7/22/2008.
Last Modified by J-Integra KB Admin.
Article has been viewed 11220 times.
Rated 4 out of 10 based on 14 votes.
Print Article
Email Article