首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring 3 MDP中的自动装配

Spring 3 MDP中的自动装配
EN

Stack Overflow用户
提问于 2013-04-26 18:34:58
回答 1查看 1.4K关注 0票数 0

首先,我检查了发布新问题时出现的一些可能的答案,但没有遇到与我的问题有关的交易。

我有一个Spring MDP,它可以很好地工作,也就是可以接收消息。问题是,当我尝试自动绑定依赖项时,自动绑定似乎不起作用。我使用的是Netbeans和Glassfish 3.1.2,因此我可以逐步执行代码,并确认依赖项为空。应用程序的其他部分中的自动装配工作正常。MDP在组件扫描中被拾取。

我使用来自springsource的示例来创建我的MDP:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jms.html

并且我已经通过setter方法自动连接了依赖项。

我搞不懂为什么这不管用。我已经检查过了,我不认为其他人有这个问题。

任何想法,在正确的方向,我可以参考的例子,将非常感谢。

谢谢。

KSS

MDP类:

代码语言:javascript
复制
public class ExampleListener implements MessageListener {

    private Transformer transformer;
    private MurexService murexService;

    @Autowired
    public void setTransformer(Transformer transformer) {
        this.transformer = transformer;
    }

    @Autowired
    public void setMurexService(MurexService murexService) {
        this.murexService = murexService;
    }

    @Override
    public void onMessage(Message message) {
        if (message instanceof TextMessage) {
            try {
                System.out.println(((TextMessage) message).getText());
            } catch (JMSException ex) {
                throw new RuntimeException(ex);
            }
        } 
    }
}

ApplicationContext:

代码语言:javascript
复制
<jee:jndi-lookup id="connectionFactory" jndi-name="jms/QueueConnectionFactory" />  
<jee:jndi-lookup id="testQueueOne" jndi-name="jms/ITFS_RECEIVE" /> 

<!-- this is the Message Driven POJO (MDP) -->
<bean id="messageListener" class="com.scm.service.ExampleListener" />


<!-- and this is the message listener container -->
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="connectionFactory"/>
    <property name="destination" ref="testQueueOne"/>
    <property name="messageListener" ref="messageListener" />
</bean>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 19:57:03

需要注册一个AutowiredAnnotationBeanPostProcessor以便在@Autowired字段中进行连接。javadoc有更多细节。有关类似问题的解决方案,请参阅here

从本质上讲,添加这个应该会让自动装配工作起来:

代码语言:javascript
复制
<context:annotation-config/>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16234376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档