我有一个多模块 Maven 项目。其中一个模块是一个包含一些 spring bean 的 util 层。我想在其他模块中共享相同的spring bean。
其他模块部署为不相关的Web 应用程序,因此理想情况下,我的 util beans 应该是单例,并且在所有 Web 应用程序中我只会对这些单例有一个引用。
我找到了一些用于共享 Spring Web 应用程序上下文的链接,但它们似乎在同一个 .ear 中工作,但就我而言,我有不同的 Web 应用程序。
有办法做到这一点吗?
不容易。应用程序服务器为每个应用程序使用一个类加载器,这意味着ClassCastException即使您设法将引用从创建 bean 的应用程序传递到另一个应用程序,您也会得到 s 。
您需要在应用程序服务器启动时定义 bean。将 bean 的代码放入应用程序服务器的类路径中,并检查如何设置 JNDI 上下文的文档。JNDI 上下文允许您共享全局资源(例如数据库连接)。
| 归档时间: |
|
| 查看次数: |
4200 次 |
| 最近记录: |