Search code examples
javaversiongigaspaces

gigaspaces gs.bat unable to execute java command


I am trying to execute gigaspaces 9.7.1-ga-b10800 gs-agent.bat (that in turn calls gs.bat) with java 1.7.0_55-b13. With echo-ing I traced the issue at the line

%COMMAND%

from gs.bat.
Am I missing something? Is there a place I can check if some versions of gigaspaces and java are compatible?
The java version 1.6 works fine with this version of gigaspaces.
I read this:

Please note that from version 8.0 onwards, GigaSpaces XAP will no longer support the Java 1.5 SDK, and will require the use of Java 1.6 SDK or higher. For details about Java 1.4 & 1.5 SDK EOL, please refer to the following page:http://java.sun.com/products/archive/eol.policy.html

But it doesn't say anything about java 7 and gigaspaces 9.7.1.

The exact command is ([SOME...] represent some other string):

"C:\Program Files\Java\jdk1.7.0_55\bin\java"  -server -XX:+AggressiveOpts -showversion -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xmx512m -Dcom.sun.jini.reggie.initialUnicastDiscoveryPort=4169 -Dcom.gs.deploy=[SOME-PATH-TO-GS-HOME]/deploy -DagentId= -DgsaServiceID= -DenableDynamicLocators= -Xbootclasspath/p:"[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\\lib\platform\xml\*" -cp ;"[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\";"[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\\lib\platform\sigar\*;";"[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\\lib\platform\boot\gs-boot.jar"; -Dsun.rmi.dgc.client.gcInterval=36000000 -Dsun.rmi.dgc.server.gcInterval=36000000 -Djava.rmi.server.hostname=""[SOMETHING]"" -Djava.rmi.server.RMIClassLoaderSpi=default -Djava.rmi.server.logCalls=false -Dcom.gs.jini_lus.locators=null -Dcom.gs.jini_lus.groups=[SOMETHING] -Dcom.gs.logging.debug=false -Djava.util.logging.config.file="[SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\/config/gs_logging.properties" com.gigaspaces.start.SystemBoot com.gigaspaces.start.services=\"GSA\" gsa.gsc 0 gsa.global.gsm 0 gsa.lus 1

The output renders the following:

java version "1.7.0_55" Java(TM) SE
Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

Usage: java [-options] class [args...]
(to execute a class) or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-d32 use a 32-bit data model if available
etc.

Best regards,
despot


Solution

  • For some reason java 7 doesn't like this path:

    \tools\groovy\bin\..\..\..\
    

    when investigating further I found out that JSHOMEDIR is being set to

    [SOME-PATH-TO-GS-HOME]\tools\groovy\bin\..\..\..\
    

    so in setenv.bat, I placed a

    set JSHOMEDIR=%~dp0\..
    

    before the line:

    if "%JSHOMEDIR%" == "" set JSHOMEDIR=%~dp0\..
    

    For some reason setting an (system/user) environment variable didn't change the value of JSHOMEDIR (and yes, I restarted the cmd).

    There is also the same duplicated post at ask.gigaspaces.org with perhaps some additional answers.

    Cheers!