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