Я устанавливаю JMS, используя ActiveMq в приложении весенней загрузки.Но не может понять, как запретить отправителю (провайдеру сообщений) добавлять дубликаты сообщений в очередь.
Первоначальная конфигурация компонентов JMS и компонентов преобразования сообщений моего приложения выглядит следующим образом
@Bean
public Queue queue() {
return new ActiveMQQueue("pendingDocuments.queue");
}
@Bean
public MessageConverter jacksonJmsMessageConverter() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
converter.setTargetType(MessageType.TEXT);
converter.setTypeIdPropertyName("_type");
return converter;
}
Реализация метода отправителя
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
@Autowired
private Queue pendingDocumentsQueue;
public void getPendingDocuments(){
/*My Custom Java Object, Actually these objects will read from DB for every 5 min, so process no way to know either these are already added to queue or not*/
Document document= new Document();
document.setUniqueId("122212");
document.setContent("TEST CONTENT");
this.jmsMessagingTemplate.convertAndSend(this.pendingDocumentsQueue, document);
}
Я хотел бы знать, как мы можем добавить сообщения (мой объект документа) в очередь на основе уникального идентификатора документа.