1

我有一堂课

类对象池 {
 我的对象 getObject() {...}
 无效返回对象(){...}
 int getUsedCount() {...}
}

我们如何使用 Spring 框架,以便它只向所有(Web)应用程序提供这个工厂的一个副本,并且每个应用程序都使用相同的 ObjPool?

我的意思是如果应用程序 A 从这个 ObjPool 中获取一个对象,那么调用 getUsedCount() 的所有其他应用程序都会看到该值递减。

4

2 回答 2

3

在 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 级别并在所有战争中共享。

于 2010-03-24T12:02:12.013 回答
1

你可以用谷歌搜索“spring export to jndi”

http://maestro-lab.blogspot.com/2009/01/how-to-export-spring-managed-bean-to.html

org.springframework.jndi.JndiTemplate 是一个很好的起点

于 2010-03-24T11:54:59.030 回答