当前位置: 首页 > 面试题库 >

Glassfish Web部署后执行代码

养聪
2023-03-14
问题内容

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

我尝试将代码移到WebService类的构造函数中,但是只有当我进入Tester网页并发送一些数据以使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的示例


 类似资料:
  • 问题内容: 我有一个Java EE应用程序,该应用程序在部署后应该与外部系统启动一次同步过程。 我该如何执行此要求? 问题答案: 我测试了使用和注释的建议解决方案。事实证明,Glassfish不会在完成所有带有注释的方法之前完成应用程序的部署。因此,就我而言,部署将需要几分钟到一个小时。 但是我想出了一种实现我想要的东西的不同方法。最好的解决方案似乎是计时器回调方法,该方法在执行后取消其计时器。

  • 问题内容: 如果您曾经参与过Salesforce项目的部署或为SF项目设置持续集成,那么您应该知道,在部署元数据组件(类,页面等)之后,您通常还需要执行一些手动任务,例如填充自定义设置值或设置配置文件的字段级安全性。有很多这样无聊的动作。 在我当前的项目中,我再次面对它,我正在寻找如何最大程度地自动化它的方法。为了将项目部署到Org,我们使用Jenkins + Git。因此,我希望例如在每次部署后

  • 最简单的部署 git clone git@github.com:i5ting/shop-api.git git clone git@github.com:i5ting/shop-admin.git git clone git@github.com:i5ting/shop-h5.git ftp上传 前提是在服务器上部署ftp服务器 推荐使用gulp和ftp部署 https://github.com

  • 我写了一个fastapi应用程序。现在我正在考虑部署它,但是我似乎遇到了奇怪的意外性能问题,这似乎取决于我使用的是uvicorn还是gunicorn。特别是,如果我使用gunicorn,所有代码(甚至是标准库纯python代码)似乎都会变慢。为了进行性能调试,我编写了一个小应用程序来演示这一点: 运行Fastapi Appi与: get to的共振体始终类似于: 然而使用: 我经常得到这样的时机

  • 使用部署云功能失败,出现以下消息, 错误:(gcloud.beta.functions.deploy)操作错误:代码=13,消息=执行环境中失败 在云函数日志中找不到有关错误的详细信息。 使用跟踪在云SDK目录中调用的函数,并以显示以下错误结束, FunctionError:OperationError:code=13,message=execution environment失败错误:(gclo

  • 二进制运行 git clone https://github.com/apache/shardingsphere-ui.git; 运行 mvn clean install -Prelease; 获取安装包 /shardingsphere-ui/shardingsphere-ui-distribution/target/apache-shardingsphere-${latest.release.v