我在远程 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/