English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
spring과 JMS를 통합하려면, 두 개의 애플리케이션을 생성해야 합니다.
JMS 리시버 애플리케이션 JMS Sender应用程序
spring을 사용하여 JMS 애플리케이션을 생성하려면, Apache의를 사용합니다. Active MQ Server 큐를 생성하세요.
JMS를 사용하여 spring 애플리케이션을 통합하는 간단한 단계를 보겠습니다.
1필요한 jar 파일을 추가하세요 spring core , spring misc , spring aop , spring j2ee 와 spring 지속성 핵심 jar 파일.
spring의 모든 jar 파일을 다운로드하세요. aop, mvc, j2ee, remoting, oxm 등.
2추가 activemqall5. 9.jar 파일은 activemq 디렉토리에 위치하고 있습니다.
Active MQ 서버를 다운로드하여 Active MQ를 다운로드하세요
이 파일을 더블 클릭하세요 activemq.bat 파일은 apache에 위치하고 있습니다.-activemq-5.9.1-bin \ apache-activemq-5.9.1 \ bin \ win64또는 win32디렉토리에 있습니다.
지금 ActiveMQ 서버 컨트롤台가 열립니다.
빈도를 통해 http://localhost:8161/admin/ActiveMQ 서버의 관리 컨트롤台에 접속하는 주소를 방문하세요.
지금, 클릭하세요 큐 링크그런 다음, 텍스트 필드에 입력하세요 myqueue 그런 다음, 생성 버튼을 클릭하세요
그럼让我们看一下将spring 애플리케이션을 JMS와 통합하는 간단한 단계를 보겠습니다:
MyMessageListener.java TestListener.java applicationContext.xml
1)MyMessageListener.java
package com.w3codebox; 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();} } }
2)TestListener.java
package com.w3codebox; import org.springframework.context.support.GenericXmlApplicationContext; public class TestListener { public static void main(String[] args) { GenericXmlApplicationContext ctx=new GenericXmlApplicationContext(); ctx.load("classpath:applicationContext.xml"); ctx.refresh(); while(true){} } }
3)applicationContext.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-3.0.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd"> <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> p:brokerURL="tcp://localhost:61616" /> <bean id="listener" class="com.w3codebox.MyMessageListener"></bean> <jms:listener-container container-type="default" connection-factory="connectionFactory" acknowledge="auto"> <jms:listener destination="myqueue" ref="listener" method="onMessage"></jms:listener> </jms:listener-container> </beans>
그럼让我们看一下创建JMS Sender应用程序的文件:
MyMessageSender.java TestJmsSender.java applicationContext.xml
1)MyMessageListener.java
package com.w3codebox; import javax.jms.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessageCreator; import org.springframework.stereotype.Component; @Component("messageSender") public class MyMessageSender { @Autowired private JmsTemplate jmsTemplate; public void sendMessage(final String message){ jmsTemplate.send(new MessageCreator(){ @Override public Message createMessage(Session session) throws JMSException { return session.createTextMessage(message); } }); } }
2)TestJmsSender.java
package com.w3codebox; import org.springframework.context.support.GenericXmlApplicationContext; public class TestJmsSender { public static void main(String[] args) { GenericXmlApplicationContext ctx=new GenericXmlApplicationContext(); ctx.load("classpath:applicationContext.xml"); ctx.refresh(); MyMessageSender sender=ctx.getBean("messageSender",MyMessageSender.class); sender.sendMessage("hello jms3"); } }
3)applicationContext.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:context="http://www.springframework.org/schema/context" 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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd"> <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> p:brokerURL="tcp://localhost:61616" /> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <constructor-arg name="connectionFactory" ref="connectionFactory"></constructor-arg> <property name="defaultDestinationName" value="myqueue"></property> </bean> context:component-scan base-package="com.w3codebox></context:component-scan> </beans>