当Monit启动时,Spring无法连接到数据库

时间:2017-02-14 13:07:35

标签: spring hibernate grails spring-security monit

我有一个运行grails 1.1(后者又使用hibernate)应用程序的Jetty 6服务器。由于有时它会下降,我希望如果发生某些事情会自动重启。所以,我听说Monit并决定尝试一下。我创建了以下配置:

check process jetty with pidfile /var/run/jetty.pid
  group nfetron
  start program = "/data/ebs/NFeTron/bin/jetty.sh start"
  stop program = "/data/ebs/NFeTron/bin/jetty.sh stop"
  if failed host "localhost" port 8090 protocol HTTP with timeout 10 seconds then restart
  if mem usage > 95% for 11 cycles then restart

嗯,问题是当Monit启动Jetty时,它无法正常运行。它无法连接到数据库,如以下日志中所示:

2017-02-13 21:35:34.356::INFO:  jetty-6.1.14
2017-02-13 21:35:34.404::INFO:  Deploy /data/ebs/NFeTron/contexts/javadoc.xml -> org.mortbay.jetty.handler.ContextHandler@153f5a29{/javadoc,file:/data/ebs/NFeTron/java$
2017-02-13 21:35:34.536::INFO:  No Transaction manager found - if your webapp requires one, please configure one.
2017-02-13 21:35:34.875::INFO:  No Transaction manager found - if your webapp requires one, please configure one.
2017-02-13 21:35:35.404::INFO:  No Transaction manager found - if your webapp requires one, please configure one.
2017-02-13 21:35:37.337:/NFeTron:INFO:  Initializing Spring root WebApplicationContext
loading security config ...
2017-02-13 21:35:54.383::WARN:  Failed startup of context org.mortbay.jetty.webapp.WebAppContext@770c2e6b{/NFeTron,file:/data/ebs/NFeTron/webapps/NFeTron/}
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource': Initialization of bean failed; nested exception is org.springfr$
        at java.security.AccessController.doPrivileged(Native Method)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactor$
        at java.security.AccessController.doPrivileged(Native Method)
        ... 1 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Invocation of init method failed; nested exception $
        at java.security.AccessController.doPrivileged(Native Method)
        ... 2 more
Caused by: java.lang.NullPointerException
        ... 3 more
2017-02-13 21:35:54.384::WARN:  Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource': Initialization of bea$
java.lang.NullPointerException
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessController.doPrivileged(Native Method)
2017-02-13 21:35:54.390::INFO:  Opened /data/ebs/NFeTron/logs/2017_02_13.request.log
2017-02-13 21:35:54.456::INFO:  Started SelectChannelConnector@0.0.0.0:8090

我经常搜索,无法找到任何面临同样问题的人。当我使用SSH(使用root用户)启动应用程序时,它可以正常工作。但是当Monit启动它时(假设是root用户),它并没有。有没有人对这个问题有任何线索?

0 个答案:

没有答案