近日学习ejb,,,做点笔记的好
//先在ejb的deploy添加 memorycat-serive.xml <?xml version="1.0" encoding="utf-8" ?> <server> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=MemoryCatQueue"> <attribute name="JNDIName">queue/MemoryCatQueue</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> <mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Topic,name=MemoryCatTopic"> <attribute name="JNDIName">topic/MemoryCatTopic</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> </server>
//QueueSender.java
package com.memorycat.ejb.sender;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSession;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class QueueSender
{
public static void main(String[] args) throws NamingException, JMSException
{
// TODO Auto-generated method stub
InitialContext initialContext = new InitialContext();
QueueConnectionFactory queueConnectionFactory=(QueueConnectionFactory)initialContext.lookup("QueueConnectionFactory");
QueueConnection queueConnection = queueConnectionFactory.createQueueConnection();
QueueSession queueSession=queueConnection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
Destination destination= (Destination) initialContext.lookup("queue/MemoryCatQueue");
MessageProducer messageProducer = queueSession.createProducer(destination);
messageProducer.send(queueSession.createTextMessage("hello,java Message Serive!"));
queueSession.close();
queueConnection.close();
}
}
//QueueListener.java
package com.memorycat.ejb.revicer;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.JMSException;
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/MemoryCatQueue"), })
public class QueueListener implements MessageListener
{
@Override
public void onMessage(Message arg0)
{
// TODO Auto-generated method stub
TextMessage textMessage = (TextMessage) arg0;
try
{
System.out.println(textMessage.getText());
}
catch (JMSException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Topic 类型差不多,就不发出来,,具体可以参考附件ejbjms.zip