我有一堂课
类对象池 { 我的对象 getObject() {...} 无效返回对象(){...} int getUsedCount() {...} }
我们如何使用 Spring 框架,以便它只向所有(Web)应用程序提供这个工厂的一个副本,并且每个应用程序都使用相同的 ObjPool?
我的意思是如果应用程序 A 从这个 ObjPool 中获取一个对象,那么调用 getUsedCount() 的所有其他应用程序都会看到该值递减。
在 Spring 中,默认情况下每个 bean 都是一个单例,这意味着 - 每个 ApplicationContext 都有一个 bean 实例。这不是每个容器一个,而是每个 Web 应用程序一个。
http://blog.springsource.com/2007/06/11/using-a-shared-parent-application-context-in-a-multi-war-spring-application/给出了如何在以下位置加载 ApplicationContext 的示例EAR 级别并在所有战争中共享。
你可以用谷歌搜索“spring export to jndi”
http://maestro-lab.blogspot.com/2009/01/how-to-export-spring-managed-bean-to.html
org.springframework.jndi.JndiTemplate 是一个很好的起点