Java EE 企业应用程序:在部署/启动时执行一些操作
我想在部署我的应用程序(具有业务逻辑、EJB 和客户端、Web 的企业应用程序)后立即执行某些操作。 例如,我想让某个实体处于持久状态,或者以其他方式创建一个文件。 我怎样才能做到这一点?
谢谢。
I would like to perform some action as soon as my application (Enterprise Application with Business Logic, EJB, and a Client, Web) is deployed.
For example I would like to make some entity in a persistent state, or otherwise create a file.
How can I do that?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
配置
SerlvetContextListener
并覆盖contextInitilized( )
在您的 Web 应用程序描述中,web.xml
Configure
SerlvetContextListener
and overridecontextInitilized()
in your web application description , web.xml
“默认”方式是使用带有 init() 方法的 servlet。然后在 servlet-descriptor 中,将此 servlet 标记为 load-on-startup 1:
示例:
一旦部署 servlet(在部署 EJB 之后发生),就会调用 init() 方法,并且您可以执行该任务你想要的。
The "default" way is to have a servlet with an init() method. Then in the servlet-descriptor you mark this servlet as load-on-startup 1:
Example:
As soon as the servlet is deployed (which happens after the EJBs are deployed), that init() method is called and you can execute the task you want.
对于当前的 Web 应用程序,最简单的方法是使用 ServletContextListener,否则在 EJB 3.1 中,您可以使用自动计时器或启动单例会话 bean。
With present web application in your ear, the easiest and simplest would be to use ServletContextListener, otherwise in EJB 3.1 you could use automatic timers or startup singleton session beans.