Last active
August 29, 2015 14:25
-
-
Save arsenik/d3c88153b2730890dcc6 to your computer and use it in GitHub Desktop.
JMS send message to ActiveMQ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.jlevasseur.app; | |
import javax.jms.Queue; | |
import org.apache.activemq.command.ActiveMQQueue; | |
import org.springframework.context.ApplicationContext; | |
import org.springframework.context.support.ClassPathXmlApplicationContext; | |
public class App | |
{ | |
public static void main( String[] args ) { | |
ApplicationContext context = new ClassPathXmlApplicationContext("app-context.xml"); | |
JmsMessageSender jmsMessageSender = (JmsMessageSender)context.getBean("jmsMessageSender"); | |
Integer i = 0; | |
while (i < 100000) { | |
i++; | |
jmsMessageSender.send("Today is Sunday! "+i); | |
} | |
// Queue queue = new ActiveMQQueue("AnotherDest"); | |
// jmsMessageSender.send(queue, "Hola!"); | |
((ClassPathXmlApplicationContext)context).close(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.jlevasseur.app; | |
import javax.jms.Destination; | |
import javax.jms.JMSException; | |
import javax.jms.Message; | |
import javax.jms.Session; | |
import org.apache.activemq.command.ActiveMQQueue; | |
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.jms.core.JmsTemplate; | |
import org.springframework.jms.core.MessageCreator; | |
import org.springframework.stereotype.Service; | |
@Service | |
public class JmsMessageSender { | |
@Autowired | |
private JmsTemplate jmsTemplate; | |
public void send(final String text) { | |
this.jmsTemplate.send(new MessageCreator() { | |
@Override | |
public Message createMessage(Session session) throws JMSException { | |
Message message = session.createTextMessage(text); | |
message.setJMSReplyTo(new ActiveMQQueue("Recv2send")); | |
return message; | |
} | |
}); | |
} | |
public void sendText(final String text) { | |
this.jmsTemplate.convertAndSend(text); | |
} | |
public void send(final Destination dest, final String text) { | |
this.jmsTemplate.send(dest, new MessageCreator() { | |
@Override | |
public Message createMessage(Session session) throws JMSException { | |
Message message = session.createTextMessage(text); | |
message.setJMSReplyTo(new ActiveMQQueue("Recv2send")); | |
return message; | |
} | |
}); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>com.jlevasseur.app</groupId> | |
<artifactId>my-app</artifactId> | |
<packaging>jar</packaging> | |
<version>1.0-SNAPSHOT</version> | |
<name>my-app</name> | |
<url>http://maven.apache.org</url> | |
<properties> | |
<!-- Spring version --> | |
<spring-framework.version>4.1.0.RELEASE</spring-framework.version> | |
<!-- ActiveMQ version --> | |
<activemq.version>5.10.0</activemq.version> | |
</properties> | |
<dependencies> | |
<!-- Spring aritifacts --> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-context</artifactId> | |
<version>${spring-framework.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-jms</artifactId> | |
<version>${spring-framework.version}</version> | |
</dependency> | |
<!-- ActiveMQ Artifacts --> | |
<dependency> | |
<groupId>org.apache.activemq</groupId> | |
<artifactId>activemq-spring</artifactId> | |
<version>${activemq.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>junit</groupId> | |
<artifactId>junit</artifactId> | |
<version>3.8.1</version> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>javax.servlet</groupId> | |
<artifactId>servlet-api</artifactId> | |
<version>2.5</version> | |
</dependency> | |
</dependencies> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-compiler-plugin</artifactId> | |
<version>2.5.1</version> | |
<configuration> | |
<source>1.7</source> | |
<target>1.7</target> | |
</configuration> | |
</plugin> | |
</plugins> | |
</build> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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:beans="http://www.springframework.org/schema/beans" | |
xmlns:context="http://www.springframework.org/schema/context" | |
xsi:schemaLocation=" | |
http://www.springframework.org/schema/beans | |
http://www.springframework.org/schema/beans/spring-beans.xsd | |
http://www.springframework.org/schema/context | |
http://www.springframework.org/schema/context/spring-context.xsd"> | |
<context:component-scan base-package="com.jlevasseur.app" /> | |
<!-- =============================================== --> | |
<!-- JMS Common, Define JMS connectionFactory --> | |
<!-- =============================================== --> | |
<!-- Activemq connection factory --> | |
<bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> | |
<constructor-arg index="0" value="tcp://0.0.0.0:61616" /> | |
</bean> | |
<!-- Pooled Spring connection factory --> | |
<bean id="connectionFactory" | |
class="org.springframework.jms.connection.CachingConnectionFactory"> | |
<constructor-arg ref="amqConnectionFactory" /> | |
</bean> | |
<!-- ======================================================= --> | |
<!-- JMS Send, define default destination and JmsTemplate --> | |
<!-- ======================================================= --> | |
<!-- Default Destination Queue Definition --> | |
<bean id="defaultDestination" class="org.apache.activemq.command.ActiveMQQueue"> | |
<!-- name of the queue --> | |
<constructor-arg index="0" value="Send2Recv" /> | |
</bean> | |
<!-- JmsTemplate Definition --> | |
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> | |
<property name="connectionFactory" ref="connectionFactory" /> | |
<property name="defaultDestination" ref="defaultDestination" /> | |
</bean> | |
</beans> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment