我需要在应用程序服务器(JBoss)启动后执行一些代码。
我搜索了可能证明有用的注释@startup
和@create
,但在这种情况下,使用EntityManager
或Hibernate
当前会话(如果使用Hibernate)操作似乎是不可能的
JBoss启动后是否有机会立即执行Hibernate操作?
答案 0 :(得分:2)
您使用的是框架吗?如果没有,您可以使用启动servlet。在web.xml
中,只需将servlet标记为<load-on-startup>
值,它将在webapp启动时运行。如果您希望在其他servlet之后加载它,只需设置加载顺序。
如果您使用的是框架,它将拥有自己的方法,例如Spring的InitializingBean
接口。
答案 1 :(得分:0)
您可以部署自定义JBoss服务,或者只是在战争中使用普通的旧便携式ServletListener。