Je fais mes premiers pas avec Camel et travaille actuellement à l'écriture d'un simple test de junit en utilisant jms comme moyen de transport.ConnectionFactory exception Test de chameau JMS
Voici un code que j'ai écrit:
public class FirstMockTest extends CamelTestSupport {
@Override
protected RoutesBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
from("jms:topic:quote")
.to("mock:quote");
}
};
}
@Test
public void testMessageCount() throws InterruptedException {
MockEndpoint mockEndpoint = getMockEndpoint("mock:quote");
mockEndpoint.setExpectedMessageCount(1);
template.sendBody("jms:topic:quote", "Camel rocks");
mockEndpoint.assertIsSatisfied();
}
}
En raison de connectionFactory manquante, je suis l'exception suivante:
org.apache.camel.FailedToCreateRouteException: Failed to create route route1: Route(route1)[[From[jms:topic:quote]] -> [To[mock:quote]]] because of connectionFactory must be specified
Je suis en mesure de le corriger en ajoutant les lignes suivantes à mon itinéraire:
ConnectionFactory connectionFactory =
new ActiveMQConnectionFactory("vm://localhost?roker.persistent=false");
context.addComponent("jms", JmsComponent.jmsComponent(connectionFactory));
Mais je n'aime pas ajouter certains composants à mon contexte à l'intérieur de la route. Aussi, si je veux avoir un autre itinéraire, je devrai le refaire. Évidemment, il devrait y avoir une autre façon de dire mon test sur la fabrique de connexions.
Merci d'avance!