我在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'时。 请指导我解决这个问题
答案 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);