activemq实验

实验环境:activemq4.1.1/spring1.2.8

思路:使用spring的jmsTemplate来封装jms的具体操作,使用SimpleMessageConverter把string和object转换成message

spring配置: 

xml 代码
  1. <beans>  
  2.     <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">  
  3.         <property name="brokerURL" value="tcp://localhost:61616"/>
  4.     </bean>  
  5.        
  6.     <bean id="messageConverter" class="org.springframework.jms.support.converter.SimpleMessageConverter"/>  
  7.        
  8.     <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">  
  9.         <property name="connectionFactory">  
  10.             <bean class="org.springframework.jms.connection.SingleConnectionFactory">  
  11.                 <property name="targetConnectionFactory" ref="jmsConnectionFactory"/>  
  12.             </bean>  
  13.         </property>  
  14.         <property name="defaultDestinationName" value="TEST.FOO"/>  
  15.         <property name="pubSubDomain" value="false"/>  
  16.         <property name="deliveryMode" value="2"/>  
  17.         <property name="messageConverter" ref="messageConverter"/>  
  18.     </bean>  
  19.        
  20.     <bean id="messageProducter" class="jms.MessageProducter">  
  21.         <property name="jmsTemplate" ref="jmsTemplate"/>  
  22.     </bean>  
  23. </beans>  

代码:

java 代码
  1. public class MessageProducter {   
  2.     private JmsTemplate jmsTemplate;   
  3.     private int messageSize = 255;   
  4.        
  5.     public void sendMessage(){   
  6.         for(int i=5;i<10;i++){   
  7.             jmsTemplate.convertAndSend(createMessageText(i));   
  8.         }   
  9.     }   
  10.        
  11.     private String createMessageText(int index) {   
  12.         StringBuffer buffer = new StringBuffer(messageSize);   
  13.         buffer.append("Message: " + index + " sent at: " + new Date());   
  14.         if (buffer.length() > messageSize) {   
  15.             return buffer.substring(0, messageSize);   
  16.         }   
  17.         for (int i = buffer.length(); i < messageSize; i++) {   
  18.             buffer.append(' ');   
  19.         }   
  20.         return buffer.toString();   
  21.     }   
  22.        
  23.     public void setJmsTemplate(JmsTemplate jmsTemplate) {   
  24.         this.jmsTemplate = jmsTemplate;   
  25.     }   
  26.   
  27.     public static void main(String[] args){   
  28.         ApplicationContext context = new ClassPathXmlApplicationContext("jms/spring*.xml");   
  29.         MessageProducter producter = (MessageProducter) context.getBean("messageProducter");   
  30.         producter.sendMessage();   
  31.         ((AbstractApplicationContext) context).close();   
  32.     }   
  33. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值