У меня есть требование, когда мне нужно получать сообщение от 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, любая помощь очень ценится.
«XML-сообщение каждые секунды» не очень высокое требование. любая конфигурация mq/configuration может обрабатывать то, что –
, пожалуйста, позвольте мне, какая конфигурация может помочь – sumedha
согласилась, высокомасштабируемое решение - это то, где вы можете обрабатывать 1000 сообщений в секунду, одно сообщение каждые несколько секунд не должно быть если вы не можете обработать сообщение в этот период времени. В этот момент я попытаюсь оптимизировать свою логику приложений и ускорить процесс таким образом. –