在jboss的server\default\deploy下添加*-service.xml
<?xml version="1.0" encoding="UTF-8"?> <server>
<!-- Queue方式--> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=wxbQueue"> <attribute name="JNDIName">queue/wxbQueue</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean>
<!-- Queue方式-->
<mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Topic,name=wxbTopic">
<attribute name="JNDIName">topic/wxbTopic</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>
Queue消息发送类
InitialContext initialContext=new InitialContext();
QueueConnectionFactory factory= (QueueConnectionFactory) initialContext.lookup("QueueConnectionFactory");
QueueConnection connection=factory.createQueueConnection();
//第一个属性 true启动事务
QueueSession session=connection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
Destination destination=(Destination) initialContext.lookup("queue/wxbQueue");
MessageProducer producer= session.createProducer(destination);
producer.send(session.createTextMessage("你好 我是EJB发送者 我会发消息的哦"));
session.close();
connection.close();
System.out.println("消息发送成功!!!!!!");
Queue接受类
@MessageDriven(activationConfig={
@ActivationConfigProperty( propertyName="destinationType",
propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="queue/wxbQueue")
})
public class ReviceBean implements MessageListener {
@Override
public void onMessage(Message arg0) {
TextMessage textMessage=(TextMessage) arg0;
try {
System.out.println(textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
运行Queue发送类 将Queue接受类进行打包(jar)并部署到jboss服务器目录(jboss的server\default\deploy)下
Topic发送类
InitialContext initialContext=new InitialContext();
TopicConnectionFactory factory=(TopicConnectionFactory) initialContext.lookup("TopicConnectionFactory");
TopicConnection connection=factory.createTopicConnection();
TopicSession session=connection.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
Destination destination=(Destination) initialContext.lookup("topic/wxbTopic");
MessageProducer producer=session.createProducer(destination);
producer.send(session.createTextMessage("Topuc Message Bean"));
session.close();
connection.close();
System.out.println("发送完毕");
Topic接受类
@MessageDriven(activationConfig={
@ActivationConfigProperty( propertyName="destinationType",
propertyValue="javax.jms.Topic"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="topic/wxbTopic")
})
public class TopicReviceBean implements MessageListener {
@Override
public void onMessage(Message arg0) {
TextMessage message=(TextMessage) arg0;
try {
System.out.println(message.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
将Topic接受类进行打包(jar)并部署到jboss服务器目录下(jboss的server\default\deploy) 运行Topic发送类
浙公网安备 33010602011771号