当activemq服务器关闭时,防止spring应用程序失败

时间:2018-12-14 08:55:52

标签: java spring jms activemq

我使用以下@Bean方法创建了一个Spring JMS侦听器。

    @Bean
    public CachingConnectionFactory cachingConnectionFactory() {
        ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(jmsBrokerUrl);
        activeMQConnectionFactory.setExceptionListener(new ExceptionListener() {

            @Override
            public void onException(JMSException exception) {
                System.out.println("Exception while making mq connection");
            }
        });
        return new CachingConnectionFactory(activeMQConnectionFactory);
    }

连接URL为:

failover:(tcp://localhost:61616)?jms.warnAboutUnstartedConnectionTimeout=30000&initialReconnectDelay=2000&maxReconnectAttempts=2&maxReconnectDelay=2000&startupMaxReconnectAttempts=1

基于此配置,当ActiveMQ重新启动时,项目将自动创建一个全新的连接。

问题:如果在应用程序启动期间ActiveMQ服务器关闭,则容器无法启动。即使连接失败,我还是希望它启动它,并在以后服务器可用时自动重新连接。

与我的问题最接近的问题是here。但是相同的设置对我不起作用。也经历过relevant docs,但我想它与spring有关,与ActiveMQ或JMS有关。

0 个答案:

没有答案