# JMS Messages wird gecached



## OnDemand (25. Jun 2020)

Tach zusammen,

ich habe einen JmsListener in welchem ich eine Jms Message senden möchte. Im JmsListener wird erstmal jede Menge Daten verarbeitet und am Ende, wird die Message abgesendet. Hat jemand ne Idee warum das so sein kann? Hat das was mit Transactions zu tun.


```
@Autowired
JmsTemplate jmsTemplate;

@Autowired
SenderService senderService;

@JmsListener(destination = "my"-queue", containerFactory = "queueFactory")
public void listen(@Payload MyLoad my, MessageHeaders messageHeaders) throws JMSException {

//Info an ein anderes System dass der Import begann, diese soll sofort gesendt werden
senderService.sendMessage(tenant,my.getName(),UpdateType.RUN_IMPORT_BEGIN, JmsConfig.IMPORT_PROGRESS_QUEUE,jmsTemplate);


//Lädt eine Datei herunter, speicher Daten in die DB

//Nach dem der Prozess beendet ist, wird die Message an den Broker geschickt

}
```


```
@Service
@Slf4j
public class SenderService {

    public void sendMessage(String tenant, Object object, UpdateType updateType, String destinationQueue, JmsTemplate jmsTemplate) {
        jmsTemplate.convertAndSend(destinationQueue, object, message -> {
            message.setStringProperty("updateType", String.valueOf(updateType));
            return message;
        });
    }
}
```


```
@Configuration
@EnableJms
public class JmsConfig {

@Bean
    public JmsListenerContainerFactory<?> queueFactory(ConnectionFactory connectionFactory,
                                                       DefaultJmsListenerContainerFactoryConfigurer configurer) {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        configurer.configure(factory, connectionFactory);
        factory.setMessageConverter(messageConverter());
        factory.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE);
        factory.setSessionTransacted(true);
        factory.setPubSubDomain(false);
        return factory;
    }

}
```


----------



## mihe7 (25. Jun 2020)

Löst das Dein Problem? https://stackoverflow.com/questions...ge-immediately-disregarding-current-tx-status


----------



## OnDemand (25. Jun 2020)

Hab es jetzt quick and dirty mit einem seperaten Thread hinbekommen. Aber wo ich mir das  so durchlese, macht das Sinn mit 2 Factories. Werd ich nochmal umbauen, danke!


----------

