JMS Messages wird gecached

Diskutiere JMS Messages wird gecached im Netzwerkprogrammierung Bereich.
NicoDeluxe

NicoDeluxe

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.

Code:
@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

}
Code:
@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;
        });
    }
}
Code:
@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;
    }

}
 
NicoDeluxe

NicoDeluxe

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!
 
Thema: 

JMS Messages wird gecached

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben