Resin system-property tag works fine in Resin 4.X resin
程序员文章站
2024-03-21 20:42:52
...
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 ======================================================================