我正在尝试在 Glassfish 上运行 Java Web 服务。有一些初始化代码设置一些变量并从 Glassfish 环境本身检索一些信息。
我在 @WebService 类内的静态初始化程序中拥有该代码,但是该代码似乎被调用得太早,它在部署 WebService 端点后立即运行,而我需要它在整个 Web 服务成功部署后运行。
我尝试将代码移动到 WebService 类的构造函数中,但是只有当我进入测试器网页并发送一些数据以使 Web 方法运行时,该代码才会运行。
有什么方法可以设置一些初始化代码在整个 Web 服务部署完成后立即运行吗?
选项1:在 Glassfish 中你有生命周期模块
选项2:您还可以编写代码ServletContextListener加载上下文时触发:
public class MyServlet implements ServletContextListener {
public void contextInitialized(ServletContextEvent e) {
// implementation code
}
public void contextDestroyed(ServletContextEvent e) {
// implementation code
}
}
参考:
- 关于生命周期模块
- ServletContextListener 示例
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)