Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring3MDP中的自动布线_Spring - Fatal编程技术网

Spring3MDP中的自动布线

Spring3MDP中的自动布线,spring,Spring,首先,我检查了在发布新问题时出现的一些可能的答案,没有一个是关于我的问题的 我有一个Spring MDP,它可以很好地工作,即可以接收消息。问题是,当我尝试自动关联依赖项时,自动关联似乎不起作用。我使用的是Netbeans和Glassfish 3.1.2,因此我能够逐步完成代码并确认依赖项为空。应用程序其他部分的自动布线工作正常。在组件扫描中拾取MDP 我使用springsource中的示例创建了我的MDP: 我已经通过setter方法自动连接了依赖项 我不明白为什么这行不通。我已经检查过了,

首先,我检查了在发布新问题时出现的一些可能的答案,没有一个是关于我的问题的

我有一个Spring MDP,它可以很好地工作,即可以接收消息。问题是,当我尝试自动关联依赖项时,自动关联似乎不起作用。我使用的是Netbeans和Glassfish 3.1.2,因此我能够逐步完成代码并确认依赖项为空。应用程序其他部分的自动布线工作正常。在组件扫描中拾取MDP

我使用springsource中的示例创建了我的MDP:

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

我不明白为什么这行不通。我已经检查过了,我认为没有其他人有过这个问题

任何我可以参考的想法、正确方向的指针、例子都将不胜感激

谢谢

KSS

MDP类:

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);
            }
        } 
    }
}
应用程序上下文:

<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>

需要在@Autowired字段中注册An以进行布线。javadoc有更多的细节。有关类似问题的解决方案,请参阅

从本质上讲,添加此选项应该可以使自动布线正常工作:

<context:annotation-config/>

需要在@Autowired字段中注册An以进行布线。javadoc有更多的细节。有关类似问题的解决方案,请参阅

从本质上讲,添加此选项应该可以使自动布线正常工作:

<context:annotation-config/>


如果您将您编写的代码包括在内,将会有所帮助。抱歉。我应该加进去的。嗨,艾文。我已经编辑了我的帖子,并添加了MDP类和部分applicationContext。如果有任何更多的代码,我应该张贴请让我知道。谢谢你看一下。如果你把你写的代码包括进来会有帮助的。抱歉。我应该加进去的。嗨,艾文。我已经编辑了我的帖子,并添加了MDP类和部分applicationContext。如果有任何更多的代码,我应该张贴请让我知道。感谢您的关注。Biju,我已经阅读了您对类似问题解决方案的评论。这让我想起了不同的工作环境。因此,我向DispatcherServlet添加了jndi查找和bean定义xml代码,解决了这个问题。我想我需要刷新我的记忆,阅读更多关于上下文的内容。谢谢你的帮助。非常感谢:-)对不起,比丘,我不能投票赞成。我还没有15个信誉点。这是一般注释的问题,您仍然需要将它们全部打开,因此我更喜欢用xml来完成这一切:)好的。也许可以同时使用xml和注释。所以我想知道为什么Spring的人会选择这个。Biju,我已经阅读了你对类似问题解决方案的评论。这让我想起了不同的工作环境。因此,我向DispatcherServlet添加了jndi查找和bean定义xml代码,解决了这个问题。我想我需要刷新我的记忆,阅读更多关于上下文的内容。谢谢你的帮助。非常感谢:-)对不起,比丘,我不能投票赞成。我还没有15个信誉点。这是一般注释的问题,您仍然需要将它们全部打开,因此我更喜欢用xml来完成这一切:)好的。也许可以同时使用xml和注释。所以我想知道为什么Spring的人会选择这个。应将其作为默认设置启用。