【问题标题】:Execute code after Glassfish Web Deployment [duplicate]Glassfish Web部署后执行代码[重复]
【发布时间】:2012-05-15 15:00:31
【问题描述】:

我正在尝试在 Glassfish 上运行 Java Web 服务。有一些初始化代码设置一些变量并从 Glassfish 环境本身检索一些信息。 我在@WebService 类中的静态初始化程序中有该代码,但是该代码似乎调用得太早了,它会在部署 WebService 端点后立即运行,而我需要它在整个 Web 服务成功部署后运行.

我尝试将代码移动到 WebService 类的构造函数中,但是只有当我进入 Tester 网页并发送一些数据以使 Web 方法运行时,该代码才会运行。

有什么方法可以设置一些初始化代码在整个 Web 服务部署完成后立即运行?

【问题讨论】:

    标签: java web-services deployment glassfish web-deployment


    【解决方案1】:

    选项 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
      }
    }
    

    参考:

    【讨论】:

      【解决方案2】:

      是的@Jaynathan Leung,您可以使用soapUI 部署Web 服务并使用输入和输出数据测试您的编程。我希望能帮助你。 :)

      【讨论】:

      • 对不起,我不是要测试代码,而是要让代码在部署时自动运行。当我从 Netbeans 运行代码时,静态初始化程序确实有效,但是当我通过 ./asadmin deploy WebService.war 在 glassfish 上部署 .WAR 时,似乎运行代码太早了。
      • 用soapUI你能部署WAR文件这个服务于代码运行,希望能理解你。 :)。尝试使用soapUI,并告诉我是否对您有帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多