From 651d215d7805176f58d015b3e28b8b9d298cd80f Mon Sep 17 00:00:00 2001 From: shenjunlin <646919822@qq.com> Date: Sun, 29 Nov 2020 22:48:07 +0800 Subject: [PATCH] fix --- java-activemq/pom.xml | 82 +++++++++++++++++++ .../java/com/brianway/learning/java/App.java | 13 +++ .../learning/java/queue/Consumer.java | 56 +++++++++++++ .../learning/java/queue/Producer.java | 41 ++++++++++ .../learning/java/springjms/AppConsumer.java | 15 ++++ .../learning/java/springjms/AppProducer.java | 20 +++++ .../learning/java/springjms/Consumer.java | 23 ++++++ .../learning/java/springjms/Producer.java | 32 ++++++++ .../learning/java/topic/TopicConsumer.java | 49 +++++++++++ .../learning/java/topic/TopicProducer.java | 41 ++++++++++ java-activemq/src/main/resources/common.xml | 24 ++++++ java-activemq/src/main/resources/consumer.xml | 32 ++++++++ java-activemq/src/main/resources/producer.xml | 24 ++++++ .../com/brianway/learning/java/AppTest.java | 20 +++++ pom.xml | 1 + 15 files changed, 473 insertions(+) create mode 100644 java-activemq/pom.xml create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/App.java create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/queue/Consumer.java create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/queue/Producer.java create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/springjms/AppConsumer.java create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/springjms/AppProducer.java create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/springjms/Consumer.java create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/springjms/Producer.java create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/topic/TopicConsumer.java create mode 100644 java-activemq/src/main/java/com/brianway/learning/java/topic/TopicProducer.java create mode 100644 java-activemq/src/main/resources/common.xml create mode 100644 java-activemq/src/main/resources/consumer.xml create mode 100644 java-activemq/src/main/resources/producer.xml create mode 100644 java-activemq/src/test/java/com/brianway/learning/java/AppTest.java diff --git a/java-activemq/pom.xml b/java-activemq/pom.xml new file mode 100644 index 0000000..402840c --- /dev/null +++ b/java-activemq/pom.xml @@ -0,0 +1,82 @@ + + + + 4.0.0 + + com.brianway.learning.java + java-activemq + 1.0-SNAPSHOT + + java-activemq + + http://www.example.com + + + UTF-8 + 1.7 + 1.7 + + + + + junit + junit + 4.11 + test + + + + org.apache.activemq + activemq-all + 5.9.0 + + + + org.springframework + spring-context + 4.3.29.RELEASE + + + org.springframework + spring-core + 4.3.29.RELEASE + + + + org.springframework + spring-expression + 4.3.28.RELEASE + + + + + org.springframework + spring-jms + 4.3.28.RELEASE + + + + org.springframework + spring-beans + 4.3.29.RELEASE + + + + + org.apache.activemq + activemq-core + 5.7.0 + + + spring-context + org.springframework + + + + + + + + + diff --git a/java-activemq/src/main/java/com/brianway/learning/java/App.java b/java-activemq/src/main/java/com/brianway/learning/java/App.java new file mode 100644 index 0000000..4b65ff8 --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/App.java @@ -0,0 +1,13 @@ +package com.brianway.learning.java; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + } +} diff --git a/java-activemq/src/main/java/com/brianway/learning/java/queue/Consumer.java b/java-activemq/src/main/java/com/brianway/learning/java/queue/Consumer.java new file mode 100644 index 0000000..c8dc98e --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/queue/Consumer.java @@ -0,0 +1,56 @@ +package com.brianway.learning.java.queue; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.Session; +import javax.jms.TextMessage; +import org.apache.activemq.ActiveMQConnectionFactory; + +/** + * Created by shenjunlin on 2020/11/29 20:20 + */ +public class Consumer { + + private static final String url = "tcp://127.0.0.1:61616"; + private static final String queueName = "queue-test"; + + public static void main(String[] args) throws JMSException { + ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); + + Connection connection = connectionFactory.createConnection(); + connection.start(); + //创建会话 + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + //创建目标 + Destination destination = session.createQueue(queueName); + //创建消费者 + MessageConsumer consumer = session.createConsumer(destination); + //创建监听器 + consumer.setMessageListener(new MessageListener() { + @Override + public void onMessage(Message message) { + TextMessage textMessage = (TextMessage) message; + try { + System.out.println(textMessage.getText()); + } catch (JMSException e) { + e.printStackTrace(); + } + throw new RuntimeException("hhh"); +// try { +// System.out.println(textMessage.getText()); +// } catch (JMSException e) { +// e.printStackTrace(); +// } + } + }); + +// connection.close(); + } + +} diff --git a/java-activemq/src/main/java/com/brianway/learning/java/queue/Producer.java b/java-activemq/src/main/java/com/brianway/learning/java/queue/Producer.java new file mode 100644 index 0000000..90e27e4 --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/queue/Producer.java @@ -0,0 +1,41 @@ +package com.brianway.learning.java.queue; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.MessageProducer; +import javax.jms.Session; +import javax.jms.TextMessage; +import org.apache.activemq.ActiveMQConnectionFactory; + +/** + * Created by shenjunlin on 2020/11/29 20:12 + */ +public class Producer { + + private static final String url = "tcp://127.0.0.1:61616"; + private static final String queueName = "queue-test"; + + public static void main(String[] args) throws JMSException { + ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); + + Connection connection = connectionFactory.createConnection(); + connection.start(); + //创建会话 + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + //创建目标 + Destination destination = session.createQueue(queueName); + //创建生产者 + MessageProducer producer = session.createProducer(destination); + for (int i = 0; i < 2; i++) { + //创建消息 + TextMessage textMessage = session.createTextMessage("text" + i); + //发送消息 + producer.send(textMessage); + System.out.println("发送消息成功" + textMessage.getText()); + } + + connection.close(); + } +} diff --git a/java-activemq/src/main/java/com/brianway/learning/java/springjms/AppConsumer.java b/java-activemq/src/main/java/com/brianway/learning/java/springjms/AppConsumer.java new file mode 100644 index 0000000..a69725d --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/springjms/AppConsumer.java @@ -0,0 +1,15 @@ +package com.brianway.learning.java.springjms; + +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * Created by shenjunlin on 2020/11/29 21:51 + */ +public class AppConsumer { + + public static void main(String[] args) { + ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("consumer.xml"); + + } + +} diff --git a/java-activemq/src/main/java/com/brianway/learning/java/springjms/AppProducer.java b/java-activemq/src/main/java/com/brianway/learning/java/springjms/AppProducer.java new file mode 100644 index 0000000..5f8a276 --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/springjms/AppProducer.java @@ -0,0 +1,20 @@ +package com.brianway.learning.java.springjms; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * Created by shenjunlin on 2020/11/29 21:51 + */ +public class AppProducer { + + public static void main(String[] args) { + ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("producer.xml"); + Producer producer = context.getBean(Producer.class); + + producer.sendMessage("test1"); + + context.close(); + } + +} diff --git a/java-activemq/src/main/java/com/brianway/learning/java/springjms/Consumer.java b/java-activemq/src/main/java/com/brianway/learning/java/springjms/Consumer.java new file mode 100644 index 0000000..7cb5d09 --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/springjms/Consumer.java @@ -0,0 +1,23 @@ +package com.brianway.learning.java.springjms; + +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.TextMessage; + +/** + * Created by shenjunlin on 2020/11/29 22:30 + */ +public class Consumer implements MessageListener { + + @Override + public void onMessage(Message message) { + TextMessage textMessage = (TextMessage) message; + try { + System.out.println("接收消息" + textMessage.getText()); + } catch (JMSException e) { + e.printStackTrace(); + } + } +} diff --git a/java-activemq/src/main/java/com/brianway/learning/java/springjms/Producer.java b/java-activemq/src/main/java/com/brianway/learning/java/springjms/Producer.java new file mode 100644 index 0000000..ccb0942 --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/springjms/Producer.java @@ -0,0 +1,32 @@ +package com.brianway.learning.java.springjms; + +import javax.annotation.Resource; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.Session; +import javax.jms.TextMessage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jms.core.JmsTemplate; +import org.springframework.jms.core.MessageCreator; + +/** + * Created by shenjunlin on 2020/11/29 20:54 + */ +public class Producer { + @Autowired + JmsTemplate jmsTemplate; + @Resource(name = "queueDestination") + Destination destination; + public void sendMessage(final String message) { + jmsTemplate.send(destination, new MessageCreator() { + @Override + public Message createMessage(Session session) throws JMSException { + TextMessage textMessage = session.createTextMessage(message); + System.out.println("发送消息" + textMessage.getText()); + return textMessage; + } + }); + } + +} diff --git a/java-activemq/src/main/java/com/brianway/learning/java/topic/TopicConsumer.java b/java-activemq/src/main/java/com/brianway/learning/java/topic/TopicConsumer.java new file mode 100644 index 0000000..ea5ce12 --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/topic/TopicConsumer.java @@ -0,0 +1,49 @@ +package com.brianway.learning.java.topic; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.Session; +import javax.jms.TextMessage; +import org.apache.activemq.ActiveMQConnectionFactory; + +/** + * Created by shenjunlin on 2020/11/29 20:31 + */ +public class TopicConsumer { + + private static final String url = "tcp://127.0.0.1:61616"; + private static final String topicName = "topic-test"; + + public static void main(String[] args) throws JMSException { + ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); + + Connection connection = connectionFactory.createConnection(); + connection.start(); + //创建会话 + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + //创建目标 + Destination destination = session.createTopic(topicName); + //创建生产者 + MessageConsumer consumer = session.createConsumer(destination); + + consumer.setMessageListener(new MessageListener() { + @Override + public void onMessage(Message message) { + TextMessage textMessage = (TextMessage) message; + try { + System.out.println(textMessage.getText()); + } catch (JMSException e) { + e.printStackTrace(); + } + } + }); + +// consumer.close(); + } +} diff --git a/java-activemq/src/main/java/com/brianway/learning/java/topic/TopicProducer.java b/java-activemq/src/main/java/com/brianway/learning/java/topic/TopicProducer.java new file mode 100644 index 0000000..1f8e7b3 --- /dev/null +++ b/java-activemq/src/main/java/com/brianway/learning/java/topic/TopicProducer.java @@ -0,0 +1,41 @@ +package com.brianway.learning.java.queue; + +import javax.jms.Connection; +import javax.jms.ConnectionFactory; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.MessageProducer; +import javax.jms.Session; +import javax.jms.TextMessage; +import org.apache.activemq.ActiveMQConnectionFactory; + +/** + * Created by shenjunlin on 2020/11/29 20:12 + */ +public class TopicProducer { + + private static final String url = "tcp://127.0.0.1:61616"; + private static final String topicName = "topic-test"; + + public static void main(String[] args) throws JMSException { + ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); + + Connection connection = connectionFactory.createConnection(); + connection.start(); + //创建会话 + Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + //创建目标 + Destination destination = session.createTopic(topicName); + //创建生产者 + MessageProducer producer = session.createProducer(destination); + for (int i = 0; i < 2; i++) { + //创建消息 + TextMessage textMessage = session.createTextMessage("text" + i); + //发送消息 + producer.send(textMessage); + System.out.println("发送消息成功" + textMessage.getText()); + } + + connection.close(); + } +} diff --git a/java-activemq/src/main/resources/common.xml b/java-activemq/src/main/resources/common.xml new file mode 100644 index 0000000..37717c0 --- /dev/null +++ b/java-activemq/src/main/resources/common.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java-activemq/src/main/resources/consumer.xml b/java-activemq/src/main/resources/consumer.xml new file mode 100644 index 0000000..6fed5bd --- /dev/null +++ b/java-activemq/src/main/resources/consumer.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java-activemq/src/main/resources/producer.xml b/java-activemq/src/main/resources/producer.xml new file mode 100644 index 0000000..37717c0 --- /dev/null +++ b/java-activemq/src/main/resources/producer.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java-activemq/src/test/java/com/brianway/learning/java/AppTest.java b/java-activemq/src/test/java/com/brianway/learning/java/AppTest.java new file mode 100644 index 0000000..c52b78f --- /dev/null +++ b/java-activemq/src/test/java/com/brianway/learning/java/AppTest.java @@ -0,0 +1,20 @@ +package com.brianway.learning.java; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +/** + * Unit test for simple App. + */ +public class AppTest +{ + /** + * Rigorous Test :-) + */ + @Test + public void shouldAnswerWithTrue() + { + assertTrue( true ); + } +} diff --git a/pom.xml b/pom.xml index 3982c6d..a538a98 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,7 @@ java-io java8 java-jvm + java-activemq