码头开始了两次

时间:2012-02-22 16:30:28

标签: jetty guice

我的应用程序中发生了一个奇怪的情况,Guice EagerSingleton中的一些代码正在运行两次。我打印了一个堆栈跟踪(下图),它显示了两次调用jetty的public static main。我在哪里可以错过配置它?

//Stack trace (Is printing in logs twice)
at com.ea.wsop.GraphiteReporterConfig.<init>(GraphiteReporterConfig.java:50)
at com.ea.wsop.GraphiteReporterConfig$$FastClassByGuice$$22005e5b.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
...
at org.eclipse.jetty.start.Main.invokeMain(Main.java:477)
at org.eclipse.jetty.start.Main.start(Main.java:623)
at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:273)
at org.eclipse.jetty.start.Main.main(Main.java:81)

我正在运行Jetty 7.2.2&amp; Guice版本3.0,请评论哪些其他配置文件在此处发布有用。

2 个答案:

答案 0 :(得分:1)

想出来,

我在/home/j2play/j2play/jetty/contexts/app.xml中设置了网络应用程序,它位于标准的Jetty / webapps目录中,所以jetty正在扫描并自动启动它。我把我的战争移到标准位置以外,它运作良好。

答案 1 :(得分:1)

或者您可以使用 webapp提供程序或上下文提供程序,但在这种情况下不能同时使用

我喜欢个人使用上下文,更灵活。

只需删除start.ini中的jetty-webapps.xml行

即可