Hi, I'm having problems while replacing jpaEndpoint with direct in the test. Error is "No consumers available on endpoint".
Thanks in advance! Here is test definition: public class RutaArchivarItemsTest extends CamelTestSupport { @Produce(uri = "direct:producer") protected ProducerTemplate template; @EndpointInject(uri = "direct:lala") protected DirectEndpoint directEndpoint; @EndpointInject(uri = "mock:borrarEventoPieza") protected MockEndpoint borrarEventoPieza; @EndpointInject(uri = "mock:archivoArchivoPieza") protected MockEndpoint archivoArchivoPieza; private String id_prefix = RutaArchivarItems.class.getSimpleName(); @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RutaArchivarItems(); } @Override public boolean isUseAdviceWith() { return true; } public void adviceRoutes() throws Exception { context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() { @Override public void configure() throws Exception { replaceFromWith(directEndpoint); weaveById(id_prefix + "guardarArchivo").replace().to(archivoArchivoPieza); weaveById(id_prefix + "buscarEventoPieza").remove(); weaveById(id_prefix + "borrarEventoPieza").replace().to(borrarEventoPieza); weaveById(id_prefix + "buscarConfiguracion").replace().process(new Processor() { @Override public void process(Exchange exchange) throws Exception { exchange.getIn().setHeader((String) exchange.getIn().getHeader("key"), "3"); } }); } }); } @Test public void testEventoSeArchiva() throws Exception { adviceRoutes(); context.start(); Date fechaPieza = DateTime.now().plusHours(-4).toDate(); EventoPieza eventoPieza = new EventoPieza(); eventoPieza.setIntentos(3); eventoPieza.setUltimaFechaEnvio(fechaPieza); template.sendBody(directEndpoint,eventoPieza); assertEquals(1, borrarEventoPieza.getReceivedCounter()); assertEquals(1, archivoArchivoPieza.getReceivedCounter()); context.stop(); } } And route definition: @ContextName("cdi-context") public class RutaArchivarItems extends RutaBase { protected int offset_hours; protected boolean habilitado; JpaEndpoint jpaEventoPieza = new JpaEndpoint(); JpaEndpoint jpaArchivo = new JpaEndpoint(); @PostConstruct public void intialize() { String delay = cf.find(Configuracion.class, Configuracion.GENERAL_CONSUMER_DELAY).getValue(); int backoff_multiplier = Integer.valueOf(cf.find(Configuracion.class, Configuracion.GENERAL_CONSUMER_BACKOFF_MULTIPLIER).getValue()); int backoff_threshold = Integer.valueOf(cf.find(Configuracion.class, Configuracion.GENERAL_CONSUMER_BACKOFF_THRESHOLD).getValue()); //EventoPieza jpaEventoPieza.setCamelContext(getContext()); jpaEventoPieza.setEntityType(EventoPieza.class); jpaEventoPieza.setEntityManagerFactory(entityManagerFactory); jpaEventoPieza.setTransactionManager(transactionManager); jpaEventoPieza.setEndpointUriIfNotSpecified("jpa://archivoEventoPieza"); //Consumer jpaEventoPieza.setConsumeDelete(false); Map<String, Object> prop = new HashMap<>(); prop.put("delay", delay); prop.put("namedQuery", "pieza.paraArchivar"); jpaEventoPieza.setConsumerProperties(prop); jpaEventoPieza.setBackoffMultiplier(backoff_multiplier); jpaEventoPieza.setBackoffIdleThreshold(backoff_threshold); jpaEventoPieza.setMaximumResults(1000); //Producer jpaArchivo.setCamelContext(getContext()); jpaArchivo.setEntityType(ArchivoEventos.class); jpaArchivo.setEntityManagerFactory(entityManagerFactory); jpaArchivo.setTransactionManager(transactionManager); jpaArchivo.setFlushOnSend(true); jpaArchivo.setEndpointUriIfNotSpecified("jpa://archivoArchivoPieza"); offset_hours = Integer.valueOf(cf.find(Configuracion.class, Configuracion.GENERAL_ARCHIVO_OFFSET).getValue()); habilitado = Boolean.valueOf(cf.find(Configuracion.class, Configuracion.GENERAL_ARCHIVO_ENABLED).getValue()); } @Override public void configure() throws Exception { from(jpaEventoPieza).routeId("A_" + id_prefix).autoStartup(isHabilitado()) .setHeader("key", constant(Configuracion.GENERAL_ARCHIVO_OFFSET)) .to("buscarConfiguracion").id(id_prefix + "buscarConfiguracion") .filter().method(BDUtils.class, "piezaListaParaArchivar") .process(new Processor() { @Override public void process(Exchange exchange) throws Exception { Message in = exchange.getIn(); EventoPieza item = (EventoPieza) in.getBody(); ArchivoEventos archivoEventos = new ArchivoEventos(item); in.setBody(archivoEventos); in.setHeader("itemId", item.getItemId()); in.setHeader("event", item.getEvent()); in.setHeader("version", item.getVersion()); } }) .to(jpaArchivo).id(id_prefix + "guardarArchivo") .log(LoggingLevel.INFO, "Archivar: " + body().toString()) .to("buscarEventoPieza").id(id_prefix + "buscarEventoPieza") .to("borrarEventoPieza").id(id_prefix + "borrarEventoPieza") .log(LoggingLevel.INFO, "Borrar: " + body().toString()); } public boolean isHabilitado() { return habilitado; } } -- View this message in context: http://camel.465427.n5.nabble.com/Test-JpaConsumer-route-tp5797313.html Sent from the Camel - Users mailing list archive at Nabble.com.