getDefaultDestination()返回null值

时间:2015-09-13 10:26:40

标签: java spring jms javabeans

我在eclipse(Kepler)中创建了动态Web项目。在我的应用程序中,我使用了Spring,JMS,ActiveMQ& JSF。在我的java类中使用以下代码来获取bean xml中的defaultdestination定义。

import javax.jms.Message;
import javax.jms.TextMessage;
import org.springframework.jms.core.JmsTemplate;


public class JmsReceiver {
    private JmsTemplate jmsTemplate;

public JmsTemplate getjmsTemplate() {

    return jmsTemplate;

}

public void setjmsTemplate(JmsTemplate jmsTemplate) {

    this.jmsTemplate = jmsTemplate;

}

public void processMessage() {


    System.out.println("DefaultDestination :"+jmsTemplate.getDefaultDestination());


}

}

我的bean定义是:

<bean id="defaultDestination" class="org.apache.activemq.command.ActiveMQQueue"></bean>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">  
<property name="connectionFactory" ref="connectionFactory"></property>
<property name="defaultDestination"><ref bean="defaultDestination"/></property>
<property name="defaultDestinationName" value="myqueue"></property>  
</bean> 

但是在运行'DefaultDestination:null'时。 请指导我解决这个问题

1 个答案:

答案 0 :(得分:0)

<bean id="demoQueueDestination" class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg><!-- 设置消息队列的名字 -->
         <value>Jaycekon</value>
    </constructor-arg>
</bean>   

ActiveMQDestination destination = (ActiveMQDestination) jmsTemplate.getDefaultDestination();
System.out.println(Thread.currentThread().getName() + " 向队列" + destination.getPhysicalName() + "发送消息---------------------->" + msg);