ActiveMQ的JMS使用

Context ctx;

ConnectionFactory factory;

Connection connection = null;

Session session = null;

MessageProducer producer = null;

Destination destination;

Message msg;

try {

            ctx = new InitialContext(); //初始化,加载jndi配置文件

            factory = (ConnectionFactory) ctx.lookup("connectionFactory"); //获取链接工厂

            connection = factory.createConnection(); //创建连接

            connection.start();

            session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);

            destination = session.createQueue("TEST.QUEUE");

            producer = session.createProducer(destination);

            msg = session.createTextMessage("test messages");

            System.out.println("sending message");

            producer.send(msg); //发送消息

        } catch (NamingException | JMSException e) {

            e.printStackTrace();

        } finally { //关闭连接

            try {

                if (producer != null) {

                    producer.close();

                }

            } catch (JMSException e) {

                e.printStackTrace();

            }

            try {

                if (session != null) {

                    session.close();

                }

            } catch (JMSException e) {

                e.printStackTrace();

            }

            try {

                if (connection != null) {

                    connection.close();

                }

            } catch (JMSException e) {

                e.printStackTrace();

            }

        }

jndi.properties:

java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory

java.naming.provider.url=tcp://localhost:61616

connectionFactoryNames = connectionFactory

猜你喜欢

转载自theseus.iteye.com/blog/2332990