<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("消息已发送");

 

}

}