请教在Jboss下配置JMS简单例子
有个MessageDrivenBean
package facade.msg;
public class DeliverMsgFacadeEJB implements MessageDrivenBean, MessageListener {
public void ejbCreate() {}
public void ejbRemove() {}
public void setMessageDrivenContext(MessageDrivenContext ctx) {}
public void onMessage(Message msg) {
try {
ObjectMessage omsg = (ObjectMessage) msg;
String str = (String)omsg.getObject();
} catch (Exception e) {
throw new EJBException(e);
}
}
}
在ejb-jar.xml是这样部署:
<message-driven>
<display-name>DeliverMsgFacadeEJB</display-name>
<ejb-name>DeliverMsgFacadeEJB</ejb-name>
<ejb-class>facade.msg.DeliverMsgFacadeEJB</ejb-class>
<transaction-type>Bean</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
</message-driven>
我要在web层这样发送消息给DeliverMsgFacadeEJB,
InitialContext ctx = new InitialContext();
QueueConnectionFactory qf = (QueueConnectionFactory) ctx.lookup("jms/QueueConnectionFactory");
QueueConnection qc = qf.createQueueConnection();
QueueSession qs = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
Queue q = (Queue) ctx.lookup("queue/A");
QueueSender qSender = qs.createSender(q);
ObjectMessage msg = qs.createObjectMessage("OKOKOKOKOKOKOK");
qSender.send(msg);
qc.close();
在Jboss.xml是这样部署吗?
<message-driven>
<ejb-name>DeliverMsgFacadeEJB</ejb-name>
<destination-jndi-name>queue/A</destination-jndi-name>
</message-driven>
那"jms/QueueConnectionFactory"这个jndi又是在那里部署,web.xml和jboss-web.xml这两个文件又要怎样写?还需要部署其他文件吗?那位大侠部署过JMS,应该很容易.请给小弟指点指点.