You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Thomas Diesler (Jira)" <ji...@apache.org> on 2020/06/09 05:29:00 UTC
[jira] [Updated] (CAMEL-15165) DirectConsumer not available any
more
[ https://issues.apache.org/jira/browse/CAMEL-15165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Diesler updated CAMEL-15165:
-----------------------------------
Description:
Code like [this|https://github.com/wildfly-extras/wildfly-camel/blob/master/itests/standalone/basic/src/test/java/org/wildfly/camel/test/converter/CustomConverterTest.java#L56] used to work with 3.1.0, but fails with 3.3.0
{code}
CamelContext camelctx = new DefaultCamelContext(false);
camelctx.setLoadTypeConverters(true);
camelctx.init();
camelctx.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("direct:start").convertBodyTo(Map.class);
}
});
camelctx.start();
try {
ProducerTemplate producer = camelctx.createProducerTemplate();
Map<?, ?> result = producer.requestBody("direct:start", new Customer("John", "Doe"), Map.class);
Assert.assertEquals("{firstName=John, lastName=Doe}", result.toString());
} finally {
camelctx.close();
}
{code}
{code}
Caused by: org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: direct://start. Exchange[]
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:59)
at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:212)
at org.apache.camel.processor.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:110)
at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:107)
at org.apache.camel.impl.engine.DefaultProducerCache.send(DefaultProducerCache.java:185)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:176)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:172)
at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:390)
... 150 more
{code}
it seems to have to do with the use of ...
{code}
camelctx.setLoadTypeConverters(true);
camelctx.init();
{code}
Is this an intentional change that requires code migration?
was:
Code like like [this|https://github.com/wildfly-extras/wildfly-camel/blob/master/itests/standalone/basic/src/test/java/org/wildfly/camel/test/converter/CustomConverterTest.java#L56] used to work with 3.1.0, but fails with 3.3.0
{code}
CamelContext camelctx = new DefaultCamelContext(false);
camelctx.setLoadTypeConverters(true);
camelctx.init();
camelctx.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("direct:start").convertBodyTo(Map.class);
}
});
camelctx.start();
try {
ProducerTemplate producer = camelctx.createProducerTemplate();
Map<?, ?> result = producer.requestBody("direct:start", new Customer("John", "Doe"), Map.class);
Assert.assertEquals("{firstName=John, lastName=Doe}", result.toString());
} finally {
camelctx.close();
}
{code}
{code}
Caused by: org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: direct://start. Exchange[]
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:59)
at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:212)
at org.apache.camel.processor.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:110)
at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:107)
at org.apache.camel.impl.engine.DefaultProducerCache.send(DefaultProducerCache.java:185)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:176)
at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:172)
at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:390)
... 150 more
{code}
it seems to have to do with the use of ...
{code}
camelctx.setLoadTypeConverters(true);
camelctx.init();
{code}
Is this an intentional change that requires code migration?
> DirectConsumer not available any more
> -------------------------------------
>
> Key: CAMEL-15165
> URL: https://issues.apache.org/jira/browse/CAMEL-15165
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 3.3.0
> Reporter: Thomas Diesler
> Priority: Major
> Fix For: 3.4.0
>
>
> Code like [this|https://github.com/wildfly-extras/wildfly-camel/blob/master/itests/standalone/basic/src/test/java/org/wildfly/camel/test/converter/CustomConverterTest.java#L56] used to work with 3.1.0, but fails with 3.3.0
> {code}
> CamelContext camelctx = new DefaultCamelContext(false);
> camelctx.setLoadTypeConverters(true);
> camelctx.init();
>
> camelctx.addRoutes(new RouteBuilder() {
> @Override
> public void configure() throws Exception {
> from("direct:start").convertBodyTo(Map.class);
> }
> });
> camelctx.start();
> try {
> ProducerTemplate producer = camelctx.createProducerTemplate();
> Map<?, ?> result = producer.requestBody("direct:start", new Customer("John", "Doe"), Map.class);
> Assert.assertEquals("{firstName=John, lastName=Doe}", result.toString());
> } finally {
> camelctx.close();
> }
> {code}
> {code}
> Caused by: org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: direct://start. Exchange[]
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:59)
> at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:212)
> at org.apache.camel.processor.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:110)
> at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
> at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:107)
> at org.apache.camel.impl.engine.DefaultProducerCache.send(DefaultProducerCache.java:185)
> at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:176)
> at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:172)
> at org.apache.camel.impl.engine.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:390)
> ... 150 more
> {code}
> it seems to have to do with the use of ...
> {code}
> camelctx.setLoadTypeConverters(true);
> camelctx.init();
> {code}
> Is this an intentional change that requires code migration?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)