1 import javax.jms.Connection;
2 import javax.jms.ConnectionFactory;
3 import javax.jms.Destination;
4 import javax.jms.MessageConsumer;
5 import javax.jms.Session;
6 import javax.jms.TextMessage;
7
8 import org.apache.activemq.ActiveMQConnection;
9 import org.apache.activemq.ActiveMQConnectionFactory;
10
11 public class QueueReceive{
12 public static void main(String[] args) {
13
14 // ConnectionFactory :連接工廠,JMS 用它創建連接
15 ConnectionFactory connectionFactory;
16 // Connection :JMS 客戶端到JMS Provider 的連接
17 Connection connection = null;
18 // Session: 一個發送或接收消息的線程
19 Session session;
20 // Destination :消息的目的地;消息發送給誰.
21 Destination destination;
22 // 消費者,消息接收者
23 MessageConsumer consumer;
24
25 connectionFactory = new ActiveMQConnectionFactory(
26 ActiveMQConnection.DEFAULT_USER,
27 ActiveMQConnection.DEFAULT_PASSWORD,
28 "tcp://localhost:61616");
29 try {
30 // 構造從工廠得到連接對象
31 connection = connectionFactory.createConnection();
32 // 啟動
33 connection.start();
34 // 獲取操作連接
35 session = connection.createSession(Boolean.FALSE,
36 Session.AUTO_ACKNOWLEDGE);
37 // 獲取session注意參數是一個服務器的queue,須在在ActiveMq的console配置
38 destination = session.createQueue("queue1");
39 consumer = session.createConsumer(destination);
40 while (true) {
41 TextMessage message = (TextMessage) consumer.receive(1000);
42 if (null != message) {
43 System.out.println("收到消息" + message.getText());
44
45 } else {
46 break;
47 }
48
49 }
50
51 } catch (Exception e) {
52 e.printStackTrace();
53 } finally {
54 try {
55 if (null != connection)
56 connection.close();
57 } catch (Throwable ignore) {
58 }
59 }
60
61 }
62
2 import javax.jms.ConnectionFactory;
3 import javax.jms.Destination;
4 import javax.jms.MessageConsumer;
5 import javax.jms.Session;
6 import javax.jms.TextMessage;
7
8 import org.apache.activemq.ActiveMQConnection;
9 import org.apache.activemq.ActiveMQConnectionFactory;
10
11 public class QueueReceive{
12 public static void main(String[] args) {
13
14 // ConnectionFactory :連接工廠,JMS 用它創建連接
15 ConnectionFactory connectionFactory;
16 // Connection :JMS 客戶端到JMS Provider 的連接
17 Connection connection = null;
18 // Session: 一個發送或接收消息的線程
19 Session session;
20 // Destination :消息的目的地;消息發送給誰.
21 Destination destination;
22 // 消費者,消息接收者
23 MessageConsumer consumer;
24
25 connectionFactory = new ActiveMQConnectionFactory(
26 ActiveMQConnection.DEFAULT_USER,
27 ActiveMQConnection.DEFAULT_PASSWORD,
28 "tcp://localhost:61616");
29 try {
30 // 構造從工廠得到連接對象
31 connection = connectionFactory.createConnection();
32 // 啟動
33 connection.start();
34 // 獲取操作連接
35 session = connection.createSession(Boolean.FALSE,
36 Session.AUTO_ACKNOWLEDGE);
37 // 獲取session注意參數是一個服務器的queue,須在在ActiveMq的console配置
38 destination = session.createQueue("queue1");
39 consumer = session.createConsumer(destination);
40 while (true) {
41 TextMessage message = (TextMessage) consumer.receive(1000);
42 if (null != message) {
43 System.out.println("收到消息" + message.getText());
44
45 } else {
46 break;
47 }
48
49 }
50
51 } catch (Exception e) {
52 e.printStackTrace();
53 } finally {
54 try {
55 if (null != connection)
56 connection.close();
57 } catch (Throwable ignore) {
58 }
59 }
60
61 }
62
1 import javax.jms.Connection;
2 import javax.jms.ConnectionFactory;
3 import javax.jms.DeliveryMode;
4 import javax.jms.Destination;
5 import javax.jms.MessageProducer;
6 import javax.jms.Session;
7 import javax.jms.TextMessage;
8
9 import org.apache.activemq.ActiveMQConnection;
10 import org.apache.activemq.ActiveMQConnectionFactory;
11
12 public class QueueSend {
13 private static final int SEND_NUMBER = 5;
14
15 public static void main(String[] args) {
16 // ConnectionFactory :連接工廠,JMS 用它創建連接
17 ConnectionFactory connectionFactory;
18 // Connection :JMS 客戶端到JMS Provider 的連接
19 Connection connection = null;
20 // Session: 一個發送或接收消息的線程
21 Session session;
22 // Destination :消息的目的地;消息發送給誰.
23 Destination destination;
24 // MessageProducer:消息發送者
25 MessageProducer producer;
26 // TextMessage message;
27 // 構造ConnectionFactory實例對象,此處采用ActiveMq的實現jar
28
29 connectionFactory = new ActiveMQConnectionFactory(
30 ActiveMQConnection.DEFAULT_USER,
31 ActiveMQConnection.DEFAULT_PASSWORD,
32 "tcp://localhost:61616");
33
34 try {
35 // 構造從工廠得到連接對象
36 connection = connectionFactory.createConnection();
37 // 啟動
38 connection.start();
39 // 獲取操作連接
40 session = connection.createSession(Boolean.TRUE,
41 Session.AUTO_ACKNOWLEDGE);
42 // queue1需要在admin界面創建
43 destination = session.createQueue("queue1");
44 // 得到消息生成者
45
46 producer = session.createProducer(destination);
47 // 設置不持久化,此處學習,實際根據項目決定
48 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
49 // 構造消息,此處寫死,項目就是參數,或者方法獲取
50 sendMessage(session, producer);
51 session.commit();
52
53 } catch (Exception e) {
54 e.printStackTrace();
55 } finally {
56 try {
57 if (null != connection)
58 connection.close();
59 } catch (Throwable ignore) {
60 }
61 }
62
63 }
64
65 public static void sendMessage(Session session, MessageProducer producer)
66 throws Exception {
67 for (int i = 1; i <=SEND_NUMBER; i++) {
68 TextMessage message = session
69 .createTextMessage("ActiveMq 發送的消息" + i);
70 // 發送消息到目的地方
71 System.out.println("發送消息:" + i+"成功");
72 producer.send(message);
73 }
74 }
75 }
}2 import javax.jms.ConnectionFactory;
3 import javax.jms.DeliveryMode;
4 import javax.jms.Destination;
5 import javax.jms.MessageProducer;
6 import javax.jms.Session;
7 import javax.jms.TextMessage;
8
9 import org.apache.activemq.ActiveMQConnection;
10 import org.apache.activemq.ActiveMQConnectionFactory;
11
12 public class QueueSend {
13 private static final int SEND_NUMBER = 5;
14
15 public static void main(String[] args) {
16 // ConnectionFactory :連接工廠,JMS 用它創建連接
17 ConnectionFactory connectionFactory;
18 // Connection :JMS 客戶端到JMS Provider 的連接
19 Connection connection = null;
20 // Session: 一個發送或接收消息的線程
21 Session session;
22 // Destination :消息的目的地;消息發送給誰.
23 Destination destination;
24 // MessageProducer:消息發送者
25 MessageProducer producer;
26 // TextMessage message;
27 // 構造ConnectionFactory實例對象,此處采用ActiveMq的實現jar
28
29 connectionFactory = new ActiveMQConnectionFactory(
30 ActiveMQConnection.DEFAULT_USER,
31 ActiveMQConnection.DEFAULT_PASSWORD,
32 "tcp://localhost:61616");
33
34 try {
35 // 構造從工廠得到連接對象
36 connection = connectionFactory.createConnection();
37 // 啟動
38 connection.start();
39 // 獲取操作連接
40 session = connection.createSession(Boolean.TRUE,
41 Session.AUTO_ACKNOWLEDGE);
42 // queue1需要在admin界面創建
43 destination = session.createQueue("queue1");
44 // 得到消息生成者
45
46 producer = session.createProducer(destination);
47 // 設置不持久化,此處學習,實際根據項目決定
48 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
49 // 構造消息,此處寫死,項目就是參數,或者方法獲取
50 sendMessage(session, producer);
51 session.commit();
52
53 } catch (Exception e) {
54 e.printStackTrace();
55 } finally {
56 try {
57 if (null != connection)
58 connection.close();
59 } catch (Throwable ignore) {
60 }
61 }
62
63 }
64
65 public static void sendMessage(Session session, MessageProducer producer)
66 throws Exception {
67 for (int i = 1; i <=SEND_NUMBER; i++) {
68 TextMessage message = session
69 .createTextMessage("ActiveMq 發送的消息" + i);
70 // 發送消息到目的地方
71 System.out.println("發送消息:" + i+"成功");
72 producer.send(message);
73 }
74 }
75 }