2015-05-03 4 views
1

Мои знания о JMS крайне слабы, поэтому, пожалуйста, несите меня.Отправка сообщения в QueueChannel

Я пытаюсь отправить простое сообщение на канал сообщений очереди.

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

Не знаю, где я почему сообщение не идет получено. Может кто-нибудь помочь?

ответ

0

Вы говорите «другая программа». Если это действительно другая программа, то они разные myChannel s.

Я думаю, что вы хотите сделать, это отправить сообщение JMS, чтобы первая программа myChannel получила сообщение от JMS.

Чтобы отправить сообщение в очередь JMS, вам необходимо использовать адаптер исходящего канала во второй программе.

+0

Я действительно посмотрел книгу об интеграции, и она упоминала это где-то. Спасибо, что разъяснил это. – SoftwareDude

Смежные вопросы