【问题标题】:Application Server and Spring context loading应用服务器和 Spring 上下文加载
【发布时间】:2012-11-21 14:52:01
【问题描述】:

WebSphere Application Server 在其文档之一中有以下注释。我在耳朵级别有应用程序上下文并使用ClassPathXmlApplicationContext,它是AbstractApplicationContext 的子类。但是,不建议这样做。我有哪些选择?我可以在耳朵级别利用哪些生命周期挂钩?另外,请附上任何陷阱或经验教训。

以下场景是 Spring Framework 场景的示例 避免:

注册ShutdownHook

避免使用 Spring Framework AbstractApplicationContext 类和 它的子类。这些类包括公共方法 registerShutdownHook,它创建一个线程并将其注册到 Java 虚拟机 (JVM) 在关机时运行以关闭应用程序 语境。作为替代方案,应用程序可以使用生命周期 注意到它从应用服务器容器接收到调用 在应用程序上下文中显式地关闭方法。

【问题讨论】:

  • 为什么不通过在 web.xml 中连接来使用 WebApplication 上下文?我相信这是与您的网络应用程序一起使用的更好方法。
  • 你在哪里创建你的ClassPathXmlApplicationContext
  • @dinukadev 因为我已经听到了共享共同服务的多场战争
  • @ShyJ 在单例类的静态初始化器中

标签: java spring jakarta-ee websphere


【解决方案1】:

我会使用Singleton Session Bean(在 WebSphere 8+ 的情况下)或 Startup Beans(对于较旧的 Websphere 版本),正如related problem 中所述。

对于Singleton Session Beans,您可以创建一个带有@PreDestroy 注释的方法,它将close AbstractApplicationContext

对于Startup Beans,您可以在stop() 方法中执行相同操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多