JMS 使用

本文介绍如何使用Spring框架简化Java消息服务(JMS)应用的开发,通过配置ActiveMQ作为消息中间件,并演示了消息的发送与接收过程,包括同步和异步方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文摘自 spring in action 。




消息代理:ActiveMQ


连接工厂:

<bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory">
   <property name="brokerURL" value="tcp://localhost:61616"/>
</bean>


消息目的地:
<bean id="queue" class="org.apache.activemq.command.ActiveMQQueue">
  <construtor-arg value="spitter.queue"/>
</bean>


使用传统的JMS(不使用Spring)发送消息:


。。。


Spring的一个设计理念是规避检查型异常。使用Spring的模板可以将一些检查型异常“转为”非检查型异常,
可避免一些必要的异常处理。模板的另一好处是省略了大量的重复性代码,避免了“重复自己”。


JMS模板:
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
  <!--连接工厂-->
  <property name="connectionFactory" ref="connectionFactory" />
  <!--默认的目的地-->
  <property name="defaultDestinationName" value="sppittle.alert.queue"/>
</bean>


  
发送消息:
jmsTemplate.send("spitter.alert.queue",new MessageCreator(){
     public Message createMessage(Session session) throws JMSException {
	     return session.createObjectMessage(spitter);
	 }
	 }
	             );




接收消息:
ObjectMessage receivedMessage = (ObjectMessage) jmsTemplate.receive();//receive()是同步的
return (Spitter) receivedMessage.getObject();


  
实现异步接收消息--


配置消息监听器:
<bean id="spittleHandler" class="com.habuma.spitter.alerts.SpittleAlertHandler" />
<jms:listener-container connection-factory="connectionFactory">
    <jms:listener destination="spitter.alert.queue" ref="spittleHandler" method="processSpittle" />
</jms:listener-container>



and ...
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值