2016-02-06 2 views
0

У меня есть требование, когда мне нужно получать сообщение от MQ каждые секунды, сообщение будет в формате XML, поэтому мне нужно написать высокоэффективный MDB. Проблема здесь в том, что я новичок в MQ, JMS, Spring JMS и Spring Integration, но не весной.Высокоэффективный MDB с использованием пружинных jms или ntegration

на основе поиска Google до сих пор я могу написать ниже код

MDB

import javax.jms.Message; 
import javax.jms.MessageListener; 
import javax.jms.TextMessage; 

public class MyMessageListener implements MessageListener{ 
    @Override 
    public void onMessage(Message m) { 
     TextMessage message=(TextMessage)m; 
     try{ 
      System.out.println(message.getText()); 
     }catch (Exception e) {e.printStackTrace(); } 
    } 
} 

Xml конфигурации

<?xml version="1.0" encoding="UTF-8"?> 
<beans 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:jms="http://www.springframework.org/schema/jms" 

    xmlns:p="http://www.springframework.org/schema/p" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/jms 
    http://www.springframework.org/schema/jms/spring-jms.xsd"> 

<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" 
p:brokerURL="tcp://localhost:61616" /> 

<bean id="listener" class="com.springexample.MyMessageListener"></bean> 

<jms:listener-container container-type="default" connection-factory="connectionFactory" 
acknowledge="auto"> 
<jms:listener destination="myfirstqueue" ref="listener" method="onMessage"></jms:listener> 
</jms:listener-container> 

</beans> 

Я знаю, что я написал очень основной один, но я не знаю, что является эффективным, как обеспечить поддержку транзакций и как обрабатывать такую ​​нагрузку, где я собираюсь получать сообщения каждую секунду.

Должен ли я использовать Spring JMS или Spring Integration, любая помощь очень ценится.

+0

«XML-сообщение каждые секунды» не очень высокое требование. любая конфигурация mq/configuration может обрабатывать то, что –

+0

, пожалуйста, позвольте мне, какая конфигурация может помочь – sumedha

+0

согласилась, высокомасштабируемое решение - это то, где вы можете обрабатывать 1000 сообщений в секунду, одно сообщение каждые несколько секунд не должно быть если вы не можете обработать сообщение в этот период времени. В этот момент я попытаюсь оптимизировать свою логику приложений и ускорить процесс таким образом. –

ответ

0

вопрос вы спросили есть что использовать: обязательно идти Spring JMS

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