发送消息到 QueueChannel
Sending Message to QueueChannel
我对JMS的了解非常薄弱,请多多包涵。
我正在尝试向队列消息通道发送一条简单的消息。
@Autowired
private MessageChannel myChannel = null;
@Test
public void testRecieveMethod() {
Message m = ((QueueChannel)myChannel).receive();
System.out.println("HELLO");
}
程序像预期的那样挂起,但是当我尝试从另一个程序发送消息时,它似乎没有收到。
private MessageChannel channel = null;
@Test
public void testMessage() {
channel = super.ctx.getBean("myChannel", MessageChannel.class);
jackMessage message = new ameerMessage("Hello my name is jack");
Message<ameerMessage> msg = MessageBuilder.withPayload(message).build();
channel.send(msg, 10000);
}
这是我的 applicationContext
<int:channel id="myChannel">
<int:queue capacity="10"/>
</int:channel>
<jms:inbound-channel-adapter id="JmsAdapter"
connection-factory="connectionFactory"
destination="myQueue"
channel="myChannel">
<int:poller fixed-rate = "1000"/>
</jms:inbound-channel-adapter>
<bean id="myQueue"
class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="MYQUEUE"/>
</bean>
<bean name="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
<value>tcp://localhost:61616</value>
</property>
</bean>
<bean id="myProcessor"
class="com.jack.springintegration.Processor"/>
</beans>
不知道为什么没有收到消息。有人可以帮忙吗?
你说"another program"。如果它真的是另一个程序那么它们是不同的 myChannel
s.
我想你要做的是向 JMS 发送消息,这样第一个程序的 myChannel
将从 JMS 获取消息。
您需要在第二个程序中使用出站通道适配器将消息发送到 JMS 队列。
我对JMS的了解非常薄弱,请多多包涵。
我正在尝试向队列消息通道发送一条简单的消息。
@Autowired
private MessageChannel myChannel = null;
@Test
public void testRecieveMethod() {
Message m = ((QueueChannel)myChannel).receive();
System.out.println("HELLO");
}
程序像预期的那样挂起,但是当我尝试从另一个程序发送消息时,它似乎没有收到。
private MessageChannel channel = null;
@Test
public void testMessage() {
channel = super.ctx.getBean("myChannel", MessageChannel.class);
jackMessage message = new ameerMessage("Hello my name is jack");
Message<ameerMessage> msg = MessageBuilder.withPayload(message).build();
channel.send(msg, 10000);
}
这是我的 applicationContext
<int:channel id="myChannel">
<int:queue capacity="10"/>
</int:channel>
<jms:inbound-channel-adapter id="JmsAdapter"
connection-factory="connectionFactory"
destination="myQueue"
channel="myChannel">
<int:poller fixed-rate = "1000"/>
</jms:inbound-channel-adapter>
<bean id="myQueue"
class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="MYQUEUE"/>
</bean>
<bean name="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
<value>tcp://localhost:61616</value>
</property>
</bean>
<bean id="myProcessor"
class="com.jack.springintegration.Processor"/>
</beans>
不知道为什么没有收到消息。有人可以帮忙吗?
你说"another program"。如果它真的是另一个程序那么它们是不同的 myChannel
s.
我想你要做的是向 JMS 发送消息,这样第一个程序的 myChannel
将从 JMS 获取消息。
您需要在第二个程序中使用出站通道适配器将消息发送到 JMS 队列。