2013-08-06 29 views
0

我正在使用Debian OS和tomcat6。puppet tomcat6服務不接收環境變量

我出口CATALINA_OPTS = 「 - Xms1024m -Xmx2048m」 環境變量,創建一個傀儡服務:作爲/usr/share/tomcat6/bin/catalina.sh讀取CATALINA_OPTS變量開始的tomcat6服務

class tomcat6::service { 
    service { 'tomcat6': 
     ensure => running, 
     hasstatus => true, 
     hasrestart => true, 
     enable => true, 
    } 
} 

,該進程應該接收CATALINA_OPTS,但它不會顯示在進程命令中。我執行ps aux|grep catalina顯示該命令的細節:

tomcat6 10658 1.0 2.0 2050044 189572 ?  Sl 18:04 0:16 /usr/lib/jvm/default-  java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tomcat6-tmp org.apache.catalina.startup.Bootstrap start 

木偶不能正常接收CATALINA_OPTS。

我的問題是,如何讓puppet在執行puppet tomcat6服務時讀取CATALINA_OPTS?

謝謝。

回答

0

代替

hasstatus => true, 

hasstatus => false, 

通過這樣做,你將迫使傀儡來查找PROC表,並找出守護或者換句話說,這將使木偶運行ps auxw | grep tomcat6在做任何事之前。

hasstatus => true告訴,如果傀儡收到status != running它會做的指示,但在某些情況下,有幾個進程不返回正確的狀態(可能是由於多發線程參與)

+0

感謝您的及時回覆。對不起,我不太瞭解在將hasstatus更改爲false後它是如何解決問題的。 我希望CATALINA_OPTS將包含proc命令,但它不會。 hasstatus => false不能解決問題。你可以提供更詳細的信息嗎?謝謝。 –

0

我通過設置固定SETENV問題.sh for tomcat6。它正常工作。