JBOSS5.1 Configuration and Run(二)ObjectMessageBean

JBOSS5.1 Configuration and Run(二)ObjectMessageBean

1. The message Bean trans from the point to point, AddressMessage.java:
package com.sillycat.mdb.entities;

import java.io.Serializable;

public class AddressMessage implements Serializable {
private static final long serialVersionUID = 3887312094158862657L;

private Integer id;

private String street;

private String country;

public AddressMessage() {

}

public AddressMessage(Integer id, String street, String country) {
this.id = id;
this.street = street;
this.country = country;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getStreet() {
return street;
}

public void setStreet(String street) {
this.street = street;
}

public String getCountry() {
return country;
}

public void setCountry(String country) {
this.country = country;
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((country == null) ? 0 : country.hashCode());
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((street == null) ? 0 : street.hashCode());
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
AddressMessage other = (AddressMessage) obj;
if (country == null) {
if (other.country != null)
return false;
} else if (!country.equals(other.country))
return false;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
if (street == null) {
if (other.street != null)
return false;
} else if (!street.equals(other.street))
return false;
return true;
}
}

2. the mdb bean AddressMDB.java:
package com.sillycat.mdb;

import javax.annotation.Resource;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.ejb.MessageDrivenContext;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;

import com.sillycat.mdb.entities.AddressMessage;

@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/AddressQueue") })
public class AddressMDB implements MessageListener {

@Resource
private MessageDrivenContext mdc;

public void onMessage(Message msg) {
try {
if (msg instanceof ObjectMessage) {
ObjectMessage message = (ObjectMessage) msg;
AddressMessage addressMessage = null;
addressMessage = (AddressMessage) message.getObject();
System.out.println("street:" + addressMessage.getStreet());
}
} catch (Exception e) {
e.printStackTrace();
mdc.setRollbackOnly();
}
}

}

3. the Client bean AddressMessageClient.java:
package com.sillycat.mdb;

import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.naming.InitialContext;

import com.sillycat.mdb.entities.AddressMessage;

public class AddressMessageClient {

public static void main(String[] args) throws Exception {
QueueConnection cnn = null;
QueueSender sender = null;
QueueSession session = null;
InitialContext ctx = new InitialContext();
Queue queue = (Queue) ctx.lookup("queue/AddressQueue");
QueueConnectionFactory factory = (QueueConnectionFactory) ctx
.lookup("ConnectionFactory");
cnn = factory.createQueueConnection();
session = cnn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
sender = session.createSender(queue);
ObjectMessage address_message = session.createObjectMessage();
AddressMessage addressMessage = new AddressMessage();
addressMessage.setStreet("三官堂");
addressMessage.setCountry("China");
address_message.setObject(addressMessage);
sender.send(address_message);
System.out.println("Message sent successfully to remote queue.");
}

}

4.the configura xml in E:\jboss-5.1.0.GA\server\default\deploy\messaging\destinations-service.xml
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=AddressQueue"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="JNDIName">queue/AddressQueue</attribute>
<attribute name="RedeliveryDelay">10000</attribute>
<attribute name="MaxDeliveryAttempts">3</attribute>
</mbean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值