我正在尝试在 Glassfish 上运行 Java Web 服务。有一些初始化代码可以设置一些变量并从 Glassfish 环境本身检索一些信息。
我在 @WebService 类中的静态初始值设定项中有该代码,但是该代码似乎调用得太早,它会在部署 WebService 端点后立即运行,而我需要在成功部署整个 Web 服务后运行它.
我尝试将代码移动到 WebService 类的构造函数中,但是只有当我进入测试器网页并发送一些数据以使 Web 方法运行时,该代码才会运行。
有什么方法可以设置一些初始化代码,以便在整个 Web 服务部署完成后立即运行?
选项 1:在 Glassfish 中,您有 Lifecycle modules
选项 2:
您还可以编码 ServletContextListener加载上下文时触发:
public class MyServlet implements ServletContextListener {
public void contextInitialized(ServletContextEvent e) {
// implementation code
}
public void contextDestroyed(ServletContextEvent e) {
// implementation code
}
}
引用: