- 浏览: 2878242 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (1173)
- 名言警句 (5)
- 心情随笔 (50)
- 数据库 (57)
- Java基础 (241)
- J2EE框架 (91)
- 数据结构 (12)
- 程序设计 (21)
- WEB技术 (128)
- 网络日志 (12)
- IT资讯 (247)
- linux (64)
- solaris (2)
- 其它 (143)
- WebService (4)
- 日语学习 (2)
- 机器人 (5)
- Android (5)
- cgywin (3)
- Game (1)
- DWR (1)
- spring (8)
- canvas (1)
- Guava (3)
- Modbus (5)
- 测试 (6)
- mongodb (9)
- Quartz (2)
- Cron (1)
- windows (2)
- 持续集成 (1)
- bootstrap (3)
- 结对编程 (1)
- nodejs (1)
- Netty (1)
- 安全 (3)
- webstorm (2)
- sparkline (1)
- Job (1)
- git (3)
- Maven (3)
- knockout (5)
- jquery (1)
- bower (1)
- docker (1)
- confluence (4)
- wiki (1)
- GoogleMap (1)
- jekyll (10)
- ruby (2)
- npm (3)
- browserify (1)
- gulp (3)
- openwrt (1)
- discuz (3)
- 输入法 (1)
- JPA (1)
- eclipse (2)
- IntelliJ (1)
- css (1)
- 虚拟机 (1)
- 操作系统 (1)
- azkaban (2)
- scrum (1)
最新评论
-
pangxiea_:
你好, 想请问一下 Linux下 这么使用rxtxcomm 在 ...
使用Java进行串口通信 -
abababudei:
请教一下,这个您是怎么解决的:/dev/ttyS2enteri ...
Java应用程序的MODBUS通讯 -
xuniverse:
hannibal005 写道楼主,我问下 request.se ...
用javascript与java进行RSA加密与解密 -
atxkm:
找了一下午,终于找到了
gulp 拷贝文件时如何移除文件目录结构 -
kalogen:
gtczr 写道非常感谢,经过我自己的修改,已经完美实现。发出 ...
用javascript与java进行RSA加密与解密
有二种方式可以测试。
1. 透过testng, 在测试类中完成的jms服务器的启动与关闭。
a.初始化jms服务器
@BeforeClass(groups = "jms") public void setupActiveMQ() throws Exception { BrokerService broker = new BrokerService(); broker.setPersistent(false); broker.setUseJmx(false); broker.start(); URI uri = broker.getVmConnectorURI(); ConnectionFactory factory = new ActiveMQConnectionFactory(uri); //String uri = "vm://localhost?broker.persistent=false"; //ConnectionFactory factory = new ActiveMQConnectionFactory(uri); Connection connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue("TestQueue@router1"); }
b. 运行测试类
@Test(groups = "jms") public void sendMessage() throws JMSException { TextMessage msg = session.createTextMessage(); msg.setText("hello"); session.createProducer(destination).send(msg); }
c. 验证接收到的消息
@Test(groups = "jms", dependsOnMethods = "sendMessage", timeOut = 1000) public void receiveMessage() throws JMSException { MessageConsumer consumer = session.createConsumer(destination); TextMessage msg = (TextMessage) consumer.receive(); assert "hello".equals(msg.getText()); }
2. 透过maven-activemq-plugin插件,运行jms服务器,然后分别实现发送与接收
a. maven 配置
<plugin> <groupId>org.apache.activemq.tooling</groupId> <artifactId>maven-activemq-plugin</artifactId> <version>5.2.0</version> <configuration> <configUri> xbean:file:src/main/resources/net/sunbeta/jms/activemq.xml </configUri> <fork>false</fork> <systemProperties> <property> <name>javax.net.ssl.keyStorePassword</name> <value>password</value> </property> <property> <name>org.apache.activemq.default.directory.prefix</name> <value>./target/</value> </property> </systemProperties> </configuration> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.5.6</version> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-xbean</artifactId> <version>6.1.11</version> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-activemq</artifactId> <version>1.1.0</version> </dependency> </dependencies> </plugin>
其中 activemq.xml 的配置为:
<?xml version="1.0"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="./data"> <!-- The transport connectors ActiveMQ will listen to --> <transportConnectors> <transportConnector name="openwire" uri="tcp://localhost:61616"/> </transportConnectors> </broker> </beans>
b.消息发送
public class JmsProducer { private ConnectionFactory factory; private Connection connection; private Session session; private MessageProducer producer; public JmsProducer(ConnectionFactory factory, String queueName) throws JMSException { this.factory = factory; connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue(queueName); producer = session.createProducer(destination); } public void run() throws JMSException { for (int i = 0; i < 100; i++) { System.out.println("Creating Message " + i); Message message = session.createTextMessage("Hello World!"); producer.send(message); } } public void close() throws JMSException { if (connection != null) { connection.close(); } } }
创建一个broker去调用它
public class JmsBroker { public static String brokerURL = "tcp://localhost:61616"; // mvn clean compile exec:java // -Dexec.mainClass=net.sunbeta.test.jms.JmsBroker public static void main(String[] args) throws Exception { // setup the connection to ActiveMQ ConnectionFactory factory = new ActiveMQConnectionFactory(brokerURL); JmsProducer producer = new JmsProducer(factory, "test"); producer.run(); producer.close(); } }
c. 消息接收
public class JmsConsumer implements MessageListener{ public static String brokerURL = "tcp://localhost:61616"; private ConnectionFactory factory; private Connection connection; private Session session; private MessageConsumer consumer; public static void main(String[] args) { JmsConsumer app = new JmsConsumer(); app.run(); } public void run() { try { ConnectionFactory factory = new ActiveMQConnectionFactory(brokerURL); connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("test"); consumer = session.createConsumer(destination); consumer.setMessageListener(this); } catch (Exception e) { System.out.println("Caught:" + e); e.printStackTrace(); } } public void onMessage(Message message) { try { if (message instanceof TextMessage) { TextMessage txtMessage = (TextMessage) message; System.out.println("Message received: " + txtMessage.getText()); } else { System.out.println("Invalid message received."); } } catch (JMSException e) { System.out.println("Caught:" + e); e.printStackTrace(); } }
OK !
发表评论
-
spring mvc @controller unit test
2013-11-20 14:14 38961. spring mvc controller imple ... -
Tomcat 生产服务器性能优化
2013-07-23 06:45 1011试想以下这个情景:你已经开发好了一个程序,这个程序的排版很不 ... -
Loading Multiple Spring Application Contexts with their own ClassLoader
2013-07-11 20:45 1081package de.incompleteco.spring ... -
Maven系列2--pom.xml 配置详解
2011-01-06 18:00 3182<project xmlns="http ... -
fisheye2.3.6 安装笔记
2010-09-16 20:25 2242一. 准备工作 1. 下载fisheye ... -
服务器端编程的十大性能问题
2010-09-15 12:01 1240今年5 月底,瑞士计算 ... -
JMX in spring 配置
2010-09-07 12:00 3058JConsole中的连接:简单的localhost:1099 ... -
Ehcache 2.0:后写式缓存和JTA支持
2010-05-22 11:13 1862开源缓存框架Ehcache 最 ... -
Twitter系统运维经验
2010-04-12 22:24 1556最近看到的另外一个 ... -
采用OSGi框架开发项目的十个问题
2010-03-21 18:08 1465近期,InfoQ针对Java模块 ... -
IBM和Eclipse加大对OSGi的支持
2010-03-21 18:05 1303为Java提供模块性的OSGi,正在受到IBM和Eclipse ... -
Castor功能与应用参考
2010-03-12 12:48 36301. 项目简介Castor是一个开源的Java项目 ... -
hibernate之 DetachedCriteria实现多表查询
2009-07-25 17:13 13107DetachedCriteria detachedCriter ... -
spring AOP 理论知识点总结
2009-07-24 17:47 21821.1 AOP 的概念 ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2009-07-02 16:14 4133在项目中总会遇到一些 ... -
maven笔记
2009-06-22 22:14 1535mvn package : 项目打包 mvn help:ef ... -
利用maven构建多模块项目
2009-06-17 14:28 53701. 先单独构建各模块为一个独立的项目。 jar项目: m ... -
Maven基础
2009-06-17 12:58 1868下载Maven安装文件。 定义环境变量M2_HOME到pat ... -
安装M2eclipse步骤
2009-06-15 14:45 38291.下载下列所需文件 eclipse3.4.2 ... -
用 Maven 做项目管理
2009-06-08 18:01 2643在Java 世界中我们很多的开发人员选择用Ant 来构 ...
相关推荐
本报告详细阐述了使用JMeter对ActiveMQ进行性能测试的过程和结果,旨在评估ActiveMQ在JMS(Java消息服务)环境下的性能表现。JMeter作为一个强大的负载和性能测试工具,被广泛用于测试各种应用程序,包括消息中间件...
4. **JMS相关库**:在描述中提到的“jms所需包”可能包含了ActiveMQ的客户端库和其他JMS相关的jar文件,如`activemq-client.jar`、`geronimo-jms_1.1_spec.jar`等。这些库文件是Tomcat应用程序使用JMS与ActiveMQ通信...
在“sprin jms activemq 测试”这个主题中,我们将深入探讨Spring如何与JMS和ActiveMQ集成,以及如何进行相关的测试。 首先,Spring框架通过`spring-jms`模块提供了对JMS的支持。它提供了一组抽象,使得开发者能够...
ActiveMQ是Apache软件基金会开发的一个开源消息中间件,支持多种消息协议,如AMQP、JMS等。在这个场景中,我们将深入探讨如何利用ZooKeeper和LevelDB来构建一个高可用的ActiveMQ集群。 ZooKeeper是Apache Hadoop...
描述中提到,“jms测试程序,将tomcat和activeMq整合在一起做的一个发送接受的发布订阅的例子”,这表明项目是基于Tomcat服务器,并且通过ActiveMQ实现了一个发布/订阅模式的消息传递。Tomcat是一个流行的Java应用...
**JMS测试** 在"jms_test"部分,可能包括验证消息发送、接收的正确性,以及性能测试等。这可能涉及以下方面: 1. **单元测试**:检查生产者是否正确发送消息,消费者是否能正确接收。 2. **集成测试**:确保...
在本文中,我们将深入探讨如何使用Spring MVC框架与ActiveMQ结合实现JMS(Java Message Service)实例。首先,让我们理解ActiveMQ和JMS的基本概念。 ActiveMQ是Apache软件基金会开发的一款开源消息代理,它实现了...
ActiveMQ是Apache软件基金会的一个开源项目,它是一个强大的消息中间件,支持多种协议,包括JMS(Java消息服务)和AMQP(先进消息队列协议)等。 在这个测试例子中,开发者可能使用ActiveMQ的RPC功能来实现客户端和...
ActiveMQ,作为Java消息服务(JMS)的一个实现,是Apache软件基金会开发的一款开源消息中间件。它在分布式系统中扮演着重要的角色,允许不同组件或服务之间进行异步通信,提高了系统的可扩展性和解耦性。在Java编程...
Spring整合ActiveMQ是Java消息服务(JMS)在Spring框架中的应用,用于实现生产者与消费者的解耦。在这个案例中,我们将深入探讨如何配置和使用这两个组件,以便于理解它们的工作原理。 首先,ActiveMQ是Apache软件...
**ActiveMQ连接与使用测试工程详解** ActiveMQ是Apache软件基金会的一个开源项目,它是一个功能丰富的消息代理,支持多种消息协议,如OpenWire、STOMP、AMQP和MQTT等。在Java开发环境中,ActiveMQ作为中间件广泛...
8. **测试与调试**:部署Flex应用并测试其与ActiveMQ的通信。确保消息可以正确地发送和接收,同时注意可能出现的网络问题和权限设置。 在提供的文件列表中,"Flex3与ActiveMQ整合.docx"可能包含详细的步骤指南,...
ActiveMQ是Apache软件基金会开发的一款开源的消息中间件,它遵循Java Message Service(JMS)规范,支持多种协议,如AMQP、STOMP等,能够用于处理大量并发消息传递,提供高可靠性和高性能。而Zookeeper则是一个...
**ActiveMQ测试Demo** 在IT行业中,消息中间件起着至关重要的作用,它允许不同的应用程序之间进行异步通信,提高系统的可扩展性和解耦性。Apache ActiveMQ是业界广泛使用的一款开源消息代理,遵循开放消息中间件...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递协议(Open Message Broker Protocol,即AMQP)和Java消息服务(Java Message Service,JMS)规范,用于在分布式系统中提供可靠的消息传递...
本压缩包“activeMQ收发工具.rar”包含了用于测试和操作ActiveMQ的实用工具,主要是一个jar包文件,方便用户在安装了Java Development Kit (JDK) 的环境中运行。 ActiveMQ收发工具的核心功能是通过Java应用程序发送...
**Spring与ActiveMQ搭建JMS开发系统示例详解** 在Java世界中,消息队列(JMS,Java Message Service)是一种标准,它定义了API来创建、发送、接收和读取消息,允许应用程序进行异步通信。Spring框架是Java开发中的...
Apache ActiveMQ是开源的、基于Java消息服务(JMS)的应用服务器,它是企业级消息中间件,用于在分布式系统中传递消息。这个“activemq测试样例”压缩包提供了有关如何使用ActiveMQ创建队列、创建消费者以及处理消息...
ActiveMQ 是一个开源的消息中间件,它遵循开放消息模型(JMS)标准,提供可靠的消息传递服务,使得应用程序可以通过消息传递进行异步通信。在"activeMQ static broker测试"中,我们关注的是ActiveMQ的静态Broker配置...