【问题标题】:Automatically instantiate a class in a war file that is newly deployed在新部署的war文件中自动实例化一个类
【发布时间】:2018-05-16 14:37:56
【问题描述】:

想象一下,我想确保该类在部署到它所包含的战争的 Tomcat 中时被实例化。

例如,一个类有一个静态初始化程序,它启动一个定期打印 CPU 使用率的线程。我需要这个类在 Tomcat 加载战争后立即开始监控。

有没有一种方法可以做到这一点,而不必调用具有此类引用的 Servlet,以便 ClassLoader 加载它并执行静态初始化程序?

【问题讨论】:

  • 使用 servlet 上下文侦听器来完成这项工作。检查docs.oracle.com/javaee/6/api/javax/servlet/…
  • @ErnestKiwele 我也想过这个问题,但我只是想知道是否有像onExplode 这样的回调,我喜欢这个问题!
  • 应用程序的生命周期开始得太晚了。如果你需要这么早做一些事情,也许你应该嵌入容器。
  • 您好 Ernest,您的解决方案对我来说很好用。如果您创建回复而不是评论,我会将其设置为有效。谢了。

标签: java


【解决方案1】:

comment above 中所述,您可以使用 servlet 上下文侦听器来完成这项工作。 This answer 展示了如何实现该类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    相关资源
    最近更新 更多