Может ли автономное приложение Spring Boot, интегрированное с Camunda, использовать сообщения JMS от JbossFuse? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть activemq: очередь inQueue в моем JbossFuse.Как использовать те сообщения JMS, которые поставлены в очередь, чтобы мой экземпляр процесса запускался в загрузочном приложении Spring, интегрированном с Camunda?Будет ли полезна какая-либо ссылка на ссылки или образцы?

В настоящее время я могу использовать сообщения из activemq, но я не уверен, как использовать сообщения из приложения Jboss Fuse ActiveMQ?

@Component
public class ActiveMQConsumer {

@Autowired
CamelContext camelContext;
@Autowired
ProducerTemplate producerTemplate;

@SuppressWarnings("unchecked")
@JmsListener(destination = "inQueue")
public void consumeMessage(JSONObject employeeRecord) throws Exception {

    if (employeeRecord instanceof JSONObject) {
        HashMap<String, Object> employeeRecordMap = (HashMap<String, Object>) employeeRecord.toMap();
        Exchange exchange = ExchangeBuilder.anExchange(camelContext).withBody(employeeRecordMap).build();
        HashMap<String, Object> employeeDetails = (HashMap<String, Object>) employeeRecordMap.get("employeeDetails");
        exchange.setProperty("CamundaBpmBusinessKey", employeeDetails.get("employeeADId"));
        producerTemplate.send("camunda-bpm:start?processDefinitionKey=camunda-camel-activeMQ", exchange);
    }
    }
}

приложения.properties

# activeMQ config
spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.user=admin
spring.activemq.password=admin

Ожидается использование сообщений от JbossFuse.

1 Ответ

0 голосов
/ 31 мая 2019

Я бы порекомендовал использовать архетип maven io.fabric8.archetypes spring-boot-camel-amq-archetype версии 2.2.197. Это можно найти:

Spring Boot example running a Camel route connecting to ActiveMQ
http://repo1.maven.org/maven2/

Это даст вам хороший пример проекта, который имеет все зависимости Camel и Spring и несколько хороших примеров.

...