package depeng.test;
import javax.naming.*;
import javax.jms.*;
/**
* User: depeng
* Date: 2010-1-11
* Time: 11:01:17
*/
public class SimpleQSender {
public static void main(String[] args) {
String queueName = null;
Context jndiContext = null;
QueueConnectionFactory queueConnectionFactory = null;
QueueConnection queueConnection = null;
QueueSession queueSession = null;
Queue queue = null;
QueueSender queueSender = null;
TextMessage message = null;
int NUM_MSGS = 5;
if (args.length != 1) {
System.out.println("");
System.exit(1);
}
queueName = args[0];
// create JNDI
try {
jndiContext =new InitialContext();
} catch (NamingException e) {
e.printStackTrace();
System.exit(1);
}
//look up a connection factory and queue
try {
//[1] 从哪来
queueConnectionFactory =(QueueConnectionFactory)jndiContext.lookup("QueueConnectionFactory");
//[2] 到哪去
queue=(Queue)jndiContext.lookup(queueName);
} catch (NamingException e) {
e.printStackTrace();
}
try {
if (queueConnectionFactory != null) {
queueConnection=queueConnectionFactory.createQueueConnection();
}
if (queueConnection != null) {
queueSession=queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
}
if (queueSession != null) {
queueSender=queueSession.createSender(queue);
}
if (queueSession != null) {
message=queueSession.createTextMessage();
}
for (int i = 0; i < NUM_MSGS; i++) {
if (message != null) {
message.setText("This is msg"+(i+1));
System.out.println("Sending msg"+message.getText());
queueSender.send(message);
}
}
//send a non-text control msg indicating end of message
queueSender.send(queueSession.createMessage());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
package depeng.test;
import javax.naming.*;
import javax.jms.*;
/**
* User: depeng
* Date: 2010-1-11
* Time: 12:24:01
*/
public class SimpleQReceiver {
public static void main(String[] args) {
String queueName = null;
Context jndiContext = null;
QueueConnectionFactory queueConnectionFactory = null;
QueueConnection queueConnection = null;
QueueSession queueSession = null;
Queue queue = null;
QueueSender queueSender = null;
TextMessage message = null;
int NUM_MSGS = 5;
if (args.length != 1) {
System.out.println("");
System.exit(1);
}
queueName=args[0];
// create JNDI
try {
jndiContext = new InitialContext();
} catch (NamingException e) {
e.printStackTrace();
System.exit(1);
}
//look up a connection factory and queue
try {
//[1]
queueConnectionFactory = (QueueConnectionFactory) jndiContext.lookup("QueueConnectionFactory");
//[2]
queue = (Queue) jndiContext.lookup(queueName);
if (queueConnectionFactory != null) {
queueConnection=queueConnectionFactory.createQueueConnection();
}
if (queueConnection != null) {
queueSession=queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
}
if (queueSession != null) {
QueueReceiver queueReceiver = queueSession.createReceiver(queue);
while(true){
Message m=queueReceiver.receive(1);
if(m!=null){
if(m instanceof TextMessage){
message=(TextMessage)m;
System.out.println(""+message.getText());
}
}
}
}
} catch (NamingException e) {
e.printStackTrace();
} catch (JMSException e) {
e.printStackTrace();
}
}
}
* message-driven beans模型化异步信息的接受者
package depeng.test;
import javax.naming.*;
import javax.jms.*;
/**
* User: depeng
* Date: 2010-1-11
* Time: 12:35:56
*/
public class SimpleMessageListener implements MessageListener {
public void onMessage(Message m) {
TextMessage msg = null;
if (m != null) {
if (m instanceof TextMessage) {
msg = (TextMessage) m;
try {
System.out.println("" + msg.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
String queueName = null;
Context jndiContext = null;
QueueConnectionFactory queueConnectionFactory = null;
QueueConnection queueConnection = null;
QueueSession queueSession = null;
Queue queue = null;
QueueSender queueSender = null;
TextMessage message = null;
int NUM_MSGS = 5;
SimpleMessageListener listener = new SimpleMessageListener();
if (args.length != 1) {
System.out.println("");
System.exit(1);
}
queueName = args[0];
// create JNDI
try {
jndiContext = new InitialContext();
} catch (NamingException e) {
e.printStackTrace();
System.exit(1);
}
//look up a connection factory and queue
try {
//[1]
queueConnectionFactory = (QueueConnectionFactory) jndiContext.lookup("QueueConnectionFactory");
//[2]
queue = (Queue) jndiContext.lookup(queueName);
} catch (NamingException e) {
e.printStackTrace();
}
try {
if (queueConnectionFactory != null) {
queueConnection = queueConnectionFactory.createQueueConnection();
}
if (queueConnection != null) {
queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
}
QueueReceiver receiver = queueSession.createReceiver(queue);
receiver.setMessageListener(listener);
queueConnection.start();
} catch (JMSException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
标题中的“jms-test.zip_jms activemq_jms test”揭示了这是一个关于Java消息服务(JMS)的测试项目,特别提到了ActiveMQ作为消息代理。ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它实现了JMS规范,允许...
标题"test_jms.zip_activemq_activemq案例_jms_jms test"中,我们可以看出这是关于一个与JMS(Java Message Service)相关的项目,使用了ActiveMQ作为消息中间件,并且包含了一些测试内容。"activemq案例"暗示这是一...
《深入解析Spring JMS Test源码》 Spring JMS(Java Message Service)是Spring框架中的一个模块,主要用于支持JMS的开发,它提供了一种声明式的方式来处理消息发送和接收,使得开发者可以更加专注于业务逻辑,而非...
在“jms-test”项目中,可能包含了实现这两种模式的Java代码示例,包括创建连接工厂、设置目的地、编写消息生产和消费的逻辑等。通过分析和运行这些示例,你可以更深入地理解JMS的工作原理以及如何在实际应用中使用...
jms-测试 用于测试 JMS(Java 消息服务)的简单项目 #文档和/或官方教程: ://docs.oracle.com/javaee/7/tutorial/partmessaging.htm#GFIRP3 #API JAVAEE7 #项目测试说明 在运行任何示例之前,有必要: 1 - 使用...
在Maven项目结构下,通常会在`test`目录下存放单元测试或集成测试代码,这些测试代码可能演示了如何使用JMS API和ActiveMQ进行消息生产和消费。 在Java中,使用JMS通常涉及以下步骤: 1. **创建ConnectionFactory*...
Java消息服务(Java Message Service,简称...例如,Test文件可能包含了JMS的入门示例代码,展示了如何创建消息、设置消息代理、发送和接收消息的过程。通过学习和实践这些示例,开发者能更好地理解和掌握JMS的使用。
在`test.jsp`页面中,展示了如何创建一个JMS的客户端来发送消息。首先,通过`InitialContext`查找JNDI中的`ConnectionFactory`和`queue/foshanshop`队列。然后,使用`ConnectionFactory`创建`QueueConnection`和`...
"isa-jms-test:infoshare jms练习"这个标题表明这是一个关于使用JMS进行信息共享的实践项目,可能是用于教学或自我学习的目的。"jjdd4-materialy-jms"描述可能是指该项目包含的学习材料或练习集。在文件列表中,我们...
1. `test.bin`:这可能是一个测试文件,用于验证固件更新的过程或者包含一些测试数据。 2. `JMMassProd_v1_16_15_11.exe`:这很可能是固件升级工具,用于将固件刷写到JMS583固态硬盘盒。这个程序的版本号(v1.16....
SpringBoot2整合Jms超级简单攻略(基于ActiveMQ).。消息主题(Topic),需要...2、直接访问localhost:8080/test?id=123 3.在控制台就可以看到mq打印消息,因为消费者2运算量太大,所以一直等待输出,消费者1消费两个消息
【标题】"test-jms-publisher" 是一个与Java相关的项目,很可能是一个用于测试Java消息服务(Java Message Service,简称JMS)发布者(Publisher)的示例代码库。JMS是Java平台上的一个标准API,它允许应用程序创建...
6. **进程定义**:`DEFINE PROCESS (PRONAME) ...`定义MQ进程,如启动通道进程`runmqchl -c SDR_TEST -m QM_TEST`。 ### 配置远程连接 配置远程连接涉及创建发送方和接收方通道,以及设置相应的连接参数。例如,...
例如,连接工厂的JNDI名称`jms/jms_test_connection_factory1`应转换为`jms.jms_test_connection_factory1`。 5. **配置Business Service的Transport Details**: - 在新建的BS中,配置Transport Details,设置...
在"jms-test"这个源码文件中,可能包含了一些示例代码,演示了如何创建ConnectionFactory、Destination、MessageProducer和MessageConsumer,以及如何发送和接收消息。例如,使用`javax.jms.ConnectionFactory`创建...
在ejb2test和test这两个文件中,可能包含的是使用JMS与EJB(Enterprise JavaBeans)结合的示例。EJB是Java EE(现在被称为Jakarta EE)的一部分,用于构建可部署在服务器上的分布式企业级应用。JMS常与EJB结合,提供...
总的来说,"jms-test"项目旨在确保基于JMS的应用程序能够高效、可靠地处理消息传递,通过详尽的测试确保系统的稳定性和可扩展性。通过深入理解JMS的核心概念和测试策略,开发者可以构建出更健壮的分布式应用程序。
Java EE包括了多种组件和服务,如Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message Service)以及JPA(Java Persistence API)等,这些技术为企业级应用提供了数据持久化、事务处理、并发控制、安全性...
3. **消息驱动Bean (Message Driven Bean)**:用于处理JMS(Java Message Service)消息,实现异步处理。 **EJB生命周期**: EJB的生命周期包括实例化、初始化、激活、被动使用、去激活和销毁等阶段。例如,对于...
其次,Spring框架是一个全面的企业级应用开发框架,它不仅涵盖了依赖注入(DI)和面向切面编程(AOP),还提供了数据访问、事务管理、Web、JMS等众多模块。Spring的核心是IoC(Inversion of Control)容器,它负责...