Thanks Claudio. I tried your code using direct endpoint and it works.

Thanks,
Ivan

-----Original Message-----
From: Ivan Tam
Sent: Monday, April 24, 2023 6:01 PM
To: users@camel.apache.org
Subject: RE: wiretap to kamelet question

No it doesn’t work in Java 11

2023-04-24 16:48:16.300  INFO 9804 --- [           main] 
org.apache.camel.main.MainSupport        : Apache Camel (JBang) 3.20.1 is 
starting
2023-04-24 16:48:16.540  INFO 9804 --- [           main] 
org.apache.camel.main.MainSupport        : Using Java 11.0.17 with PID 9804. 
Started by devname in /home/devname/examples/test-kamelet
2023-04-24 16:48:16.561  INFO 9804 --- [           main] 
he.camel.cli.connector.LocalCliConnector : Camel CLI enabled (local)
2023-04-24 16:48:18.592  INFO 9804 --- [           main] 
e.camel.impl.engine.AbstractCamelContext : Apache Camel 3.20.1 (Hello) is 
starting
2023-04-24 16:48:18.789  INFO 9804 --- [           main] 
e.camel.impl.engine.AbstractCamelContext : Routes startup (started:1)
2023-04-24 16:48:18.790  INFO 9804 --- [           main] 
e.camel.impl.engine.AbstractCamelContext :     Started route1 (timer://abc)
2023-04-24 16:48:18.791  INFO 9804 --- [           main] 
e.camel.impl.engine.AbstractCamelContext : Apache Camel 3.20.1 (Hello) started 
in 535ms (build:191ms init:146ms start:198ms JVM-uptime:3s)
2023-04-24 16:48:19.782  INFO 9804 --- [4 - timer://abc] Hello.java:44          
                  : hello
2023-04-24 16:48:19.790  INFO 9804 --- [4 - timer://abc] Hello.java:65          
                  : 2
2023-04-24 16:48:19.802 ERROR 9804 --- [ad #7 - WireTap] 
ocessor.errorhandler.DefaultErrorHandler : Failed delivery for (MessageId: 
69EAF88A8212DE0-0000000000000002 on ExchangeId: 
69EAF88A8212DE0-0000000000000002). Exhausted after delivery attempt: 1 caught: 
org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: 
kamelet://test-sink?cid=2345 due to: 
org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet with id 
test-sink not found in locations: 
classpath:/kamelets,github:apache:camel-kamelets/kamelets,file:test-sink.kamelet.yaml

Message History
---------------------------------------------------------------------------------------------------------------------------------------
Source                                   ID                             
Processor                                          Elapsed (ms)
Hello.java:43                            route1/route1                  
from[timer://abc?period=10000]                         -1536551
Hello.java:44                            route1/log1                    log     
                                                      1
Hello.java:46                            route1/setBody1                
setBody[constant{1}]                                          1
Hello.java:48                            route1/setHeader1              
setHeader[main_cid]                                           0
Hello.java:50                            route1/wireTap1                
wireTap[kamelet:test-sink?cid=${header.main_cid}]             2
Hello.java:52                            route1/setHeader2              
setHeader[main_cid]                                           0
Hello.java:53                            route1/wireTap2                
wireTap[kamelet:test-sink?cid=${header.main_cid}]             0

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: 
kamelet://test-sink?cid=2345 due to: 
org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet with id 
test-sink not found in locations: 
classpath:/kamelets,github:apache:camel-kamelets/kamelets,file:test-sink.kamelet.yaml
        at 
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:1008)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:899)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:77)
 ~[camel-support-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.ExchangeHelper.resolveEndpoint(ExchangeHelper.java:115)
 ~[camel-support-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.ExchangeHelper.resolveEndpoint(ExchangeHelper.java:94) 
~[camel-support-3.20.1.jar:3.20.1]
        at 
org.apache.camel.processor.SendDynamicProcessor.resolveEndpoint(SendDynamicProcessor.java:296)
 ~[camel-core-processor-3.20.1.jar:3.20.1]
        at 
org.apache.camel.processor.SendDynamicProcessor.process(SendDynamicProcessor.java:157)
 ~[camel-core-processor-3.20.1.jar:3.20.1]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:477)
 ~[camel-core-processor-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:181)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:217)
 ~[camel-core-processor-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:392)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.processor.WireTapProcessor$WireTapTask.run(WireTapProcessor.java:118)
 ~[camel-core-processor-3.20.1.jar:3.20.1]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
~[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
~[?:?]
        at java.lang.Thread.run(Thread.java:829) ~[?:?] Caused by: 
org.apache.camel.RuntimeCamelException: 
org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet with id 
test-sink not found in locations: 
classpath:/kamelets,github:apache:camel-kamelets/kamelets,file:test-sink.kamelet.yaml
        at 
org.apache.camel.RuntimeCamelException.wrapRuntimeException(RuntimeCamelException.java:66)
 ~[camel-api-3.20.1.jar:3.20.1]
        at 
org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.track(KameletComponent.java:450)
 ~[camel-kamelet-3.20.1.jar:3.20.1]
        at 
org.apache.camel.component.kamelet.KameletComponent$1.doInit(KameletComponent.java:160)
 ~[camel-kamelet-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.service.BaseService.init(BaseService.java:83) 
~[camel-api-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:84)
 ~[camel-api-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.internalAddService(AbstractCamelContext.java:1602)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1543)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1538)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1533)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:992)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        ... 17 more
Caused by: org.apache.camel.component.kamelet.KameletNotFoundException: Kamelet 
with id test-sink not found in locations: 
classpath:/kamelets,github:apache:camel-kamelets/kamelets,file:test-sink.kamelet.yaml
        at 
org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint(KameletComponent.java:421)
 ~[camel-kamelet-3.20.1.jar:3.20.1]
        at 
org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.track(KameletComponent.java:448)
 ~[camel-kamelet-3.20.1.jar:3.20.1]
        at 
org.apache.camel.component.kamelet.KameletComponent$1.doInit(KameletComponent.java:160)
 ~[camel-kamelet-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.service.BaseService.init(BaseService.java:83) 
~[camel-api-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:84)
 ~[camel-api-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.internalAddService(AbstractCamelContext.java:1602)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1543)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1538)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1533)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:992)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        ... 17 more
Caused by: java.util.ConcurrentModificationException
        at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1043) 
~[?:?]
        at java.util.ArrayList$Itr.next(ArrayList.java:997) ~[?:?]
        at 
org.apache.camel.model.RouteDefinitionHelper.validateTopLevel(RouteDefinitionHelper.java:447)
 ~[camel-core-model-3.20.1.jar:3.20.1]
        at 
org.apache.camel.model.RouteDefinitionHelper.prepareRouteImp(RouteDefinitionHelper.java:398)
 ~[camel-core-model-3.20.1.jar:3.20.1]
        at 
org.apache.camel.model.RouteDefinitionHelper.prepareRoute(RouteDefinitionHelper.java:352)
 ~[camel-core-model-3.20.1.jar:3.20.1]
        at 
org.apache.camel.model.RoutesDefinition.prepareRoute(RoutesDefinition.java:327) 
~[camel-core-model-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.DefaultModel.addRouteFromTemplate(DefaultModel.java:509) 
~[camel-core-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.DefaultModel.addRouteFromTemplate(DefaultModel.java:367) 
~[camel-core-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.DefaultCamelContext.addRouteFromTemplate(DefaultCamelContext.java:474)
 ~[camel-core-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.createRouteForEndpoint(KameletComponent.java:409)
 ~[camel-kamelet-3.20.1.jar:3.20.1]
        at 
org.apache.camel.component.kamelet.KameletComponent$LifecycleHandler.track(KameletComponent.java:448)
 ~[camel-kamelet-3.20.1.jar:3.20.1]
        at 
org.apache.camel.component.kamelet.KameletComponent$1.doInit(KameletComponent.java:160)
 ~[camel-kamelet-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.service.BaseService.init(BaseService.java:83) 
~[camel-api-3.20.1.jar:3.20.1]
        at 
org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:84)
 ~[camel-api-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.internalAddService(AbstractCamelContext.java:1602)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1543)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1538)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.addService(AbstractCamelContext.java:1533)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        at 
org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:992)
 ~[camel-base-engine-3.20.1.jar:3.20.1]
        ... 17 more
2023-04-24 16:48:21.863  INFO 9804 --- [read #8 - Delay] 
test-sink.kamelet.yaml:36                : in kamelet 1234 - 1234 - 1
2023-04-24 16:48:29.777  INFO 9804 --- [4 - timer://abc] Hello.java:44          
                  : hello
2023-04-24 16:48:29.779  INFO 9804 --- [4 - timer://abc] Hello.java:65          
                  : 2
2023-04-24 16:48:31.780  INFO 9804 --- [ead #11 - Delay] 
test-sink.kamelet.yaml:36                : in kamelet 1234 - 1234 - 1
2023-04-24 16:48:31.797  INFO 9804 --- [ead #12 - Delay] 
test-sink.kamelet.yaml:36                : in kamelet 2345 - 2345 - 1



-----Original Message-----
From: Claudio Miranda <clau...@claudius.com.br>
Sent: Monday, April 24, 2023 4:18 PM
To: users@camel.apache.org
Subject: Re: wiretap to kamelet question

EXTERNAL EMAIL - Use caution opening attachments and links.

On Sun, Apr 23, 2023 at 3:46 PM Ivan Tam <ivan....@bd.com.invalid> wrote:
>
> 2023-04-23 11:33:58.277  INFO 1493992 --- [           main] 
> org.apache.camel.main.MainSupport        : Apache Camel (JBang) 3.20.1 is 
> starting
> 2023-04-23 11:33:58.427  INFO 1493992 --- [           main] 
> org.apache.camel.main.MainSupport        : Using Java 17.0.6 with PID 
> 1493992. Started by devname in /home/devname/examples/test-kamelet

> Caused by: org.apache.camel.FailedToStartRouteException: Failed to start 
> route test-sink-1 because of Multiple consumers for the same endpoint is not 
> allowed: kamelet://source?routeId=test-sink-1
>         at
> org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResu
> meRouteConsumers(InternalRouteStartupManager.java:376)
> ~[camel-base-engine-3.20.1.jar:3.20.1]

I was able to run your code using Java 11, can you try with it ?

I think the way wireTap was designed, you should have a "direct"
endpoint to wiretap into it, similar to:

from("timer:abc?period=3000")
.setBody().constant("1")
.setHeader("main_cid").constant("1234")
.wireTap("direct:tap")
.setHeader("main_cid").constant("2345")
.wireTap("direct:tap")
.setBody().constant("2")
.log("${body}");

from("direct:tap")
.delay(1000)
.to("kamelet:log-sink?message=${header.main_cid}");

Then you should be able to run with java 17.

--
  Claudio Miranda

clau...@claudius.com.br
https://urldefense.com/v3/__http://www.claudius.com.br__;!!AMCWqqRremt4Wx4!XJ27KKl3THRpLgG_OOACGMz6bYQMIDo8b0Bwr_snWrGBobOdvui1zQ6g-jVvT26mY1UI32offHZd0Y-X$
*******************************************************************
IMPORTANT MESSAGE FOR RECIPIENTS IN THE U.S.A.:
This message may constitute an advertisement of a BD group's products or 
services or a solicitation of interest in them. If this is such a message and 
you would like to opt out of receiving future advertisements or solicitations 
from this BD group, please forward this e-mail to optoutbygr...@bd.com. 
[BD.v1.0]
*******************************************************************
This message (which includes any attachments) is intended only for the 
designated recipient(s). It may contain confidential or proprietary information 
and may be subject to the attorney-client privilege or other confidentiality 
protections. If you are not a designated recipient, you may not review, use, 
copy or distribute this message. If you received this in error, please notify 
the sender by reply e-mail and delete this message. Thank you.
*******************************************************************
Corporate Headquarters Mailing Address: BD (Becton, Dickinson and Company) 1 
Becton Drive Franklin Lakes, NJ 07417 U.S.A.

Reply via email to