java - 远程 JMS 队列的客户端

标签 java glassfish jms glassfish-3

我在远程 glassfish 服务器上配置了一个 JMS 队列。我正在尝试从我的本地机器连接这个队列。是否可以直接连接到此服务器,或者我需要通过某些代理/代理连接?它是如何工作的? (我是jms区的新人) 非常感谢

最佳答案

如果您的客户端应用程序在 Glassfish 外部运行,这里有一个开放式 mq 客户端的简单代码示例。

要使其正常工作,您需要从 glassfishInstall/mq/lib 目录中引用 2 个 openmq jar - imq.jar 和 jms.jar

import com.sun.messaging.ConnectionConfiguration;
import com.sun.messaging.ConnectionFactory;
import com.sun.messaging.Queue;
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Session;

public class TestJmsClientStandalone2 {

    public static void main( String[] args ) throws JMSException
    {
        ConnectionFactory connFactory = new ConnectionFactory();
        connFactory.setProperty(ConnectionConfiguration.imqAddressList, "remotehostip:7676");

        Queue myQueue = new Queue("myRemoteQueue");

        try (Connection connection = connFactory.createConnection(); 
                Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 
                MessageProducer producer = session.createProducer(myQueue)) {

            Message message = session.createTextMessage("this is my test message");
            producer.send(message);
        }
    }
}

关于java - 远程 JMS 队列的客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17276176/

相关文章:

用于大量文件的 Java 内容 API

java - 名称 'flight_Num' 必须与模式 '^[a-z][a-zA-Z0-9]*$' 匹配

jakarta-ee - 将 Jersey 2.1 与 CDI 一起使用

windows-services - 创建 Glassfish Windows 服务错误

java - 使用 Spring JMS 命名空间时未调用方法

java - 将 WebSphere MQ 类用于 Java 而不是 JMS 有什么好处?

java - 从elasticsearch 5.1查询时出现异常

java - 如何在java 1.6版本的IBM Lotus Notes中运行CoSign Signature SOAP API代码?

java - 与 glassfish 为多个 web 项目共享 ejb 3

java - Websphere MQ 系列 - MQGMO_WAIT