spring,weblogic配置jms
1 weblogic的设置都在附件里面,以图片的形式展示。
?
?
2 spring 的配置文件:
?
?<!-- JNDI 配置 -->?
?? <bean id="jndiTemplate" value="ConnectionFactory" />
????????? <property name="jndiTemplate" ref="jndiTemplate"/>?
???? </bean>?
<!-- jms?队列?Queue 是在第11页图片里面要填写的jndi的名称-->??
<bean id="jmsDestination" value="Queue" />
?????? <property name="jndiTemplate" ref="jndiTemplate"/>
????? </bean>
<!-- jms模板-->
<bean id="jmsTemplate" ref="jmsConnectionFactory" />
????????? <property name="defaultDestination" ref="jmsDestination" />
???</bean>
<!-- 定义发送者-->
<bean id="sender" ref="jmsTemplate" />?
?</bean>
<!-- 定义接收者-->
<bean id="receiver" ref="jmsConnectionFactory" />
???????? <property name="destination" ref="jmsDestination" />
???????? <property name="messageListener" ref="receiver" />
???????? ?<property name="concurrentConsumers" value= "30"/>
????? <property name="autoStartup" value="true"/>
????? <property name="sessionTransacted" value="true"/>?????????
??</bean>
3 Sender.java类
//SimpleMimeObject 是自己定义的一个类
public class Sender{
?private JmsTemplate jmsTemplate;?
??? public? void sendMessage(final SimpleMimeObject message) {
??????????????? this.jmsTemplate.send(
????????????????? new MessageCreator() {
????????????????????? public Message createMessage(Session session) throws JMSException {
????????????????????????? return session.createObjectMessage(message);//message 发送的消息
????????????????????? }
????????????????? }
????????? );
????? }
?public JmsTemplate getJmsTemplate() {
??return jmsTemplate;
?}
?public void setJmsTemplate(JmsTemplate jmsTemplate) {
??this.jmsTemplate = jmsTemplate;
?}???
}
4 Receiver.java
?
public class Receiver implements MessageListener {
?public void onMessage(Message message) {
?if(message instanceof ObjectMessage) {
???? Object object = ((ObjectMessage)message).getObject();
??????????????? if(object instanceof SimpleMimeObject) {
?????????????????????????????? //接收者对消息进行处理
????????????????????????????? }
?
????????????????????????? }
??????????? }
?
}
?
?
总结:sender 发送一个消息给jms服务器,sender就不用在管这个消息了,消息会被加到jms的队列里面。
???????? receiver 在从队列里面接收消息,然后对这个消息进行处理。
1 楼 96sd2 2008-09-16 感谢分享! 2 楼 zlotus 2009-12-03 请问你用的spring和weblogic版本是多少? 3 楼 brave233 2011-07-18 感谢分享! 4 楼 johnsonyang 2012-02-24 this.jmsTemplate.send(