<1>.在{JBOSS_HOME}\server\default\deploy下新建:filename-service.xml
<?xml version="1.0" encoding="UTF-8"?>
<server>
<!--Queue 设置-->
<mbean code="org.jboss.jms.server.destination.QueueService"
name="jboss.messaging.destination:service=Queue,name=myqueue"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<attribute name="JNDIName">queue/myqueue</attribute>
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="RedeliveryDelay">5000</attribute>
</mbean>
<!--Topic设置-->
<mbean code="org.jboss.jms.server.destination.TopicService"
name="jboss.messaging.destination:service=Topic,name=mytopic"
xmbean-dd="xmdesc/Topic-xmbean.xml">
<attribute name="JNDIName">topic/mytopic</attribute>
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
<attribute name="Clustered">true</attribute>
</mbean>
</server>
<2>.创建监听服务
package com.lixing.ejb;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
@MessageDriven(
activationConfig={
@ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination",propertyValue="queue/myqueue")
}
)
public class MyQueueMDBBean implements MessageListener{
public void onMessage(Message message) {
try {
TextMessage textMessage = (TextMessage) message;
System.out.println(textMessage.getText());
} catch (Exception e) {
e.printStackTrace();
}
}
}
<3>.创建客户端
package com.lixing.ejb;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.TextMessage;
import javax.naming.InitialContext;
public class MyQueueMDBBeanClient {
public static void main(String[] args) throws Exception{
//1
InitialContext context=new InitialContext();
//2.Get QueueConnectionFactory Object
QueueConnectionFactory factory=(QueueConnectionFactory)context.lookup("ConnectionFactory");
//3.Create QueueConnection Object
QueueConnection connection=factory.createQueueConnection();
//4.Create QueueSession Object
QueueSession session=connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
//5.Get Destination Object
Queue queue=(Queue)context.lookup("queue/myqueue");
//6.Create TextMessage
TextMessage textMessage=session.createTextMessage("你好,世界");
//7.Create Sender
QueueSender sendr=session.createSender(queue);
//Sender Message
sendr.send(textMessage);
session.close();
connection.close();
System.out.println("消息已发送");
}
}
转载于:https://blog.51cto.com/kinglixing/683746