java - 在 Glassfish Web 部署后执行代码

标签 java web-services deployment glassfish web-deployment

<分区>

我正在尝试在 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
  }
}

引用:

关于java - 在 Glassfish Web 部署后执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10603521/

相关文章:

java - 使用 TLSV1 的 cxf webclient 调用 api

java - CXF - 方法参数为空

ruby - Capistrano 3/SSHKit 在自定义任务中写入文件

php - Capistrano 上传 .git 目录

ruby-on-rails - 我正在尝试使用 Ansible 编写部署规则以克隆存储库

java - 如何使用 Graphics2d.setPaint() 在 Java 中快速绘制大型数据集

java - Hibernate Criteria API 中两个属性之间的日期

java - 使用 ExecutorService 并行化循环来执行任务

xml - 从 WSDL 生成请求/响应 XML

java - 从给定句子中提取所有单词并打印它们及其辅音计数