我们有 Web应用程序公开 Web资源(REST)和 JMS MessageListener 。 Spring是用于定义和注入bean的框架。
我们在范围“ request ”中定义了bean,以存储可用于Web资源的信息。我们也希望在JMS MessageListener中使用这些bean,但“请求”范围不存在并导致异常。
此问题的一个解决方案是使用Spring的“ SimpleThreadScope ”实现的“ thread ”类型的自定义作用域。但是这个类中没有实现bean的破坏。我知道有一种方法可以通过“Spring自定义作用域示例线程”来实现它,但我更喜欢让Application Server管理线程池。
您对此问题有任何其他想法/建议吗?
重要方面:在范围中创建的bean由资源和JMS消息侦听器使用。
我们举一个例子。 想象一下,我们有以下几个类:
“ Service1 ”使用“ BeanInScope1 ”,“ Service1 ”可以通过“ WebResource1 <”进行调用/ strong>“或” MessageListener1 “,表示” WebResource1 “和” WebResource1 “以相同的方式创建” BeanInScope1 “的 MessageListener1 ”。
希望这个例子能够帮助......