Сообщения ActiveMQ из темы не принимаются - PullRequest
0 голосов
/ 01 ноября 2018

У меня странная ситуация. Я слушаю тему

Я могу прослушивать сообщение, пока сервер запущен и работает. Но вскоре я прекращаю работу сервера, и сообщения прибывают в очередь, а когда сервер снова работает, я не могу использовать эти сообщения.

@Configuration
public class ConnectionFactoryConfig {
    @Value("${jsa.activemq.broker.url}")
    String brokerUrl;

    @Value("${jsa.activemq.borker.username}")
    String userName;

    @Value("${jsa.activemq.borker.password}")
    String password;

    /*
     * Initial ConnectionFactory
     */
    @Bean
    public ConnectionFactory connectionFactory() {
        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
        connectionFactory.setBrokerURL(brokerUrl);
        connectionFactory.setUserName(userName);
        connectionFactory.setPassword(password);

        return connectionFactory;
    }

    //  @Bean // Serialize message content to json using TextMessage
    public MessageConverter jacksonJmsMessageConverter() {
        MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
        converter.setTargetType(MessageType.TEXT);
//      converter.setTypeIdPropertyName("_type");
        return converter;
    }

    @Bean
    public JmsListenerContainerFactory<?> jsaFactory(ConnectionFactory connectionFactory,
                                                     DefaultJmsListenerContainerFactoryConfigurer configurer) {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        factory.setPubSubDomain(true);
//      factory.setMessageConverter(jacksonJmsMessageConverter());
        configurer.configure(factory, connectionFactory);
        factory.setSessionTransacted(true);
        factory.setSubscriptionDurable(true);
        factory.setClientId("TEST_CLIENT");

        return factory;
    }
}

Абонентская

@Component
public class JmsSubcriber {

    @JmsListener(destination = "${jsa.activemq.topic}")
    public void receive(String msg) {

        System.out.println(new Date() + "::Recieved Message: " + msg);
    }
}

Файлы недвижимости

jsa.activemq.broker.url = TCP: // локальный: 61616

jsa.activemq.borker.username = admin jsa.activemq.borker.password = admin

jsa.activemq.topic = jsa-topic spring.jms.pub-sub-domain = true

посмотреть сообщения в очереди, которые я могу себе

enter image description here

Но при запуске сервера я его не получаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...