JMS学习笔记 (queue的使用)1
1. 在Jboss中创建一个队列
?
<?xml version="1.0" encoding="UTF-8"?>
<server>
? <mbean code="org.jboss.mq.server.jmx.Queue"
???????? name="jboss.mq.destination:service=Queue,name=bitsqueue">
??? <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
? </mbean>?
? <mbean code="org.jboss.mq.server.jmx.Queue"
???????? name="jboss.mq.destination:service=Queue,name=bitsqueue1">
??? <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
? </mbean>
</server>
?
将上述xml文件 发布到Jboss JMS文件夹下
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099
?
2. 向队列中发送消息
package queue;
import javax.jms.*;
import javax.naming.*;
import java.util.Properties;
import java.io.*;
public class send
{
??? public static void main(String args[]) throws Exception
??? {
??????? QueueSender sender;
??????? TextMessage msg;
??????? Context ctx = null;
??????? Properties p = new Properties();
??????? FileInputStream f = new FileInputStream("D:\\resource\\jndi.properties");
??????? p.load(f);
??????? ctx = new InitialContext(p);
??????? QueueConnectionFactory qConFactory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
??????? Queue messageQueue = (Queue) ctx.lookup("queue/bitsqueue");
??????? System.out.println(messageQueue);
??????? QueueConnection qCon = qConFactory.createQueueConnection();
??????? QueueSession session = qCon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
??????? sender = session.createSender(messageQueue);
??????? msg = session.createTextMessage();
??????? msg.setText("a3");
??????? sender.send(msg);
??? }
}
?
注意: 所建的工程classpath 中要引用 包D:\jboss422\client\jbossall-client.jar,否则会包错
?