启动后在JBoss上执行代码
问题描述:
我需要在应用程序服务器(JBoss)启动后执行一些代码。启动后在JBoss上执行代码
我用Google搜索的注释@startup
和@create
可能证明是有用的,但在这种情况似乎与impossibile或EntityManager
当前Hibernate
会话来操作(如果使用Hibernate)。
在JBoss启动后,是否有机会立即执行Hibernate操作?
答
您使用的是框架吗?如果没有,您可以使用启动servlet。在您的web.xml
中,只需将该servlet标记为具有<load-on-startup>
值,并且它将在webapp启动时运行。如果您希望在其他servlet之后加载,请设置加载顺序。
如果你使用的是框架,它将会有自己的方法,比如Spring的InitializingBean
接口。
+0
嗯,我使用Resteasy,但我一直在寻找Resteasy的“外部”解决方案,以便轻松切换到Jersey或其他Java REST Framework未来。我会尝试使用这种servlet。 – thermz 2012-01-11 08:41:32
答
你可以部署一个自定义的JBoss服务,或者在一场战争中使用普通的旧便携式ServletListener。
可以参考http://community.jboss.org/wiki/ExampleHelloWorldService – 2012-01-10 17:01:13