Archived

This forum has been archived. Please start a new discussion on GitHub.

Icegridnode Java home

Hi

I have a service running in Icegrid 3.4.1 on Windows 2003. The Path for the system has been changed to point to a separate (non-system) version of Java and the box rebooted, but the java executable being run is the system version.

System Environment variables
JAVA_HOME=F:\Aurora\Java
PATH=F:\Aurora\Java\bin;C:\tibco\tibrv\8.2\bin;...

Using ProcessExplorer the environment variables for the icegridnode.exe process are correctly set, but the properties in the log file for the service have java.home => C:\Program Files (x86)\Java\jre6.

Opening a command prompt as the same user and running a main method which dumps the properties from the jvm, has the correct java.home => F:\Aurora\Java\jre

Please could you tell me how to get icegridnode to use a specific non-system java version.

Thanks Nim

<icegrid>
<application name="QlibPricingServiceApp">
<server-template id="QlibPricingServer">
<parameter name="index" />
<server id="QlibPricingService-${index}" exe="java" activation="always"
pwd="F:/Aurora/QlibPricingService/QlibPricingService-1785-dev-LON">
<option>-Xms256m</option>
<option>-Xmx256m</option>
<option>-Dconfig.file=./config/properties/LON/dev/config.properties</option>
<option>-Dapplication.name=QlibPricingService</option>
<option>com.rbccm.aurora.pricing.QlibPricingServiceApp</option>
<env>CLASSPATH=./config;./lib/*;%CLASSPATH%</env>
<env>QLIB_HOME=./config/qlib</env>
<env>PATH=./lib;%PATH%</env>
<adapter name="QlibPricingServiceModule" endpoints="tcp" replica-group="QlibPricingServiceAdapter"/>
<property name="Identity" value="QlibPricingServiceModule" />
<property name="Ice.Plugin.MyLogger" value="com.rbccm.aurora.pricing.ice.log.Log4jIceLoggerPluginFactory" />
</server>
</server-template>

<replica-group id="QlibPricingServiceAdapter">
<load-balancing type="round-robin" />
<object identity="QlibPricingServiceModule"
type="::QlibPricingServiceModule::QlibPricingService"/>
</replica-group>

<node name="AuroraServicesNode1">
<server-instance template="QlibPricingServer" index="1" />
</node>
</application>
</icegrid>

Comments

  • mes
    mes California
    Hi,

    I'm not sure why your server is being executed with the wrong version of Java. Are you running IceGrid as a Windows service?

    IceGrid doesn't take any special action for Java servers. In fact, IceGrid doesn't even know what language a server uses. If you want to eliminate any possibility of using an incorrect JVM, you can modify the executable path in your descriptor as follows:
    <server id="QlibPricingService-${index}"
        exe="F:\Aurora\Java\jre\java" activation="always" ...>
    

    Regards,
    Mark
  • Need JRE not JDK java executable

    Hi Mark

    Thank you for replying.

    I had tried

    <server id="QlibPricingService-${index}" exe="F:\Aurora\Java\bin\java" ..

    before but the service didn't start up.

    I've just successfully tried <server id="QlibPricingService-${index}" exe="F:\Aurora\Java\jre\bin\java"

    ie pointing to the jre instead of the jdk java executable.

    Hope this helps someone else.

    Thanks Nim