The following issue has been CLOSED
======================================================================
http://bugs.caucho.com/view.php?id=5294
======================================================================
Reported By: chinaliwee
Assigned To: ferg
======================================================================
Project: Resin
Issue ID: 5294
Category:
Reproducibility: always
Severity: minor
Priority: normal
Status: closed
Resolution: fixed
Fixed in Version: 4.0.34
======================================================================
Date Submitted: 11-29-2012 20:15 PST
Last Modified: 01-18-2013 11:49 PST
======================================================================
Summary: system-property tag works fine in the foreground
while fail in the background
Description:
i need run two instances (processes) on one host (machine) for the same one
web application.
noly just do it like this:
${RESIN_HOME}/bin/httpd.sh -conf ${APP_ROOT_DIR}/resin-active.conf
${RESIN_HOME}/bin/httpd.sh -conf ${APP_ROOT_DIR}/resin-standby.conf
the different configuration items between resin-active.conf and
resin-standby.conf are as follows:
(1) watchdog listenning port: 6800 in resin-active.conf while 6801 in
resin-standby.conf
(2) http listenning port: 8080 in resin-active.conf while 8081 in
resin-standby.conf
(3) stdout and stderr log file
(4) others ...
i don't want these differences hidden in everywhere of the resin.conf file,
so i put them together
(take them as user-defined variables using system-property tag) on head
lines of the resin.conf.
take resin-active.conf for example, define variables first:
<resin xmlns="http://caucho.com/ns/resin"
xmlns:resin="http://caucho.com/ns/resin/core">
<!--node sensitive configuration items in user applications -->
<system-property mynode.watchdog.port="6801"/>
<system-property mynode.http.port="8081"/>
<system-property mynode.jmx.host="10.10.79.144"/>
<system-property mynode.jmx.port="10087"/>
<system-property mynode.gc.logfile="/opt/adlog/resin-gc-standby.log"/>
<system-property mynode.app.webroot="/root/forecast/WebRoot"/>
<system-property mynode.app.stdout="/opt/adlog/resin-stdout-standby.log"/>
<system-property mynode.app.stderr="/opt/adlog/resin-stder-standby.log"/>
<system-property mynode.app.node="node-standby"/>
<system-property mynode.app.logback="logback-standby.xml"/>
...
then reference the variable where you need
<server-default>
<!-- The http port 8080 -->
<http address="*" port="${mynode.http.port}"/>
...
it works fine when resin runs in the foreground while fail in the
background (no error prompts, watch-dog starts successfully but web-app
unloaded)
in other words:
execute the command ${RESIN_HOME}/bin/httpd.sh -conf
${APP_ROOT_DIR}/resin-active.conf OK
while ${RESIN_HOME}/bin/httpd.sh -conf ${APP_ROOT_DIR}/resin-active.conf
start FAIL
i wander when and where the out-of-the-box variable ${resin.professional}
or ${resin.root} of the following snippet is initialized ?
<management path="${resin.root}/admin">
<user name="admin" password="password" disable="true"/>
<resin:if test="${resin.professional}">
<deploy-service/>
<jmx-service/>
<log-service/>
<xa-log-service/>
</resin:if>
</management>
thanks
======================================================================
----------------------------------------------------------------------
ferg - 01-18-13 11:49
----------------------------------------------------------------------
server/6e51
Issue History
Date Modified Username Field Change
======================================================================
11-29-12 20:15 chinaliwee New Issue
01-18-13 11:49 ferg Note Added: 0006166
01-18-13 11:49 ferg Assigned To => ferg
01-18-13 11:49 ferg Status new => closed
01-18-13 11:49 ferg Resolution open => fixed
01-18-13 11:49 ferg Fixed in Version => 4.0.34
======================================================================