java - jms Could not connect to broker URL: tcp://localhost:61616.

 那0年_277 发布于 2022-10-30 20:37

看jms消息服务 代码如下
报错的地方是 QueueConnection qcConnection = qFactory.createQueueConnection();
jodi的配置是 :

java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url=tcp://loclhost:61616
java.naming.security.principal=system
java.naming.cesurity.credentials=manager

#connectionFactoryNames=QueueCF
topic.topic1 = jms.topic1

connectionFactoryNames = QueueCF
queue.LoanRequestQ = jms.LoanRequestQ
queue.LoanResponseQ = jms.LoanResponseQ

代码如下 :


package chapter4.p2p;

import java.util.Enumeration;

import javax.jms.ConnectionMetaData;
import javax.jms.JMSException;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/*
 * 获取 jndi中的元数据
 */
public class MetaData {
    public static void main(String[] args) {
        try {
            Context context = new InitialContext();
            QueueConnectionFactory qFactory  = (QueueConnectionFactory) context.lookup("QueueCF");
            System.out.println(qFactory);
            
            // createQueueConnection() 报了 Could not connect to broker URL: tcp://10.183.47.191:61616. Reason: java.net.ConnectException: Connection refused
            QueueConnection qcConnection  = qFactory.createQueueConnection();
            qcConnection.start();
            
            ConnectionMetaData metaData = qcConnection.getMetaData();
            System.out.println("jms version " + metaData.getJMSMajorVersion()+"."+metaData.getJMSMinorVersion());
            System.out.println("jms provider " + metaData.getJMSProviderName());
            System.out.println("jmsx properties supported :");
            Enumeration e = metaData.getJMSXPropertyNames();
            while (e.hasMoreElements()) {
                System.out.println(" " + e.nextElement());
            }
        } catch (NamingException e) {
            
            e.printStackTrace();
        } catch (JMSException e) {
            e.printStackTrace();
            System.exit(1);
        }
        
    }
}

百度l mac下擦找端口 lsof -i tcp:61616 但是一直没显示信息 ,请问这个是什么问题呢 ?是端口占用还是jndi的配置不对 ?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有