################################################################################# # # SAP AG Walldorf # Systeme, Anwendungen und Produkte in der Datenverarbeitung # # (C) Copyright SAP AG 2006 # @(#) $Id: //bas/722_REL/src/proj/jstartup/jstart.config#1 $ SAP # #================================================================================ # jstart.config # Additional configuration for the J2EE Startup Framework #================================================================================ # # The configuration in this file provides default values and rules for the # evaluation of configurations. # # The interpreter for this file performs variable substitution on the variable # assignments it finds. # # The general syntax for a substitution is: # "$[" { { ':' } ':' { } } "]" # # A substitution may have one of following forms: # # - $[] # The value of the variable is substituted. A non-existing variable # yields in an empty value. # # - $[:-] : Use a default value. # If the expansion of is the empty value, the expansion of # is substituted. Otherwise, skip over . # # - $[:+] : Use an alternate value. # If the expansion of is _not_ the empty value, substitute the # expansion of ; otherwise skip over and substitute nothing. # # - $[:=] : Assign a default value. # If the expansion of is the empty value, assign the # expansion of to ; then substitute the expansion of . # # - $[:~] : Match against a pattern # If the expansion of matches with the expansion , substitute # "true"; otherwise, substitute nothing. may contain wildcard # characters: # '?' matches any single character, and # '*' matches a sequence of zero or more characters. # The match is inverted if begins with an exclamation mark '!', # i.e. the result is "true" if does _not_ match with the expansion # of . # # - $[:@] : Resolve files against a directory # Expand , then split using the path separator. Resolve each # resulting path element against the directory . Substitute the # resulting list, concatenated using the path separator. # # - $[name:^word] : Search files on a directory path # Expand , then split using the path separator. Split # using the path separator, too. Search for each element of in the # direatories from path. Replace a element with the path resolved # against the directory where the file was found, or leave the # element unchanged. Substitute the resulting list, concatenated using # the path separator. # # - $[:?] : Complain if not set. # If the expansion of is the empty value, throw an error with the # expansion of as the error message. # # - $[:t] : Trim . # Expand , then trim all leading and trailing occurences of . # If is empty, trim whitespace. # # - $[:b] : Evaluate as a boolean value. # If the expansion of is the logical TRUE value, then substitute # "true"; else the expansion of is the logical FALSE value, then # substitute "false"; otherwise, substitute nothing. # # - $[:s] : Enclose in single quotes. # Enclose the expansion of in single quotes to prevent further # expansion. # # - $[:d] : Enclose in double quotes. # Enclose the expansion of in double quotes, to avoid that the # expanded value is split into several words. # # - $[:e] : Escape metacharacters. # Expand and escape all metacharacters to prevent further # processing. Metacharacters are: # \f form feed # \n new line # \r carriage return # \t horizontal tab # \v vertical tab # ' ' space # \ backslash # $ dollar sign # " double qoute # ' single quote # # - $[:u] : Unescape metacharacters. # Expand and unescape all metacharacters that are escaped with a # backslash (`\´). In addition, convert the escape sequences: # \xdd ASCII character # \udddd Unicode character # into regular characters. Do not unescape characters that are enclosed # in (unescaped) single quotes. # # - $[name:i] : check in the file system. # Expand name and check whether the resulting path matches the check # criterion : # d: path exists and is a directory # e: path exists # f: path exists and is a regular file # r: path exists and is readable # w: path exists and is writeable # x: path exists and is writeable # Substitute "true" if the test succeeds; otherwise, substitute # nothing. # # The algorithm allows nested variables, i.e. and may contain # more substitutions. # # A double colon ("::") suppresses the expansion of . This is useful if # is the result of match operation (":~") to prevent the expansion of # the "true" value. # # Enclosing strings by single quotes (`'´) and double quotes (`"´) can be used # to prevent all or some of the substitutions: # - Strings enclosed in single quotes are protected from any further # interpretation. # - Strings enclosed in double quotes are still variable-expanded, but they # are not split into separate words anymore. #================================================================================ #================================================================================ # Flight recorder node name #================================================================================ _js/datcol = $[jstart/InstanceHome]$[DIR_SEP]cluster$[DIR_SEP] + bootstrap$[DIR_SEP]sap.com~tc~je~datacollector.jar elem/collector = $[jstart/collector] jstart/collector = $[$[_js/datcol:ir]::+snapshot] + $[$[_js/datcol:ir]::-flightrec] #================================================================================ # Default parameters for debugging and monitoring #================================================================================ jstart/vmtool/debugger = $[$[jvm/version:~1.4.*]::+ \ -Xdebug -Xnoagent \ -Xrunjdwp:transport=dt_socket,server=y, + suspend=$[args/suspendYN], + address=$[elem/checkedDebugPort]] \ $[$[jvm/version:~!1.4.*]::+ \ -agentlib:jdwp=transport=dt_socket,server=y, + suspend=$[args/suspendYN], + address=$[elem/checkedDebugPort]] jstart/vmtool/monitor = -Xdebug \ -Xrunsherlok:ConfigPath=sherlok, + TelnetPort=$[elem/checkedDebugPort], + TelnetHost=localhost #================================================================================ # Platform-specific environment values #================================================================================ jvm/env = $[$[OS_PLATFORM:~rs6000_64]::+ \ AIXTHREAD_SCOPE=S \ AIXTHREAD_MUTEX_DEBUG=OFF \ AIXTHREAD_RWLOCK_DEBUG=OFF \ AIXTHREAD_COND_DEBUG=OFF ] \ $[$[OS_PLATFORM:~os390*]::+ \ $[env/IBM_JAVA_OPTIONS:- \ "IBM_JAVA_OPTIONS=-Dfile.encoding=ISO8859-1 \ -Dconsole.encoding=IBM-1047" ] \ IBM_JVM_NOARGSCONVERSION=ON \ IBM_JAVA_ENABLE_ASCII_FILETAG=ON ] \ $[$[OS_PLATFORM:~hp*]::+ LD_PRELOAD=$[jvm/dllName] ] \ $[$[OS_PLATFORM:~ntintel]::+ JStart/ReserveSize=0x60000000 ] \ $[$[OS_PLATFORM:~as400_pase_64]::+ \ $[$[jvm/sapversion:~-1]::+ \ QIBM_JAVA_PASE_STARTUP=/usr/lib/start64 \ QIBM_USE_DESCRIPTOR_STDIO=Y \ QIBM_JAVA_PASE_ALLOW_PREV=1 \ PASE_THREAD_ATTACH=Y \ ] \ ] _js/env = $[elem/MainClass:+$[jvm/env]] #================================================================================ # default program arguments for specific node types #================================================================================ _js/pf_arg = pf=$[SAPPROFILE_IN_EFFECT:e] _js/jvmfile = -jvmFile=$[args/jvmFile] _js/trcfile = -traceFile= + $[dev_$[elem/logName]$[args/_trcext]::@$[DIR_HOME]] _js/stdfile = -stdOutFile=$[std_$[elem/logName].out::@$[DIR_HOME]] _js/javafile = -javaOutFile=$[jvm_$[elem/logName].out::@$[DIR_HOME]] _js/files = $[_js/jvmfile:s] $[_js/trcfile:s] \ $[$[$[elem/redirectStdOut:b]::~false]::- \ $[_js/stdfile:s] $[_js/javafile:s]] _js/nodeid = $[elem/_nodeId:+-nodeId=$[elem/_nodeId]] _js/msproxy = $[_msport:+ \ -j2ee_mshost=localhost -j2ee_msport=$[_msport]] _js/enproxy = $[_enport:+ \ -j2ee_enqhost=localhost -j2ee_enqport=$[_enport]] _js/proxies = $[_js/msproxy] $[_js/enproxy] _js/nodedef = -nodeName=$[elem/_nodeName:s] -file=$[elem/_fileName:s] _js/sapinfo = -DSAPINFO=$[SAPSYSTEMNAME]_$[SAPSYSTEM]_$[elem/logName] bootstrap/exe/args = $[_js/pf_arg] -hostvm $[_js/nodedef] $[_js/files] bootstrap/vm/args = -verbose:gc \ $[$[jvm/sapversion:~-1]::- + -XX:+HeapDumpOnOutOfMemoryError] server/exe/args = $[_js/pf_arg] $[_js/sapinfo] -hostvm \ $[_js/nodedef] $[_js/files] $[_js/proxies] server/vm/args = $[args/remaining] \ $[args/nodeId:+$[$[jvm/sapversion:~-1]::- \ -Xjvmx -XsapSystem:$[SAPSYSTEM] \ ] \ ] icm/exe/args = $[_js/pf_arg] $[_js/nodeid] \ -f $[$[DIR_HOME]$[DIR_SEP]dev_$[elem/logName]::s] \ $[_js/stdfile] gw/exe/args = $[_js/pf_arg] dproxy/exe/args = $[_js/pf_arg] -hostvm $[_js/nodedef] $[_js/files] java/exe/args = $[_js/pf_arg] -hostvm $[_js/nodedef] $[_js/files] collector/exe/args = $[_js/pf_arg] $[_js/sapinfo] -hostvm \ $[_js/nodedef] $[_js/files] bootstrap/isWorker = true server/isWorker = true server/shutdownMethod = com.sap.engine.boot.Start.shutdown jstart/nativesClass = com.sap.bc.proj.jstartup.JStartupNatives #================================================================================ # default Java VM arguments for specific node types #================================================================================ #-------------------------------------------------------------------------------- # path arguments #-------------------------------------------------------------------------------- _js/classPath = $[jstart/frameworkJars:@$[args/_progDir]] + $[FILE_SEP]$[lib/tools.jar::@$[jvm/home]] + $[elem/vm/classPath:+$[FILE_SEP]$[elem/vm/classPath:@]] _js/pathargs = "-Denv.class.path=$[env/CLASSPATH:e]" \ "-Dsys.global.dir=$[DIR_GLOBAL:e]" \ "-Dapplication.home=$[args/_progDir:e]" \ "-Djava.class.path=$[_js/classPath:e]" \ "-Djava.library.path=$[env/$[jstart/libPathName]:e]" #-------------------------------------------------------------------------------- # memory sizing arguments #-------------------------------------------------------------------------------- _js/memargs = $[$[$[elem/javaParameters] $[jstart/vm/args]::~!*-Xmx*]::+ \ $[elem/vm/maxHeapSize:+-Xmx$[elem/vm/maxHeapSize]m]] \ $[$[$[elem/javaParameters] $[jstart/vm/args]::~!*-Xms*]::+ \ $[elem/vm/initHeapSize:+-Xms$[elem/vm/initHeapSize]m]] \ $[$[$[elem/javaParameters] $[jstart/vm/args]::~!*-Xss*]::+ \ $[$[$[OS_PLATFORM:~!as400_pase_64] \ $[jvm/sapversion:~!-1]::t]::+ \ $[elem/stackSize:+-Xss$[elem/stackSize]]]] #-------------------------------------------------------------------------------- # identification arguments #-------------------------------------------------------------------------------- _js/idargs = -Djstartup.mode=$[args/nodeId:+JSTART] \ -Djstartup.whoami=$[elem/type] \ -Djstartup.ownProcessId=$[args/_pid] \ -Djstartup.ownHardwareId=$[args/_hwid] #-------------------------------------------------------------------------------- # SAP-specific arguments #-------------------------------------------------------------------------------- _js/sapargs = -DSAPSTARTUP=1 \ -DSAPSYSTEM=$[SAPSYSTEM] \ -DSAPSYSTEMNAME=$[SAPSYSTEMNAME] \ -DSAPMYNAME=$[rdisp/myname] \ -DSAPDBHOST=$[SAPDBHOST] \ -DSAPINFO=$[SAPSYSTEMNAME]_$[SAPSYSTEM]_$[elem/logName] \ -Dj2ee.dbhost=$[j2ee/dbhost] \ $[args/_preferIPv6:+-Djava.net.preferIPv6Addresses=true] \ $[$[OS_PLATFORM:~as400]::+-Djava.version=$[jvm/version]] \ -Dsun.java.launcher=jstart \ $[-Dsun.java.command=$[elem/mainClass] $[elem/mainArgs:e]::d] #-------------------------------------------------------------------------------- # debugging arguments #-------------------------------------------------------------------------------- args/debugMode = $[elem/debugMode] args/vmtool = $[elem/vmtool] elem/vmtool = $[$[$[elem/debuggable:~yes]::-disabled] \ $[$[elem/debuggable:~yes]::+ \ $[$[args/debugMode:~no]::+enabled] \ $[$[args/debugMode:~mon]::+monitor] \ $[$[args/debugMode:~yes]::+ \ $[jvm/sapextensions:-debugger] \ $[jvm/sapextensions:+ \ $[$[elem/debugMode:~yes]::-enabled] \ $[$[elem/debugMode:~yes]::+debugger] \ ] \ ] \ ] \ ::t] _js/dbgArgs = -Djstartup.debuggable=$[elem/debuggable] \ -DLoadBalanceRestricted=$[elem/loadBalanceRestricted:=no] \ $[jstart/vmtool/$[args/vmtool]] \ $[$[args/vmtool:~enabled]::+ \ $[jvm/sapextensions:+ \ $[elem/debugPort:+ \ -XdebugPortRange:$[elem/debugPort]-$[elem/debugPort] \ ] \ ] \ ] _js/vmargs = $[_js/sapargs] $[_js/idargs] $[_js/dbgArgs] $[_js/pathargs] #================================================================================ # other default values for elements (mapping from element parameters to node # type parameters and to instance parameters) #================================================================================ elem/external = $[elem/execute:~external] elem/isWorker = $[$[elem/_nodeType]/isWorker] elem/dbgBrkArg = $[$[elem/_nodeType]/dbgBrkArg:-$[jstart/dbgBrkArg]] elem/appTrcArg = $[$[elem/_nodeType]/appTrcArg:-$[jstart/appTrcArg]] elem/nice = $[$[system/type:~J2EE]::+$[jstart/nice]] elem/name = $[elem/_nodeName] elem/logname = $[elem/_nodeName] elem/console = $[jstart/startMode:~console] elem/protocol = $[jstart/protocol] elem/connectTimeout = $[jstart/connectTimeout] elem/replyTimeout = $[jstart/replyTimeout] elem/shutdownTimeout = $[jstart/shutdownTimeout] elem/traceVersions = $[jstart/traceVersions] elem/debuggable = $[jstart/debuggable] elem/debugMode = $[jstart/debugMode] elem/ldbalDelay = $[jstart/ldbalDelay] elem/stackSize = $[jstart/stackSize] elem/allowStdout = $[jstart/allowStdout] elem/vm/maxHeapSize = $[elem/maxHeapSize] elem/vm/initHeapSize = $[elem/initHeapSize] elem/vm/traceSeverity = $[jstart/vm/traceSeverity] elem/vm/ignoreUnrecognized = $[jstart/vm/ignoreUnrecognized] elem/maxRestarts = $[jstart/maxRestarts] elem/nativesClassName = $[jstart/nativesClass] elem/checkedDebugPort = $[elem/debugPort:? \ Cannot activate $[elem/vmtool] without a debugPort.] args/suspendYN = $[$[args/suspend:+y] $[args/suspend:-n]::t] elem/exePath = $[jvm/exePath] elem/libPath = $[jvm/libPath] + $[FILE_SEP]$[os_libs::@$[jstart/InstanceHome]] elem/exe/args = $[$[elem/_nodeType]/exe/args] \ $[elem/exeParameters] \ $[jstart/exe/args] \ $[args/remaining] elem/exe/env = $[_js/env] \ $[$[elem/_nodeType]/exe/env] \ $[elem/environment] \ $[jstart/environment] \ $[$[OS_PLATFORM:~nt*]::+ NODNSSAPTRANSHOST=1 ] elem/vm/args = $[$[elem/type]/vm/args] \ $[_js/vmargs] \ $[elem/javaParameters] \ $[jstart/vm/args] \ $[_js/memargs] \ $[$[$[$[system/type:~DS] $[$[elem/javaParameters] \ $[jstart/vm/args]::~!*-DSAPSTART=1*]::t]::? \ Setting -DSAPSTART=1 is only allowed \ for double stack systems.]::+] elem/mainArgs = $[elem/parameters] \ $[args/remaining] elem/shutdownMethod = $[$[elem/type]/shutdownMethod] jstart/nodeFiles = $[$[$[jstart/startupNodeFile:ir]::? \ Cannot read $[jstart/startupNodeFile] file.]::+] + $[jstart/startupNodeFile] + $[FILE_SEP]$[jstart/instanceNodeFiles] + $[$[$[rdbg.proxy::@$[jstart/InstanceHome]]::id]::+ + $[FILE_SEP]$[dproxy.properties::@$[DIR_EXECUTABLE]]] jstart/dbgBrkArg = $[$[$[OS_PLATFORM:~nt*]::+-debugBreak] \ $[$[OS_PLATFORM:~nt*]::--debugWait]::t] jstart/appTrcArg = -appTrc jstart/msc/disabled = $[$[system/type:~SMDA]::b] jstart/enc/disabled = $[$[system/type:~SMDA]::b] jstart/needSDK = $[$[system/type:~SMDA]::+false] jstart/checkVersion = $[$[system/type:~SMDA]::+false] #------------------------------------------------------------------------------- # Search jvmx.jar and iqlib.jar in the choosen JDK before looking in # $[DIR_SAPJVM]. #------------------------------------------------------------------------------- jstart/frameworkJars = jstart71.jar$[FILE_SEP] + $[lib/jvmx.jar$[FILE_SEP] + lib/jvmx_tools.jar$[FILE_SEP] + jre/lib/iqlib.jar::^ + $[jvm/home]$[FILE_SEP]$[DIR_SAPJVM]] #================================================================================ # Backward compatibility options # The following properties map new (elem/*; jstart/* and j2ee/*) options back # to their old (jstartup) predecessors. #================================================================================ elem/exeParameters = $[elem/JLaunchParameters] elem/exe/name = $[elem/executablename] elem/vm/classPath = $[elem/classPath] elem/globalState = $[elem/globalStatus] elem/homeDir = $[elem/rootPath] elem/javaHome = $[elem/JavaPath] elem/nativesClass = $[elem/nativesClassName] elem/numComponents = $[elem/numApplications] jstart/stackSize = $[jstartup/native_stack_size] jstart/bootstrap = $[jstartup/bootstrap] jstart/debuggable = $[jstartup/debuggable:=no] jstart/debugMode = $[jstartup/debug_mode:=no] jstart/startMode = $[jstartup/start_mode] jstart/environment = $[jstartup/environment] jstart/release = $[jstartup/release] jstart/protocol = $[jstartup/protocol] jstart/startupNodeFile = $[jstartup/startup_properties] jstart/instanceNodeFiles = $[jstartup/instance_properties] jstart/vm/home = $[jstartup/vm/home] jstart/vm/type = $[jstartup/vm/type] jstart/vm/libPath = $[jstartup/vm/libpath] jstart/vm/detectMode = $[jstartup/vm/detect_mode] jstart/vm/args = $[jstartup/vm/parameters] jstart/vm/traceSeverity = $[jstartup/vm/trace_at] jstart/vm/ignoreUnrecognized = $[jstartup/vm/ignore_unrecognized] jstart/maxRestarts = $[jstartup/max_errors] jstart/numThreads = $[jstartup/numThreads] jstart/numCaches = $[jstartup/numCaches] jstart/numEntryPoints = $[jstartup/numEntryPoints] jstart/numComponents = $[jstart/numApplications] jstart/numApplications = $[jstartup/numApplications] jstart/numEjbs = $[jstartup/numEjbs] jstart/numEjbSessions = $[jstartup/numEjbSessions] jstart/numRoConnections = $[jstartup/numRoConnections] jstart/numAliases = $[jstartup/numAliases] jstart/numBrSessions = $[jstartup/numBrSessions] jstart/numWebSessions = $[jstartup/numWebSessions] jstart/numDebugRecs = $[jstartup/numDebugRecs] jstart/msc/secLevel = $[jstartup/security_level] #------------------------------------------------------------------------------- # no backward reference, because the location needs to be evaluated at runtime. # jstart/frameworkJars = $[jstartup/framework_jars] #------------------------------------------------------------------------------- jstart/traceVersions = $[jstartup/keep_old_logfiles] jstart/shutdownTimeout = $[jstartup/shutdown_timeout] jstart/nice = $[jstartup/nice] jstart/InstanceHome = $[DIR_INSTANCE]/j2ee jstart/DIR_CLUSTER = $[jstartup/DIR_CLUSTER] j2ee/ms/reconnectTimeout = $[jstartup/wait_for_reconnect] j2ee/ms/connectTimeout = $[jstartup/wait_for_scs] #================================================================================ # Messages for program termination (supportability...) #================================================================================ # jstart/exit/note must undergo at least one expansion for unescaping. jstart/exit/note = $[jstart/exit/text:u] jstart/exit/text = \n+ ********************************************************************************\n+ *** ERROR => $[jstart/exit/cause]\n+ ***\n+ *** Please see section \'$[jstart/exit/section:=Other issues]\'\n+ *** in SAP Note 1316652 for additional information and trouble shooting advice.\n+ ********************************************************************************\n #--------------------------------------------------------------------------------