activemq 编程式客户端

生产者

public class ProducerTest {

	public static void main(String[] args) throws Exception 	{

		// Create a ConnectionFactory		ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");

		// Create a Connection		Connection connection = activeMQConnectionFactory.createConnection();		connection.start();

		// Create a Session		Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);

		// Create the destination (Topic or Queue)		Queue queue = session.createQueue("yyc-test");

		// Create a MessageProducer from the Session to the Topic or Queue		MessageProducer producer = session.createProducer(queue);		producer.setDeliveryMode(DeliveryMode.PERSISTENT);

		producer.send(session.createObjectMessage("你好测试"));

		// Clean up		producer.close();        session.close();        connection.close();	}

}

消费者

public class ConsumerTest {

	public static void main(String[] args) throws Exception 	{

		// Create a ConnectionFactory		ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");

		// Create a Connection		Connection connection = activeMQConnectionFactory.createConnection();		connection.start();

		connection.setExceptionListener(new MyExceptionListener());

		// Create a Session		Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

		// Create the destination (Topic or Queue)		Queue queue = session.createQueue("yyc-test");

		// Create a MessageConsumer from the Session to the Topic or Queue		MessageConsumer consumer = session.createConsumer(queue);

		// 方式一:同步操作		Message mesg = consumer.receive(1000);		if (mesg instanceof TextMessage) {			TextMessage textMessage = (TextMessage) mesg;			String text = textMessage.getText();			System.out.println("Received: " + text);		} else {			System.out.println("Received: " + mesg);		}		consumer.close();        session.close();        connection.close();

		// 方式二:异步监听操作		//consumer.setMessageListener(new MyMessageListener());	}

	public static class MyMessageListener implements MessageListener	{

		@Override		public void onMessage(Message msg) {			System.out.println("Received: " + msg);		}

	}

	public static class MyExceptionListener implements ExceptionListener	{

		@Override		public void onException(JMSException arg0) {			System.out.println("JMS Exception occured.  Shutting down client.");		}

	}

}
时间: 2024-11-07 12:26:47

activemq 编程式客户端的相关文章

spring ----编程式事务和声明式事务

一. 事务 事务管理对于企业应用而言是非常重要的,事务的存在保证了用户的每一次操作都是可靠的,当用户操作出现异常时也不至于破坏了后台的数据.例如银行的自动取款机,万一你在转账的时候出现了异常,事务机制会保证你后台的数据还是出异常操作之前的数据,也就是是你出异常的这些操作失效. 事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作,这些操作要么都执行,要么都不执行. 银行转账操作:开启事务,就是保证转账的操作要么都执行,要么都不执行. 如果在你的账户减去转账金额后出现异常,不

一步步学WebSocket(2)编程式WebSocket

接上篇,这篇我们采用编程式WebSocket实现上篇的例子: 服务端Endpoint,不再使用ServerEndpoint注解: public class ProgramerServer extends Endpoint {     @Override     public void onOpen(Session session, EndpointConfig edc) {         System.out.println("Somebody is coming!");      

Spring学习8-Spring事务管理(编程式事务管理)

一.Spring事务的相关知识   1.事务是指一系列独立的操作,但在概念上具有原子性. 比如转账:A账号-100, B账号+100,完成.这两个操作独立是没问题的. 但在逻辑上,要么全部完成,要么一起失败.    1)jdbc事务:每个Connection都带有一个事务,只是默认被设置为自动提交.一个连接可以有多个事务.对于JDBC,只有在同一个连接内,才有讨论是否提交的前提. 2)Hibernate事务:本质上也是使用JDBC来处理事务.但是不是直接操作,而是使用Session来操作事务.S

全面分析 Spring 的编程式事务管理及声明式事务管理

转自:http://www.open-open.com/lib/view/open1414310646012.html 关于本教程 本教程将深切讲授 Spring 庞杂而丁壮夜的事务治理功用,包括编程式事务和声明式事务.经由进程对本教程的进修,您将可以理解 Spring 事务治理的实质,并无邪运用之. 先决前提 本教程假定您已掌控了 Java 根蒂根抵常识,并对 Spring 有一定意见.您还需求具有根抵的事务治理的常识,好比:事务的界说,隔离级其他概念,等等.本文将直接行使这些概念而不做具体正

Spring笔记(四): spring的编程式事务与声明式事务

一.Spring 事务属性分析 事务管理对于企业应用而言至关重要.它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性.就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到操作过程中机器突然出故障的情况,此时,事务就必须确保出故障前对账户的操作不生效,就像用户刚才完全没有使用过取款机一样,以保证用户和银行的利益都不受损失. 在 Spring 中,事务是通过 TransactionDefinition 接口来定义的.该接口包含与事务属性有关的方法.在

全面分析 Spring 的编程式事务管理及声明式事务管理--转

开始之前 关于本教程 本教程将深入讲解 Spring 简单而强大的事务管理功能,包括编程式事务和声明式事务.通过对本教程的学习,您将能够理解 Spring 事务管理的本质,并灵活运用之. 先决条件 本教程假定您已经掌握了 Java 基础知识,并对 Spring 有一定了解.您还需要具备基本的事务管理的知识,比如:事务的定义,隔离级别的概念,等等.本文将直接使用这些概念而不做详细解释.另外,您最好掌握数据库的基础知识,虽然这不是必须. 系统需求 要试验这份教程中的工具和示例,硬件配置需求为:至少带

编程式事务与声明式事务

编程式事务 1.加入jar包 com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar commons-logging-1.1.3.jar spring-aop-4.0.0.RELEASE.jar spring-aspects-4.0.0.RELEASE.jar spring-bea

spring事务管理——编程式事务、声明式事务

本教程将深入讲解 Spring 简单而强大的事务管理功能,包括编程式事务和声明式事务.通过对本教程的学习,您将能够理解 Spring 事务管理的本质,并灵活运用之. 先决条件 本教程假定您已经掌握了 Java 基础知识,并对 Spring 有一定了解.您还需要具备基本的事务管理的知识,比如:事务的定义,隔离级别的概念,等等.本文将直接使用这些概念而不做详细解释.另外,您最好掌握数据库的基础知识,虽然这不是必须. 系统需求 要试验这份教程中的工具和示例,硬件配置需求为:至少带有 512MB 内存(

Struts2的输入验证(四)-自定义验证器与编程式验证

一.自定义验证器 1.实现步骤: 1)定义一个验证器的类 自定义验证器必须实现 Validator 接口,由于ValidatorSupport 和 FieldValidatorSupport 实现了 Validator 接口,因此可以继承ValidatorSupport 或 FieldValidatorSupport Ⅰ. 若需要普通的验证程序,可以继承 ValidatorSupport 类: Ⅱ. 若需要字段验证程序,可以继承 FieldValidatorSupport 类: Ⅲ. 若验证程序