Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0005294 [Resin] minor always 11-29-12 20:15 01-18-13 11:49
Reporter chinaliwee View Status public  
Assigned To ferg
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.34 Product Version 3.1.0
  Product Build
Summary 0005294: 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
Steps To Reproduce
Additional Information
Attached Files

- Relationships

- Notes
(0006166)
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


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed.
26 unique queries executed.
Powered by Mantis Bugtracker