forked from 888xin/activeMQ
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
xin
committed
Feb 8, 2015
1 parent
6223c25
commit 994d49b
Showing
9 changed files
with
273 additions
and
1 deletion.
There are no files selected for viewing
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
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
42 changes: 42 additions & 0 deletions
42
springMQ6/src/main/java/com/tiantian/springintejms/controller/SenderController.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
package com.tiantian.springintejms.controller; | ||
|
||
import com.tiantian.springintejms.service.ProducerService; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.beans.factory.annotation.Qualifier; | ||
import org.springframework.stereotype.Controller; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
|
||
import javax.jms.Destination; | ||
|
||
/** | ||
* Created by xin on 15-2-8 下午8:46 | ||
* | ||
* @project activeMQ | ||
* @package com.tiantian.springintejms.controller | ||
* @Description | ||
* @blog http://blog.csdn.net/u011439289 | ||
* @email [email protected] | ||
* @github https://github.com/888xin | ||
*/ | ||
|
||
@Controller | ||
@RequestMapping("mq") | ||
public class SenderController { | ||
|
||
@Autowired | ||
private ProducerService producerService; | ||
@Autowired | ||
@Qualifier("queueDestination") | ||
private Destination destination; | ||
|
||
@Autowired | ||
@Qualifier("topicDestination") | ||
private Destination topicDestination ; | ||
|
||
@RequestMapping("/send") | ||
public void send(){ | ||
for (int i=0; i<2; i++) { | ||
producerService.sendMessage(destination, "你好,生产者!这是消息:" + (i+1)); | ||
} | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<beans xmlns="http://www.springframework.org/schema/beans" | ||
xmlns:p="http://www.springframework.org/schema/p" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xmlns:context="http://www.springframework.org/schema/context" | ||
xmlns:mvc="http://www.springframework.org/schema/mvc" | ||
xsi:schemaLocation=" | ||
http://www.springframework.org/schema/beans | ||
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd | ||
http://www.springframework.org/schema/context | ||
http://www.springframework.org/schema/context/spring-context-3.2.xsd | ||
http://www.springframework.org/schema/mvc | ||
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> | ||
|
||
<!-- 扫描controller(controller层注入) --> | ||
<context:component-scan base-package="com.tiantian.springintejms.controller"/> | ||
|
||
<!-- 对模型视图添加前后缀 --> | ||
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" | ||
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> | ||
</beans> |
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
Binary file not shown.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<module type="JAVA_MODULE" version="4"> | ||
<component name="NewModuleRootManager" inherit-compiler-output="true"> | ||
<exclude-output /> | ||
<content url="file://$MODULE_DIR$"> | ||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> | ||
</content> | ||
<orderEntry type="inheritedJdk" /> | ||
<orderEntry type="sourceFolder" forTests="false" /> | ||
<orderEntry type="library" name="activemq7" level="project" /> | ||
</component> | ||
</module> | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
package com.lhx.activemq; | ||
|
||
/** | ||
* Created by xin on 15-2-8 上午10:39 | ||
* | ||
* @project activeMQ | ||
* @package com.lhx.activemq | ||
* @Description | ||
* @blog http://blog.csdn.net/u011439289 | ||
* @email [email protected] | ||
* @github https://github.com/888xin | ||
*/ | ||
|
||
import javax.jms.Connection; | ||
import javax.jms.ConnectionFactory; | ||
import javax.jms.Destination; | ||
import javax.jms.MessageConsumer; | ||
import javax.jms.Session; | ||
import javax.jms.TextMessage; | ||
import org.apache.activemq.ActiveMQConnection; | ||
import org.apache.activemq.ActiveMQConnectionFactory; | ||
|
||
public class Receiver { | ||
public static void main(String[] args) { | ||
// ConnectionFactory :连接工厂,JMS 用它创建连接 | ||
ConnectionFactory connectionFactory; | ||
// Connection :JMS 客户端到JMS Provider 的连接 | ||
Connection connection = null; | ||
// Session: 一个发送或接收消息的线程 | ||
Session session; | ||
// Destination :消息的目的地;消息发送给谁. | ||
Destination destination; | ||
// 消费者,消息接收者 | ||
MessageConsumer consumer; | ||
connectionFactory = new ActiveMQConnectionFactory( | ||
ActiveMQConnection.DEFAULT_USER, | ||
ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616"); | ||
try { | ||
// 构造从工厂得到连接对象 | ||
connection = connectionFactory.createConnection(); | ||
// 启动 | ||
connection.start(); | ||
// 获取操作连接 | ||
session = connection.createSession(Boolean.FALSE, | ||
Session.AUTO_ACKNOWLEDGE); | ||
// 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置 | ||
destination = session.createQueue("FirstQueue"); | ||
consumer = session.createConsumer(destination); | ||
while (true) { | ||
// 设置接收者接收消息的时间,为了便于测试,这里谁定为100s | ||
TextMessage message = (TextMessage) consumer.receive(100000); | ||
if (null != message) { | ||
System.out.println("收到消息" + message.getText()); | ||
} else { | ||
break; | ||
} | ||
} | ||
} catch (Exception e) { | ||
e.printStackTrace(); | ||
} finally { | ||
try { | ||
if (null != connection) | ||
connection.close(); | ||
} catch (Throwable ignore) { | ||
} | ||
} | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
package com.lhx.activemq; | ||
|
||
import javax.jms.Connection; | ||
import javax.jms.ConnectionFactory; | ||
import javax.jms.DeliveryMode; | ||
import javax.jms.Destination; | ||
import javax.jms.MessageProducer; | ||
import javax.jms.Session; | ||
import javax.jms.TextMessage; | ||
import org.apache.activemq.ActiveMQConnection; | ||
import org.apache.activemq.ActiveMQConnectionFactory; | ||
|
||
/** | ||
* Created by xin on 15-2-8 上午10:37 | ||
* | ||
* @project activeMQ | ||
* @package com.lhx.activemq | ||
* @Description | ||
* @blog http://blog.csdn.net/u011439289 | ||
* @email [email protected] | ||
* @github https://github.com/888xin | ||
*/ | ||
|
||
public class Sender { | ||
|
||
private static final int SEND_NUMBER = 5; | ||
|
||
public static void main(String[] args) { | ||
// ConnectionFactory :连接工厂,JMS 用它创建连接 | ||
ConnectionFactory connectionFactory; | ||
// Connection :JMS 客户端到JMS | ||
// Provider 的连接 | ||
Connection connection = null; | ||
// Session: 一个发送或接收消息的线程 | ||
Session session; | ||
// Destination :消息的目的地;消息发送给谁. | ||
Destination destination; | ||
// MessageProducer:消息发送者 | ||
MessageProducer producer; | ||
// TextMessage message; | ||
// 构造ConnectionFactory实例对象,此处采用ActiveMq的实现jar | ||
connectionFactory = new ActiveMQConnectionFactory( | ||
ActiveMQConnection.DEFAULT_USER, | ||
ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616"); | ||
try { // 构造从工厂得到连接对象 | ||
connection = connectionFactory.createConnection(); | ||
// 启动 | ||
connection.start(); | ||
// 获取操作连接 | ||
session = connection.createSession(Boolean.TRUE, | ||
Session.AUTO_ACKNOWLEDGE); | ||
// 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置 | ||
destination = session.createQueue("FirstQueue"); | ||
// 得到消息生成者【发送者】 | ||
producer = session.createProducer(destination); | ||
// 设置不持久化,此处学习,实际根据项目决定 | ||
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); | ||
// 构造消息,此处写死,项目就是参数,或者方法获取 | ||
sendMessage(session, producer); | ||
session.commit(); | ||
} catch (Exception e) { | ||
e.printStackTrace(); | ||
} finally { | ||
try { | ||
if (null != connection) | ||
connection.close(); | ||
} catch (Throwable ignore) { | ||
} | ||
} | ||
} | ||
|
||
|
||
public static void sendMessage(Session session, MessageProducer producer) | ||
throws Exception { | ||
for (int i = 1; i <= SEND_NUMBER; i++) { | ||
TextMessage message = session.createTextMessage("ActiveMq 发送的消息" | ||
+ i); | ||
// 发送消息到目的地方 | ||
|
||
System.out.println("发送消息:" + "ActiveMq 发送的消息" + i); | ||
producer.send(message); | ||
} | ||
} | ||
} |