java - 如何在Java中获取RabbitMQ的当前IP地址?

标签 java rabbitmq amqp spring-rabbit

我有一个带有地址列表的connectionFactory(org.springframework.amqp.rabbit.connection)

    @Bean(name = "mainConnectionFactory")
    @Primary
    public ConnectionFactory mainConnectionFactory() {
        CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
        String addresses = rabbitmqHost_main + ":" + rabbitmqPort_main + ", " + rabbitmqHost_reserve + ":" + rabbitmqPort_reserve;;
        connectionFactory.setVirtualHost(rabbitmqVirtualHost_main);
        connectionFactory.setUsername(rabbitmqUsername_main);
        connectionFactory.setPassword(rabbitmqPassword_main);
        connectionFactory.setAddresses(addresses);
        return connectionFactory;
    }

我的应用程序会定期自动重新连接到其中一台服务器。如何在Java中获取当前服务器的IP地址?

最佳答案

可以使用类似的方法从运行程序的服务器获取主机名

try {
            InetAddress addr;
            addr = InetAddress.getLocalHost();
            hostname = addr.getHostName();
        } catch (UnknownHostException ex) {
            LOGGER.error("Hostname can not be resolved");
        }

关于java - 如何在Java中获取RabbitMQ的当前IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59194628/

相关文章:

benchmarking - RabbitMQ 消息消费者停止消费消息

java - linkedList.listIterator(linkedList.size()) 是否优化?

java.upcasting

java - 配合 libGDX 和 Jetbrains MPS

java - 多线程环境中 RabbitMQ 的性能问题

rabbitmq - 分布式系统中的消息传递与 RPC(Openstack 与 K8s/Swarm)

java - 如何在客户端套接字连接上设置超时?

rabbitmq-server 无法启动 - 无法连接到 epmd/Ubuntu 16.04

c# - 消费者运行时应用程序崩溃并退出调试器 & rabbit mq 服务重启

AMQP 内容 header 有效负载结构