Mantis Bugtracker
  

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

- Relationships

- Notes
(0006166)
ferg
01-18-13 11:49

server/6e51
 

- Issue History
Date Modified Username Field Change
11-01-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