Spring MDP线程安全资源池

时间:2012-06-20 19:55:43

标签: spring message-driven-bean spring-jms

正在从EJB2.0开始Spring迁移。 在现有的MessageListener中,我们缓存了一些重量级对象,因为它在初始阶段使用了反射和复杂操作,例如JAXB对象。 示例我们将100作为侦听器最大大小,因为EJB侦听器创建了100个对象,我们没有线程安全问题。 当我尝试使用Spring 2.5时,MDP与单个侦听器对象是多线程的 所以我们遇到了listner类级别对象的问题,我们无法提供线程对象。我使用Spring.aop.target.CommonsPoolTargetSource和proxyFactoryBean来聚合重量级实例,但实例不是线程安全的,它可能会破坏期望。 我试图找出这个问题的解决方案,我得到了一些信息,因为我们可以使用类和使用process(),我们不想实现监听器类,但我们需要配置jmscontainer,但我们的团队想要一个标准的方式去做这个。由于项目可能会增长并且需要遵循框架模式,因此需要一些标准。

请帮助我解决这个实现MessageListener和onMessage的类中的线程安全资源池作为获取消息的方法。但我们需要线程安全资源。 我正在处理这个问题,并且无法弄清楚这个问题。

提前感谢您提出解决此问题的标准方法。

0 个答案:

没有答案