[jira] [Created] (CAMEL-21433) camel run/export --runtime quarkus can't use a route from subdirectory

2024-11-11 Thread Andrej Vano (Jira)
Andrej Vano created CAMEL-21433:
---

 Summary: camel run/export --runtime quarkus can't use a route from 
subdirectory
 Key: CAMEL-21433
 URL: https://issues.apache.org/jira/browse/CAMEL-21433
 Project: Camel
  Issue Type: Bug
  Components: camel-jbang
Affects Versions: 4.8.1
 Environment: {code}
camel version
JBang version: 0.119.0
Camel JBang version: 4.8.1

java -version
java version "21.0.5" 2024-10-15 LTS
Java(TM) SE Runtime Environment Oracle GraalVM 21.0.5+9.1 (build 
21.0.5+9-LTS-jvmci-23.1-b48)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.5+9.1 (build 
21.0.5+9-LTS-jvmci-23.1-b48, mixed mode, sharing)
{code}

Reporter: Andrej Vano


I do:
1. mkdir app
2. camel init app/hello.yaml
3. camel run --runtime camel-quarkus app/hello.yaml

{code}
Running using Quarkus v3.15.1 (preparing and downloading files)
Executing "/home/avano/.sdkman/candidates/java/21.0.5-graal/bin/java 
-Dquarkus.platform.version=3.15.1 -Dquarkus.application.version=1.0-SNAPSHOT 
-Dquarkus.platform.artifact-id=quarkus-bom 
-Dquarkus.platform.group-id=io.quarkus.platform 
-Dquarkus.application.name=jbang-run-dummy -jar 
/tmp/.camel-jbang-run/1731334574314/target/quarkus-app/quarkus-run.jar"
__    __  _   ___  __   __ 
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
--\___\_\/_/ |_/_/|_/_/|_|\/___/   
2024-11-11 15:16:22,390 INFO  [org.apa.cam.qua.cor.CamelBootstrapRecorder] 
(main) Apache Camel Quarkus 3.15.0 is starting
2024-11-11 15:16:22,392 INFO  [org.apa.cam.mai.MainSupport] (main) Apache Camel 
(Main) 4.8.0 is starting
2024-11-11 15:16:22,405 ERROR [org.apa.cam.qua.mai.CamelMainRuntime] (main) 
Failed to start application: org.apache.camel.RuntimeCamelException: 
java.io.FileNotFoundException: Resource not found: 
classpath:camel/app/hello.yaml
at 
org.apache.camel.RuntimeCamelException.wrapRuntimeException(RuntimeCamelException.java:68)
at 
org.apache.camel.main.RoutesConfigurer.configureModeline(RoutesConfigurer.java:366)
at 
org.apache.camel.main.BaseMainSupport.modelineRoutes(BaseMainSupport.java:692)
at 
org.apache.camel.main.BaseMainSupport.autoconfigure(BaseMainSupport.java:535)
at org.apache.camel.main.MainSupport.autoconfigure(MainSupport.java:73)
at 
org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:772)
at 
org.apache.camel.quarkus.main.CamelMain.initCamelContext(CamelMain.java:113)
at org.apache.camel.quarkus.main.CamelMain.doInit(CamelMain.java:83)
at 
org.apache.camel.support.service.BaseService.init(BaseService.java:85)
at 
org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:134)
at 
org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
at 
org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
at 
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown
 Source)
at 
io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown
 Source)
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at 
io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
at 
io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
Caused by: java.io.FileNotFoundException: Resource not found: 
classpath:camel/app/hello.yaml
at 
org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.preParseRoute(YamlRoutesBuilderLoader.java:976)
at 
org.apache.camel.main.RoutesConfigurer.doConfigureModeline(RoutesConfigurer.java:425)
at 
org.apache.camel.main.RoutesConfigurer.configureModeline(RoutesConfigurer.java:352)
... 23 more
{code}

Also when I do {{camel export --runtime quarkus --dir app/export 
app/hello.yaml}}, hello.yaml is placed in {{src/main/resources/camel}}, but the 
content of application.properties is:

{code}
quarkus.native.resources.includes=camel/app/hello.yaml
camel.main.routes-include-pattern=camel/app/hello.yaml
{code}





--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CAMEL-21435) Commons-pool2: When Camel Netty configured with producerPoolMaxTotal=1 and retry, the application hangs

2024-11-11 Thread Dmitrii Kriukov (Jira)
Dmitrii Kriukov created CAMEL-21435:
---

 Summary: Commons-pool2: When Camel Netty configured with 
producerPoolMaxTotal=1 and retry, the application hangs
 Key: CAMEL-21435
 URL: https://issues.apache.org/jira/browse/CAMEL-21435
 Project: Camel
  Issue Type: Bug
  Components: camel-netty
Reporter: Dmitrii Kriukov


Retry on the onException() clause seems to be impossible for 
producerPoolMaxTotal=1 (leads to call of GenericObjectPoolConfig.setMaxTotal())
This causes infinite hanging in case of network IO exceptions.
Netty attempts to utilize a new connection when the old one is still unreleased.
It boils down to method 
org.apache.commons.pool2.impl.GenericObjectPool::borrowObject(Duration 
borrowMaxWaitDuration) throws Exception {}
When producerPoolBlockWhenExhausted = true (the default value), the application 
hangs.
When producerPoolBlockWhenExhausted = false, I get an exception 
2024-11-11 13:41:44 ERROR [com.opt.obp.ser.ada.cam.Logger] (Camel Thread #2 - 
NettyClientTCPWorker) <> Exception occurred: java.util.NoSuchElementException: 
Pool exhausted 
So, either way it's impossible to serve



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (CAMEL-21416) camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with ClassNotFoundException

2024-11-11 Thread Andrej Vano (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrej Vano closed CAMEL-21416.
---
Resolution: Not A Bug

strange, it also works for me now. Probably some mess in my env. Closing

> camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with 
> ClassNotFoundException
> --
>
> Key: CAMEL-21416
> URL: https://issues.apache.org/jira/browse/CAMEL-21416
> Project: Camel
>  Issue Type: Bug
>  Components: camel-jbang
>Affects Versions: 4.8.1
>Reporter: Andrej Vano
>Priority: Minor
>
> What I did:
> 1. jbang app install --force camel@apache/camel
> 2. camel init hello.yaml
> 3. camel run --runtime camel-quarkus hello.yaml
> {code}
> [~]$ camel run --runtime camel-quarkus hello.yaml
> java.lang.ClassNotFoundException: 
> org.apache.camel.kamelets.catalog.KameletsCatalog
>   at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
>   at 
> org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.loadKamelets(KameletCatalogHelper.java:151)
>   at 
> org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.findKameletNames(KameletCatalogHelper.java:37)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.resolveDependencies(ExportBaseCommand.java:368)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(ExportQuarkus.java:448)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export(ExportQuarkus.java:117)
>   at org.apache.camel.dsl.jbang.core.commands.Run.runQuarkus(Run.java:912)
>   at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:414)
>   at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:319)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
>   at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
>   at picocli.CommandLine.access$1500(CommandLine.java:148)
>   at 
> picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
>   at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
>   at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
>   at 
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
>   at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
>   at picocli.CommandLine.execute(CommandLine.java:2174)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:173)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:62)
>   at main.CamelJBang.main(CamelJBang.java:36)
> {code}
> the same issues can be observed with {{runtime camel-spring-boot}}, with 
> {{runtime camel-main}} it works.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever.

2024-11-11 Thread Abhi Ashok (Jira)
Abhi Ashok created CAMEL-21432:
--

 Summary: multicast function executes for ever.  Thread is RUNNABLE 
for ever. 
 Key: CAMEL-21432
 URL: https://issues.apache.org/jira/browse/CAMEL-21432
 Project: Camel
  Issue Type: Bug
  Components: came-core
Affects Versions: 4.4.3
 Environment: |
||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
||Vendor: |Red Hat, Inc.|
|

 

Processing Application Thread: IBM MQ Consumer. 

Camel Version: 4.4.3
Reporter: Abhi Ashok


multicast function used in a Camel Route never returns back occasionally. 

Route Code snippet: 
from(getProcessMessageURI())
.routeId(getSourceId() + ".businessRoute")
.autoStartup(this.getConfigValue(getRouteAutoStartup()))
.transacted(this.getPropagationRequiredPolicy())
.setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
.process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
.bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
.bean(DMUtilityProcessor.class) exchange
.bean(TranslatorExchangeController.class)
.removeHeaders("JMS*")
*.multicast()*
.to(directOutput(), directPersist());
 

*Thread dump shows that the Processing Thread remains in RUNNABLE state.* 

*All Stuck instance of Threaddump shows access to 
SimpleLRUCache$OperationContext.close, where it gets stuck.*

 

Thread Dump:

Name: Camel (camelContext) thread #11 - 
JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
State: *RUNNABLE*
Total blocked: 13,338  Total waited: 13,968

Stack trace: 
org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:207)
org.springframework.tr

[jira] [Updated] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache

2024-11-11 Thread Abhi Ashok (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Abhi Ashok updated CAMEL-21432:
---
Summary: multicast function executes for ever.  Thread is RUNNABLE for 
ever.  Issue appears with multicast operating on SimpleLRUCache  (was: 
multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
appears with SimpleLRUCache)

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with multicast operating on SimpleLRUCache
> -
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Major
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:74

[jira] [Updated] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with SimpleLRUCache

2024-11-11 Thread Abhi Ashok (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Abhi Ashok updated CAMEL-21432:
---
Summary: multicast function executes for ever.  Thread is RUNNABLE for 
ever.  Issue appears with SimpleLRUCache  (was: multicast function executes for 
ever.  Thread is RUNNABLE for ever. )

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with SimpleLRUCache
> --
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Major
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecuto

[jira] [Updated] (CAMEL-21416) camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with ClassNotFoundException

2024-11-11 Thread Andrej Vano (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrej Vano updated CAMEL-21416:

Affects Version/s: 4.8.1

> camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with 
> ClassNotFoundException
> --
>
> Key: CAMEL-21416
> URL: https://issues.apache.org/jira/browse/CAMEL-21416
> Project: Camel
>  Issue Type: Bug
>  Components: camel-jbang
>Affects Versions: 4.8.1
>Reporter: Andrej Vano
>Priority: Major
>
> What I did:
> 1. jbang app install --force camel@apache/camel
> 2. camel init hello.yaml
> 3. camel run --runtime camel-quarkus hello.yaml
> {code}
> [~]$ camel run --runtime camel-quarkus hello.yaml
> java.lang.ClassNotFoundException: 
> org.apache.camel.kamelets.catalog.KameletsCatalog
>   at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
>   at 
> org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.loadKamelets(KameletCatalogHelper.java:151)
>   at 
> org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.findKameletNames(KameletCatalogHelper.java:37)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.resolveDependencies(ExportBaseCommand.java:368)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(ExportQuarkus.java:448)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export(ExportQuarkus.java:117)
>   at org.apache.camel.dsl.jbang.core.commands.Run.runQuarkus(Run.java:912)
>   at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:414)
>   at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:319)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
>   at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
>   at picocli.CommandLine.access$1500(CommandLine.java:148)
>   at 
> picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
>   at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
>   at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
>   at 
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
>   at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
>   at picocli.CommandLine.execute(CommandLine.java:2174)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:173)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:62)
>   at main.CamelJBang.main(CamelJBang.java:36)
> {code}
> the same issues can be observed with {{runtime camel-spring-boot}}, with 
> {{runtime camel-main}} it works.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (CAMEL-21419) Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected

2024-11-11 Thread Federico Mariani (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Federico Mariani resolved CAMEL-21419.
--
Resolution: Fixed

> Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected
> -
>
> Key: CAMEL-21419
> URL: https://issues.apache.org/jira/browse/CAMEL-21419
> Project: Camel
>  Issue Type: Bug
>  Components: camel-spring-boot
>Affects Versions: 4.8.1
>Reporter: Felix Huisinga
>Assignee: Federico Mariani
>Priority: Major
> Fix For: 4.8.2, 4.9.0
>
>
> On upgrading from Camel 4.8.0 to 4.8.1, the app is resulting in application 
> startup failure. The root cause is a conflict between two beans: 
> {{applicationTaskExecutor}} and {{{}taskScheduler{}}}, both of which are 
> being detected by 
> {{{}org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration{}}}.
> Removing the {{@EnableScheduling}} fixes is as there will no longer be two 
> Executor Beans. However, this will result in us not being able to use Spring 
> scheduler.
> +Below is the Log:+
>  
> 2024-11-05T15:24:21.657+01:00  WARN 89193 --- [service-name] [           
> main] ConfigServletWebServerApplicationContext : Exception encountered during 
> context initialization - cancelling refresh attempt: 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 
> 'org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration':
>  Unsatisfied dependency expressed through field 'executor': No qualifying 
> bean of type 'java.util.concurrent.Executor' available: expected single 
> matching bean but found 2: applicationTaskExecutor,taskScheduler
> 2024-11-05T15:24:21.659+01:00  INFO 89193 --- [service-name] [           
> main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
> 2024-11-05T15:24:21.669+01:00  INFO 89193 --- [service-name] [           
> main] .s.b.a.l.ConditionEvaluationReportLogger : 
>  
> Error starting ApplicationContext. To display the condition evaluation report 
> re-run your application with 'debug' enabled.
> 2024-11-05T15:24:21.675+01:00 ERROR 89193 --- [service-name] [           
> main] o.s.b.d.LoggingFailureAnalysisReporter   : 
>  
> ***
> APPLICATION FAILED TO START
> ***
>  
> Description:
>  
> Field executor in 
> org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration
>  required a single bean, but 2 were found:
> - applicationTaskExecutor: defined by method 'applicationTaskExecutor' in 
> class path resource 
> [org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations$TaskExecutorConfiguration.class]
> - taskScheduler: defined by method 'taskScheduler' in class path resource 
> [org/springframework/boot/autoconfigure/task/TaskSchedulingConfigurations$TaskSchedulerConfiguration.class]
>  
> This may be due to missing parameter name information
>  
> Action:
>  
> Consider marking one of the beans as @Primary, updating the consumer to 
> accept multiple beans, or using @Qualifier to identify the bean that should 
> be consumed
>  
> Ensure that your compiler is configured to use the '-parameters' flag.
> You may need to update both your build tool settings as well as your IDE.
> (See 
> https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x#parameter-name-retention)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Oystein Follo (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oystein Follo updated CAMEL-21428:
--
Description: 
We are experiencing a {{NullPointerException}} within the 
{{createTempFileName}} method. This error occurs when {{tempName}} is evaluated 
as {{{}null{}}}, and later in the code, a call to {{tempName.length()}} or 
{{tempName.lastIndexOf()}} results in an exception. This issue can disrupt the 
file processing flow.

*Relevant Code Segment:*

*File: camel-file/components/file/GenericFileProducer.java*

{code:java}
public String createTempFileName(Exchange exchange, String fileName) {
    String answer = fileName;    String tempName;
    if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null)

{         exchange.getIn().setHeader(FileConstants.FILE_NAME, 
FileUtil.stripPath(fileName));         tempName = 
endpoint.getTempFileName().evaluate(exchange, String.class);         
exchange.getIn().removeHeader(FileConstants.FILE_NAME);     }

else {
        tempName = endpoint.getTempFileName().evaluate(exchange, String.class);
    }    int pos = Math.max(answer.lastIndexOf('/'), answer.lastIndexOf("
"));
    if (pos == -1) {
        answer = tempName;
    } else {
        final String prefix = answer.substring(0, pos + 1);
        StringBuilder sb = new StringBuilder(tempName.length() + 
prefix.length() + 1);
        sb.append(prefix);
        sb.append(tempName);
        answer = sb.toString();
    }    if (endpoint.getConfiguration().needToNormalize()) {
        answer = normalizePath(answer);
    }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
answer;
} 
{code}



*Issue Location:*
The issue occurs in the line:
{code:java}
StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
{code}

If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
{{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.

*Steps to Reproduce:*
 # Call {{createTempFileName}} with an {{Exchange}} object where 
{{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
{{{}null{}}}.
 # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
occurs.

*Expected Behavior:*
The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
{{tempName}} is {{{}null{}}}, a default value should be used or a check should 
be added to avoid invoking methods on a {{null}} object.

*Actual Behavior:*
A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
may interrupt the file creation or processing flow.

*Suggested Solution:*
Add a null check for {{tempName}} after it is assigned. For example:
{code:java}
if (tempName == null) {
tempName = "defaultTempName"; // or handle appropriately for your use case
}
{code}
 
Alternatively, consider handling {{null}} scenarios with a fallback or 
error-handling mechanism to avoid this exception.

*Impact:*
This issue disrupts file processing, potentially causing failures in downstream 
applications depending on file operations.

  was:
We are experiencing a {{NullPointerException}} within the 
{{createTempFileName}} method. This error occurs when {{tempName}} is evaluated 
as {{{}null{}}}, and later in the code, a call to {{tempName.length()}} or 
{{tempName.lastIndexOf()}} results in an exception. This issue can disrupt the 
file processing flow.

*Relevant Code Segment:*

*File: camel-file/components/file/GenericFileProducer.java*
public String createTempFileName(Exchange exchange, String fileName) \{
    String answer = fileName;    String tempName;
    if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null) {
        exchange.getIn().setHeader(FileConstants.FILE_NAME, 
FileUtil.stripPath(fileName));
        tempName = endpoint.getTempFileName().evaluate(exchange, String.class);
        exchange.getIn().removeHeader(FileConstants.FILE_NAME);
    } else \{
        tempName = endpoint.getTempFileName().evaluate(exchange, String.class);
    }    int pos = Math.max(answer.lastIndexOf('/'), answer.lastIndexOf("\\"));
    if (pos == -1) \{
        answer = tempName;
    } else \{
        final String prefix = answer.substring(0, pos + 1);
        StringBuilder sb = new StringBuilder(tempName.length() + 
prefix.length() + 1);
        sb.append(prefix);
        sb.append(tempName);
        answer = sb.toString();
    }    if (endpoint.getConfiguration().needToNormalize()) \{
        answer = normalizePath(answer);
    }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
answer;
}
 
*Issue Location:*
The issue occurs in the line:
StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
 
If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
{{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.

*Steps to Reproduce:*
 # Call {{createTempFileName}} with an {{Exchan

[jira] [Commented] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897168#comment-17897168
 ] 

Claus Ibsen commented on CAMEL-21428:
-

What are you using for temp file name that can be eval as null response - this 
seems the problem. Can you tell what you do

> NullPointerException in createTempFileName due to tempName being null in 
> Camel 4.8.0
> 
>
> Key: CAMEL-21428
> URL: https://issues.apache.org/jira/browse/CAMEL-21428
> Project: Camel
>  Issue Type: Bug
>  Components: camel-file
>Affects Versions: 4.8.0, 4.8.1
>Reporter: Oystein Follo
>Priority: Major
>
> We are experiencing a {{NullPointerException}} within the 
> {{createTempFileName}} method. This error occurs when {{tempName}} is 
> evaluated as {{{}null{}}}, and later in the code, a call to 
> {{tempName.length()}} or {{tempName.lastIndexOf()}} results in an exception. 
> This issue can disrupt the file processing flow.
> *Relevant Code Segment:*
> *File: camel-file/components/file/GenericFileProducer.java*
> public String createTempFileName(Exchange exchange, String fileName) \{
>     String answer = fileName;    String tempName;
>     if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null) {
>         exchange.getIn().setHeader(FileConstants.FILE_NAME, 
> FileUtil.stripPath(fileName));
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>         exchange.getIn().removeHeader(FileConstants.FILE_NAME);
>     } else \{
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>     }    int pos = Math.max(answer.lastIndexOf('/'), 
> answer.lastIndexOf("\\"));
>     if (pos == -1) \{
>         answer = tempName;
>     } else \{
>         final String prefix = answer.substring(0, pos + 1);
>         StringBuilder sb = new StringBuilder(tempName.length() + 
> prefix.length() + 1);
>         sb.append(prefix);
>         sb.append(tempName);
>         answer = sb.toString();
>     }    if (endpoint.getConfiguration().needToNormalize()) \{
>         answer = normalizePath(answer);
>     }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
> answer;
> }
>  
> *Issue Location:*
> The issue occurs in the line:
> StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
>  
> If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
> {{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.
> *Steps to Reproduce:*
>  # Call {{createTempFileName}} with an {{Exchange}} object where 
> {{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
> {{{}null{}}}.
>  # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
> occurs.
> *Expected Behavior:*
> The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
> {{tempName}} is {{{}null{}}}, a default value should be used or a check 
> should be added to avoid invoking methods on a {{null}} object.
> *Actual Behavior:*
> A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
> may interrupt the file creation or processing flow.
> *Suggested Solution:*
> Add a null check for {{tempName}} after it is assigned. For example:
> if (tempName == null) \{
> tempName = "defaultTempName"; // or handle appropriately for your use case
> }
>  
> Alternatively, consider handling {{null}} scenarios with a fallback or 
> error-handling mechanism to avoid this exception.
> *Impact:*
> This issue disrupts file processing, potentially causing failures in 
> downstream applications depending on file operations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21428:

Priority: Minor  (was: Major)

> NullPointerException in createTempFileName due to tempName being null in 
> Camel 4.8.0
> 
>
> Key: CAMEL-21428
> URL: https://issues.apache.org/jira/browse/CAMEL-21428
> Project: Camel
>  Issue Type: Bug
>  Components: camel-file
>Affects Versions: 4.8.0, 4.8.1
>Reporter: Oystein Follo
>Priority: Minor
>
> We are experiencing a {{NullPointerException}} within the 
> {{createTempFileName}} method. This error occurs when {{tempName}} is 
> evaluated as {{{}null{}}}, and later in the code, a call to 
> {{tempName.length()}} or {{tempName.lastIndexOf()}} results in an exception. 
> This issue can disrupt the file processing flow.
> *Relevant Code Segment:*
> *File: camel-file/components/file/GenericFileProducer.java*
> public String createTempFileName(Exchange exchange, String fileName) \{
>     String answer = fileName;    String tempName;
>     if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null) {
>         exchange.getIn().setHeader(FileConstants.FILE_NAME, 
> FileUtil.stripPath(fileName));
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>         exchange.getIn().removeHeader(FileConstants.FILE_NAME);
>     } else \{
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>     }    int pos = Math.max(answer.lastIndexOf('/'), 
> answer.lastIndexOf("\\"));
>     if (pos == -1) \{
>         answer = tempName;
>     } else \{
>         final String prefix = answer.substring(0, pos + 1);
>         StringBuilder sb = new StringBuilder(tempName.length() + 
> prefix.length() + 1);
>         sb.append(prefix);
>         sb.append(tempName);
>         answer = sb.toString();
>     }    if (endpoint.getConfiguration().needToNormalize()) \{
>         answer = normalizePath(answer);
>     }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
> answer;
> }
>  
> *Issue Location:*
> The issue occurs in the line:
> StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
>  
> If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
> {{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.
> *Steps to Reproduce:*
>  # Call {{createTempFileName}} with an {{Exchange}} object where 
> {{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
> {{{}null{}}}.
>  # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
> occurs.
> *Expected Behavior:*
> The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
> {{tempName}} is {{{}null{}}}, a default value should be used or a check 
> should be added to avoid invoking methods on a {{null}} object.
> *Actual Behavior:*
> A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
> may interrupt the file creation or processing flow.
> *Suggested Solution:*
> Add a null check for {{tempName}} after it is assigned. For example:
> if (tempName == null) \{
> tempName = "defaultTempName"; // or handle appropriately for your use case
> }
>  
> Alternatively, consider handling {{null}} scenarios with a fallback or 
> error-handling mechanism to avoid this exception.
> *Impact:*
> This issue disrupts file processing, potentially causing failures in 
> downstream applications depending on file operations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Oystein Follo (Jira)
Oystein Follo created CAMEL-21428:
-

 Summary: NullPointerException in createTempFileName due to 
tempName being null in Camel 4.8.0
 Key: CAMEL-21428
 URL: https://issues.apache.org/jira/browse/CAMEL-21428
 Project: Camel
  Issue Type: Bug
  Components: camel-file
Affects Versions: 4.8.1, 4.8.0
Reporter: Oystein Follo


We are experiencing a {{NullPointerException}} within the 
{{createTempFileName}} method. This error occurs when {{tempName}} is evaluated 
as {{{}null{}}}, and later in the code, a call to {{tempName.length()}} or 
{{tempName.lastIndexOf()}} results in an exception. This issue can disrupt the 
file processing flow.

*Relevant Code Segment:*

*File: camel-file/components/file/GenericFileProducer.java*
public String createTempFileName(Exchange exchange, String fileName) \{
    String answer = fileName;    String tempName;
    if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null) {
        exchange.getIn().setHeader(FileConstants.FILE_NAME, 
FileUtil.stripPath(fileName));
        tempName = endpoint.getTempFileName().evaluate(exchange, String.class);
        exchange.getIn().removeHeader(FileConstants.FILE_NAME);
    } else \{
        tempName = endpoint.getTempFileName().evaluate(exchange, String.class);
    }    int pos = Math.max(answer.lastIndexOf('/'), answer.lastIndexOf("\\"));
    if (pos == -1) \{
        answer = tempName;
    } else \{
        final String prefix = answer.substring(0, pos + 1);
        StringBuilder sb = new StringBuilder(tempName.length() + 
prefix.length() + 1);
        sb.append(prefix);
        sb.append(tempName);
        answer = sb.toString();
    }    if (endpoint.getConfiguration().needToNormalize()) \{
        answer = normalizePath(answer);
    }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
answer;
}
 
*Issue Location:*
The issue occurs in the line:
StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
 
If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
{{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.

*Steps to Reproduce:*
 # Call {{createTempFileName}} with an {{Exchange}} object where 
{{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
{{{}null{}}}.
 # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
occurs.

*Expected Behavior:*
The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
{{tempName}} is {{{}null{}}}, a default value should be used or a check should 
be added to avoid invoking methods on a {{null}} object.

*Actual Behavior:*
A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
may interrupt the file creation or processing flow.

*Suggested Solution:*
Add a null check for {{tempName}} after it is assigned. For example:
if (tempName == null) \{
tempName = "defaultTempName"; // or handle appropriately for your use case
}
 
Alternatively, consider handling {{null}} scenarios with a fallback or 
error-handling mechanism to avoid this exception.

*Impact:*
This issue disrupts file processing, potentially causing failures in downstream 
applications depending on file operations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21428:

Priority: Minor  (was: Major)

> NullPointerException in createTempFileName due to tempName being null in 
> Camel 4.8.0
> 
>
> Key: CAMEL-21428
> URL: https://issues.apache.org/jira/browse/CAMEL-21428
> Project: Camel
>  Issue Type: Bug
>  Components: camel-file
>Affects Versions: 4.8.0, 4.8.1
>Reporter: Oystein Follo
>Priority: Minor
>
> We are experiencing a {{NullPointerException}} within the 
> {{createTempFileName}} method. This error occurs when {{tempName}} is 
> evaluated as {{{}null{}}}, and later in the code, a call to 
> {{tempName.length()}} or {{tempName.lastIndexOf()}} results in an exception. 
> This issue can disrupt the file processing flow.
> *Relevant Code Segment:*
> *File: camel-file/components/file/GenericFileProducer.java*
> {code:java}
> public String createTempFileName(Exchange exchange, String fileName) {
>     String answer = fileName;    String tempName;
>     if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null)
> {         exchange.getIn().setHeader(FileConstants.FILE_NAME, 
> FileUtil.stripPath(fileName));         tempName = 
> endpoint.getTempFileName().evaluate(exchange, String.class);         
> exchange.getIn().removeHeader(FileConstants.FILE_NAME);     }
> else {
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>     }    int pos = Math.max(answer.lastIndexOf('/'), answer.lastIndexOf("
> "));
>     if (pos == -1) {
>         answer = tempName;
>     } else {
>         final String prefix = answer.substring(0, pos + 1);
>         StringBuilder sb = new StringBuilder(tempName.length() + 
> prefix.length() + 1);
>         sb.append(prefix);
>         sb.append(tempName);
>         answer = sb.toString();
>     }    if (endpoint.getConfiguration().needToNormalize()) {
>         answer = normalizePath(answer);
>     }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
> answer;
> } 
> {code}
> *Issue Location:*
> The issue occurs in the line:
> {code:java}
> StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
> {code}
> If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
> {{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.
> *Steps to Reproduce:*
>  # Call {{createTempFileName}} with an {{Exchange}} object where 
> {{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
> {{{}null{}}}.
>  # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
> occurs.
> *Expected Behavior:*
> The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
> {{tempName}} is {{{}null{}}}, a default value should be used or a check 
> should be added to avoid invoking methods on a {{null}} object.
> *Actual Behavior:*
> A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
> may interrupt the file creation or processing flow.
> *Suggested Solution:*
> Add a null check for {{tempName}} after it is assigned. For example:
> {code:java}
> if (tempName == null) {
> tempName = "defaultTempName"; // or handle appropriately for your use case
> }
> {code}
>  
> Alternatively, consider handling {{null}} scenarios with a fallback or 
> error-handling mechanism to avoid this exception.
> *Impact:*
> This issue disrupts file processing, potentially causing failures in 
> downstream applications depending on file operations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CAMEL-21429) camel-kafka - Upgrade to Kafka 3.9.0

2024-11-11 Thread Claus Ibsen (Jira)
Claus Ibsen created CAMEL-21429:
---

 Summary: camel-kafka - Upgrade to Kafka 3.9.0
 Key: CAMEL-21429
 URL: https://issues.apache.org/jira/browse/CAMEL-21429
 Project: Camel
  Issue Type: Dependency upgrade
  Components: camel-kafka
Reporter: Claus Ibsen
 Fix For: 4.9.0


There may be some new options we can include in the camel-kafka component

https://kafka.apache.org/39/documentation.html#upgrade



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CAMEL-21431) camel-jbang - camel export using dot instead of star

2024-11-11 Thread Claus Ibsen (Jira)
Claus Ibsen created CAMEL-21431:
---

 Summary: camel-jbang - camel export using dot instead of star
 Key: CAMEL-21431
 URL: https://issues.apache.org/jira/browse/CAMEL-21431
 Project: Camel
  Issue Type: Improvement
  Components: camel-jbang
Reporter: Claus Ibsen
 Fix For: 4.9.0


If you use dot when exporting then jbang does not let Camel know all the files, 
and you have an empty project

This is wrong

camel export . --runtime=quarkus --gav=org.demo:mydemo:1.0.0 --dir=code

You should use

camel export * --runtime=quarkus --gav=org.demo:mydemo:1.0.0 --dir=code

 

Maybe we can detect the dot, and let camel-jbang find all the files, as then we 
assume you want to do this



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (CAMEL-21419) Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected

2024-11-11 Thread Federico Mariani (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Federico Mariani reassigned CAMEL-21419:


Assignee: Federico Mariani

> Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected
> -
>
> Key: CAMEL-21419
> URL: https://issues.apache.org/jira/browse/CAMEL-21419
> Project: Camel
>  Issue Type: Bug
>  Components: camel-spring-boot
>Affects Versions: 4.8.1
>Reporter: Felix Huisinga
>Assignee: Federico Mariani
>Priority: Major
> Fix For: 4.8.2, 4.9.0
>
>
> On upgrading from Camel 4.8.0 to 4.8.1, the app is resulting in application 
> startup failure. The root cause is a conflict between two beans: 
> {{applicationTaskExecutor}} and {{{}taskScheduler{}}}, both of which are 
> being detected by 
> {{{}org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration{}}}.
> Removing the {{@EnableScheduling}} fixes is as there will no longer be two 
> Executor Beans. However, this will result in us not being able to use Spring 
> scheduler.
> +Below is the Log:+
>  
> 2024-11-05T15:24:21.657+01:00  WARN 89193 --- [service-name] [           
> main] ConfigServletWebServerApplicationContext : Exception encountered during 
> context initialization - cancelling refresh attempt: 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 
> 'org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration':
>  Unsatisfied dependency expressed through field 'executor': No qualifying 
> bean of type 'java.util.concurrent.Executor' available: expected single 
> matching bean but found 2: applicationTaskExecutor,taskScheduler
> 2024-11-05T15:24:21.659+01:00  INFO 89193 --- [service-name] [           
> main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
> 2024-11-05T15:24:21.669+01:00  INFO 89193 --- [service-name] [           
> main] .s.b.a.l.ConditionEvaluationReportLogger : 
>  
> Error starting ApplicationContext. To display the condition evaluation report 
> re-run your application with 'debug' enabled.
> 2024-11-05T15:24:21.675+01:00 ERROR 89193 --- [service-name] [           
> main] o.s.b.d.LoggingFailureAnalysisReporter   : 
>  
> ***
> APPLICATION FAILED TO START
> ***
>  
> Description:
>  
> Field executor in 
> org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration
>  required a single bean, but 2 were found:
> - applicationTaskExecutor: defined by method 'applicationTaskExecutor' in 
> class path resource 
> [org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations$TaskExecutorConfiguration.class]
> - taskScheduler: defined by method 'taskScheduler' in class path resource 
> [org/springframework/boot/autoconfigure/task/TaskSchedulingConfigurations$TaskSchedulerConfiguration.class]
>  
> This may be due to missing parameter name information
>  
> Action:
>  
> Consider marking one of the beans as @Primary, updating the consumer to 
> accept multiple beans, or using @Qualifier to identify the bean that should 
> be consumed
>  
> Ensure that your compiler is configured to use the '-parameters' flag.
> You may need to update both your build tool settings as well as your IDE.
> (See 
> https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x#parameter-name-retention)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CAMEL-21419) Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected

2024-11-11 Thread Federico Mariani (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897136#comment-17897136
 ] 

Federico Mariani commented on CAMEL-21419:
--

Thanks for the heads up [~davsclaus]

> Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected
> -
>
> Key: CAMEL-21419
> URL: https://issues.apache.org/jira/browse/CAMEL-21419
> Project: Camel
>  Issue Type: Bug
>  Components: camel-spring-boot
>Affects Versions: 4.8.1
>Reporter: Felix Huisinga
>Assignee: Federico Mariani
>Priority: Major
> Fix For: 4.8.2, 4.9.0
>
>
> On upgrading from Camel 4.8.0 to 4.8.1, the app is resulting in application 
> startup failure. The root cause is a conflict between two beans: 
> {{applicationTaskExecutor}} and {{{}taskScheduler{}}}, both of which are 
> being detected by 
> {{{}org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration{}}}.
> Removing the {{@EnableScheduling}} fixes is as there will no longer be two 
> Executor Beans. However, this will result in us not being able to use Spring 
> scheduler.
> +Below is the Log:+
>  
> 2024-11-05T15:24:21.657+01:00  WARN 89193 --- [service-name] [           
> main] ConfigServletWebServerApplicationContext : Exception encountered during 
> context initialization - cancelling refresh attempt: 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 
> 'org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration':
>  Unsatisfied dependency expressed through field 'executor': No qualifying 
> bean of type 'java.util.concurrent.Executor' available: expected single 
> matching bean but found 2: applicationTaskExecutor,taskScheduler
> 2024-11-05T15:24:21.659+01:00  INFO 89193 --- [service-name] [           
> main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
> 2024-11-05T15:24:21.669+01:00  INFO 89193 --- [service-name] [           
> main] .s.b.a.l.ConditionEvaluationReportLogger : 
>  
> Error starting ApplicationContext. To display the condition evaluation report 
> re-run your application with 'debug' enabled.
> 2024-11-05T15:24:21.675+01:00 ERROR 89193 --- [service-name] [           
> main] o.s.b.d.LoggingFailureAnalysisReporter   : 
>  
> ***
> APPLICATION FAILED TO START
> ***
>  
> Description:
>  
> Field executor in 
> org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration
>  required a single bean, but 2 were found:
> - applicationTaskExecutor: defined by method 'applicationTaskExecutor' in 
> class path resource 
> [org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations$TaskExecutorConfiguration.class]
> - taskScheduler: defined by method 'taskScheduler' in class path resource 
> [org/springframework/boot/autoconfigure/task/TaskSchedulingConfigurations$TaskSchedulerConfiguration.class]
>  
> This may be due to missing parameter name information
>  
> Action:
>  
> Consider marking one of the beans as @Primary, updating the consumer to 
> accept multiple beans, or using @Qualifier to identify the bean that should 
> be consumed
>  
> Ensure that your compiler is configured to use the '-parameters' flag.
> You may need to update both your build tool settings as well as your IDE.
> (See 
> https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x#parameter-name-retention)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work started] (CAMEL-21419) Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected

2024-11-11 Thread Federico Mariani (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CAMEL-21419 started by Federico Mariani.

> Camel Spring Boot v. 4.8.1: Multiple Task Executor Beans Detected
> -
>
> Key: CAMEL-21419
> URL: https://issues.apache.org/jira/browse/CAMEL-21419
> Project: Camel
>  Issue Type: Bug
>  Components: camel-spring-boot
>Affects Versions: 4.8.1
>Reporter: Felix Huisinga
>Assignee: Federico Mariani
>Priority: Major
> Fix For: 4.8.2, 4.9.0
>
>
> On upgrading from Camel 4.8.0 to 4.8.1, the app is resulting in application 
> startup failure. The root cause is a conflict between two beans: 
> {{applicationTaskExecutor}} and {{{}taskScheduler{}}}, both of which are 
> being detected by 
> {{{}org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration{}}}.
> Removing the {{@EnableScheduling}} fixes is as there will no longer be two 
> Executor Beans. However, this will result in us not being able to use Spring 
> scheduler.
> +Below is the Log:+
>  
> 2024-11-05T15:24:21.657+01:00  WARN 89193 --- [service-name] [           
> main] ConfigServletWebServerApplicationContext : Exception encountered during 
> context initialization - cancelling refresh attempt: 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 
> 'org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration':
>  Unsatisfied dependency expressed through field 'executor': No qualifying 
> bean of type 'java.util.concurrent.Executor' available: expected single 
> matching bean but found 2: applicationTaskExecutor,taskScheduler
> 2024-11-05T15:24:21.659+01:00  INFO 89193 --- [service-name] [           
> main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
> 2024-11-05T15:24:21.669+01:00  INFO 89193 --- [service-name] [           
> main] .s.b.a.l.ConditionEvaluationReportLogger : 
>  
> Error starting ApplicationContext. To display the condition evaluation report 
> re-run your application with 'debug' enabled.
> 2024-11-05T15:24:21.675+01:00 ERROR 89193 --- [service-name] [           
> main] o.s.b.d.LoggingFailureAnalysisReporter   : 
>  
> ***
> APPLICATION FAILED TO START
> ***
>  
> Description:
>  
> Field executor in 
> org.apache.camel.component.platform.http.springboot.SpringBootPlatformHttpAutoConfiguration
>  required a single bean, but 2 were found:
> - applicationTaskExecutor: defined by method 'applicationTaskExecutor' in 
> class path resource 
> [org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations$TaskExecutorConfiguration.class]
> - taskScheduler: defined by method 'taskScheduler' in class path resource 
> [org/springframework/boot/autoconfigure/task/TaskSchedulingConfigurations$TaskSchedulerConfiguration.class]
>  
> This may be due to missing parameter name information
>  
> Action:
>  
> Consider marking one of the beans as @Primary, updating the consumer to 
> accept multiple beans, or using @Qualifier to identify the bean that should 
> be consumed
>  
> Ensure that your compiler is configured to use the '-parameters' flag.
> You may need to update both your build tool settings as well as your IDE.
> (See 
> https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-6.x#parameter-name-retention)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21420) YAML model serializer is not serializing XPath expression namespaces

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21420:

Fix Version/s: (was: 4.8.2)

> YAML model serializer is not serializing XPath expression namespaces
> 
>
> Key: CAMEL-21420
> URL: https://issues.apache.org/jira/browse/CAMEL-21420
> Project: Camel
>  Issue Type: Bug
>  Components: camel-yaml-dsl
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Assignee: Claus Ibsen
>Priority: Major
> Fix For: 4.9.0
>
>
> Here's a unit test showing the problem:
>  
> {code:java}
> package org.apache.camel.yaml.out;
> import java.io.ByteArrayInputStream;
> import java.io.StringWriter;
> import java.nio.charset.Charset;
> import java.util.Optional;
> import org.apache.camel.model.ProcessorDefinition;
> import org.apache.camel.model.RouteDefinition;
> import org.apache.camel.model.RoutesDefinition;
> import org.apache.camel.xml.in.ModelParser;
> import org.assertj.core.api.InstanceOfAssertFactories;
> import org.junit.jupiter.api.Test;
> import static org.assertj.core.api.Assertions.assertThat;
> class XPathNamespacesTest {
> @Test
> void test() throws Exception {
> try (ByteArrayInputStream is = new 
> ByteArrayInputStream(XML.getBytes(Charset.defaultCharset( {
> Optional routesDefinition = new ModelParser(is, 
> XmlToYamlTest.NAMESPACE).parseRoutesDefinition();
> assertThat(routesDefinition).isPresent()
> 
> .get(InstanceOfAssertFactories.type(RoutesDefinition.class))
> .extracting(RoutesDefinition::getRoutes, 
> InstanceOfAssertFactories.list(RouteDefinition.class))
> .singleElement()
> .extracting(RouteDefinition::getOutputs, 
> InstanceOfAssertFactories.list(ProcessorDefinition.class))
> .hasSize(3);
> StringWriter sw = new StringWriter();
> new 
> org.apache.camel.yaml.out.ModelWriter(sw).writeRoutesDefinition(routesDefinition.get());
> assertThat(sw).hasToString(EXPECTED_YAML);
> }
> }
> //language=XML
> private static final String XML = """
> http://camel.apache.org/schema/spring";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:routes-ns-def="http://www.example.com/schema";
> xsi:schemaLocation="http://camel.apache.org/schema/spring 
> https://camel.apache.org/schema/spring/camel-spring.xsd";>
> 
>  id="direct:route-with-xpath-expression-custom-namespace"
>xmlns:route-ns-def="http://www.example.com/schema";>
> 
>  uri="direct:route-with-xpath-expression-custom-namespace"/>
> 
>  name="child-expression-namespace-from-routes">
>  resultType="java.lang.String">/routes-ns-def:parent/routes-ns-def:child
> 
> 
> 
>  resultType="java.lang.String">/route-ns-def:parent/route-ns-def:child
> 
> 
> 
>  xmlns:expression-ns-def="http://www.example.com/schema";>/expression-ns-def:parent/expression-ns-def:child
> 
> 
> 
> 
> """;
> 
> //language=yaml
> private static final String EXPECTED_YAML = """
> - route:
> id: direct:route-with-xpath-expression-custom-namespace
> from:
>   uri: direct:route-with-xpath-expression-custom-namespace
>   steps:
> - setProperty:
> name: child-expression-namespace-from-routes
> xpath:
>   resultType: java.lang.String
>   saxon: "true"
>   namespace:
> xsi: http://www.w3.org/2001/XMLSchema-instance
> routes-ns-def: http://www.example.com/schema
> route-ns-def: http://www.example.com/schema
>   expression: 
> /routes-ns-def:parent/routes-ns-def:child
> - setProperty:
> name: child-expression-namespace-from-route
> xpath:
>   resultType: java.lang.String
>   saxon: "true"
>   namespace:
> xsi: http://www.w3.org/2001/XMLSchema-instance
> routes-ns-def: http://www.example.com/schema
> 

[jira] [Updated] (CAMEL-21427) XML model serializer is serializing default values

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21427:

Fix Version/s: 4.9.0
   (was: 4.x)

> XML model serializer is serializing default values
> --
>
> Key: CAMEL-21427
> URL: https://issues.apache.org/jira/browse/CAMEL-21427
> Project: Camel
>  Issue Type: Bug
>  Components: camel-xml-io
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Priority: Minor
> Fix For: 4.9.0
>
>
> Pull request contains test showing the issue



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (CAMEL-21420) YAML model serializer is not serializing XPath expression namespaces

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-21420.
-
Resolution: Fixed

Thanks for reporting and the unit tests.

> YAML model serializer is not serializing XPath expression namespaces
> 
>
> Key: CAMEL-21420
> URL: https://issues.apache.org/jira/browse/CAMEL-21420
> Project: Camel
>  Issue Type: Bug
>  Components: camel-yaml-dsl
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Assignee: Claus Ibsen
>Priority: Major
> Fix For: 4.9.0
>
>
> Here's a unit test showing the problem:
>  
> {code:java}
> package org.apache.camel.yaml.out;
> import java.io.ByteArrayInputStream;
> import java.io.StringWriter;
> import java.nio.charset.Charset;
> import java.util.Optional;
> import org.apache.camel.model.ProcessorDefinition;
> import org.apache.camel.model.RouteDefinition;
> import org.apache.camel.model.RoutesDefinition;
> import org.apache.camel.xml.in.ModelParser;
> import org.assertj.core.api.InstanceOfAssertFactories;
> import org.junit.jupiter.api.Test;
> import static org.assertj.core.api.Assertions.assertThat;
> class XPathNamespacesTest {
> @Test
> void test() throws Exception {
> try (ByteArrayInputStream is = new 
> ByteArrayInputStream(XML.getBytes(Charset.defaultCharset( {
> Optional routesDefinition = new ModelParser(is, 
> XmlToYamlTest.NAMESPACE).parseRoutesDefinition();
> assertThat(routesDefinition).isPresent()
> 
> .get(InstanceOfAssertFactories.type(RoutesDefinition.class))
> .extracting(RoutesDefinition::getRoutes, 
> InstanceOfAssertFactories.list(RouteDefinition.class))
> .singleElement()
> .extracting(RouteDefinition::getOutputs, 
> InstanceOfAssertFactories.list(ProcessorDefinition.class))
> .hasSize(3);
> StringWriter sw = new StringWriter();
> new 
> org.apache.camel.yaml.out.ModelWriter(sw).writeRoutesDefinition(routesDefinition.get());
> assertThat(sw).hasToString(EXPECTED_YAML);
> }
> }
> //language=XML
> private static final String XML = """
> http://camel.apache.org/schema/spring";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:routes-ns-def="http://www.example.com/schema";
> xsi:schemaLocation="http://camel.apache.org/schema/spring 
> https://camel.apache.org/schema/spring/camel-spring.xsd";>
> 
>  id="direct:route-with-xpath-expression-custom-namespace"
>xmlns:route-ns-def="http://www.example.com/schema";>
> 
>  uri="direct:route-with-xpath-expression-custom-namespace"/>
> 
>  name="child-expression-namespace-from-routes">
>  resultType="java.lang.String">/routes-ns-def:parent/routes-ns-def:child
> 
> 
> 
>  resultType="java.lang.String">/route-ns-def:parent/route-ns-def:child
> 
> 
> 
>  xmlns:expression-ns-def="http://www.example.com/schema";>/expression-ns-def:parent/expression-ns-def:child
> 
> 
> 
> 
> """;
> 
> //language=yaml
> private static final String EXPECTED_YAML = """
> - route:
> id: direct:route-with-xpath-expression-custom-namespace
> from:
>   uri: direct:route-with-xpath-expression-custom-namespace
>   steps:
> - setProperty:
> name: child-expression-namespace-from-routes
> xpath:
>   resultType: java.lang.String
>   saxon: "true"
>   namespace:
> xsi: http://www.w3.org/2001/XMLSchema-instance
> routes-ns-def: http://www.example.com/schema
> route-ns-def: http://www.example.com/schema
>   expression: 
> /routes-ns-def:parent/routes-ns-def:child
> - setProperty:
> name: child-expression-namespace-from-route
> xpath:
>   resultType: java.lang.String
>   saxon: "true"
>   namespace:
> xsi: http://www.w3.org/2001/XMLSchema-instance
> routes-ns-def: http://www.example.com/schema

[jira] [Updated] (CAMEL-21427) XML model serializer is serializing default values

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21427:

Issue Type: Improvement  (was: Bug)

> XML model serializer is serializing default values
> --
>
> Key: CAMEL-21427
> URL: https://issues.apache.org/jira/browse/CAMEL-21427
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-xml-io
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Priority: Minor
> Fix For: 4.9.0
>
>
> Pull request contains test showing the issue



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CAMEL-21427) XML model serializer is serializing default values

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897164#comment-17897164
 ] 

Claus Ibsen commented on CAMEL-21427:
-

Thanks for reporting. This requires extra work to make the xml io writer aware 
of default values to be skipped.

 

> XML model serializer is serializing default values
> --
>
> Key: CAMEL-21427
> URL: https://issues.apache.org/jira/browse/CAMEL-21427
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-xml-io
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Priority: Minor
> Fix For: 4.9.0
>
>
> Pull request contains test showing the issue



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21420) camel-yaml-io - YAML model serializer is not serializing XPath expression namespaces

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21420:

Summary: camel-yaml-io - YAML model serializer is not serializing XPath 
expression namespaces  (was: YAML model serializer is not serializing XPath 
expression namespaces)

> camel-yaml-io - YAML model serializer is not serializing XPath expression 
> namespaces
> 
>
> Key: CAMEL-21420
> URL: https://issues.apache.org/jira/browse/CAMEL-21420
> Project: Camel
>  Issue Type: Bug
>  Components: camel-yaml-dsl
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Assignee: Claus Ibsen
>Priority: Major
> Fix For: 4.9.0
>
>
> Here's a unit test showing the problem:
>  
> {code:java}
> package org.apache.camel.yaml.out;
> import java.io.ByteArrayInputStream;
> import java.io.StringWriter;
> import java.nio.charset.Charset;
> import java.util.Optional;
> import org.apache.camel.model.ProcessorDefinition;
> import org.apache.camel.model.RouteDefinition;
> import org.apache.camel.model.RoutesDefinition;
> import org.apache.camel.xml.in.ModelParser;
> import org.assertj.core.api.InstanceOfAssertFactories;
> import org.junit.jupiter.api.Test;
> import static org.assertj.core.api.Assertions.assertThat;
> class XPathNamespacesTest {
> @Test
> void test() throws Exception {
> try (ByteArrayInputStream is = new 
> ByteArrayInputStream(XML.getBytes(Charset.defaultCharset( {
> Optional routesDefinition = new ModelParser(is, 
> XmlToYamlTest.NAMESPACE).parseRoutesDefinition();
> assertThat(routesDefinition).isPresent()
> 
> .get(InstanceOfAssertFactories.type(RoutesDefinition.class))
> .extracting(RoutesDefinition::getRoutes, 
> InstanceOfAssertFactories.list(RouteDefinition.class))
> .singleElement()
> .extracting(RouteDefinition::getOutputs, 
> InstanceOfAssertFactories.list(ProcessorDefinition.class))
> .hasSize(3);
> StringWriter sw = new StringWriter();
> new 
> org.apache.camel.yaml.out.ModelWriter(sw).writeRoutesDefinition(routesDefinition.get());
> assertThat(sw).hasToString(EXPECTED_YAML);
> }
> }
> //language=XML
> private static final String XML = """
> http://camel.apache.org/schema/spring";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:routes-ns-def="http://www.example.com/schema";
> xsi:schemaLocation="http://camel.apache.org/schema/spring 
> https://camel.apache.org/schema/spring/camel-spring.xsd";>
> 
>  id="direct:route-with-xpath-expression-custom-namespace"
>xmlns:route-ns-def="http://www.example.com/schema";>
> 
>  uri="direct:route-with-xpath-expression-custom-namespace"/>
> 
>  name="child-expression-namespace-from-routes">
>  resultType="java.lang.String">/routes-ns-def:parent/routes-ns-def:child
> 
> 
> 
>  resultType="java.lang.String">/route-ns-def:parent/route-ns-def:child
> 
> 
> 
>  xmlns:expression-ns-def="http://www.example.com/schema";>/expression-ns-def:parent/expression-ns-def:child
> 
> 
> 
> 
> """;
> 
> //language=yaml
> private static final String EXPECTED_YAML = """
> - route:
> id: direct:route-with-xpath-expression-custom-namespace
> from:
>   uri: direct:route-with-xpath-expression-custom-namespace
>   steps:
> - setProperty:
> name: child-expression-namespace-from-routes
> xpath:
>   resultType: java.lang.String
>   saxon: "true"
>   namespace:
> xsi: http://www.w3.org/2001/XMLSchema-instance
> routes-ns-def: http://www.example.com/schema
> route-ns-def: http://www.example.com/schema
>   expression: 
> /routes-ns-def:parent/routes-ns-def:child
> - setProperty:
> name: child-expression-namespace-from-route
> xpath:
>   resultType: java.lang.String
>   saxon: "true"
>   namespace:
> 

[jira] [Updated] (CAMEL-21427) camel-xml-io - XML model serializer is serializing default values

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21427:

Summary: camel-xml-io - XML model serializer is serializing default values  
(was: XML model serializer is serializing default values)

> camel-xml-io - XML model serializer is serializing default values
> -
>
> Key: CAMEL-21427
> URL: https://issues.apache.org/jira/browse/CAMEL-21427
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-xml-io
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Priority: Minor
> Fix For: 4.9.0
>
>
> Pull request contains test showing the issue



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CAMEL-21430) camel-rest-openapi - Generated produces string is missing media types

2024-11-11 Thread Claus Ibsen (Jira)
Claus Ibsen created CAMEL-21430:
---

 Summary: camel-rest-openapi - Generated produces string is missing 
media types
 Key: CAMEL-21430
 URL: https://issues.apache.org/jira/browse/CAMEL-21430
 Project: Camel
  Issue Type: Bug
  Components: camel-rest-openapi
Affects Versions: 4.8.1
Reporter: Claus Ibsen
 Fix For: 4.8.2, 4.9.0


Reported at

https://github.com/apache/camel-quarkus/issues/6766



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Oystein Follo (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897177#comment-17897177
 ] 

Oystein Follo edited comment on CAMEL-21428 at 11/11/24 12:39 PM:
--

This occurs when calling {{Endpoint.createExchange()}} without setting the 
header values for {{CamelFileName}} and {{tempFileName}}, and then passing the 
exchange into CamelContext using the producer template


was (Author: JIRAUSER307526):
This occurs when calling {{Endpoint.createExchange()}} without setting the 
header values for {{CamelFileName}} and {{{}tempFileName{}}}.

> NullPointerException in createTempFileName due to tempName being null in 
> Camel 4.8.0
> 
>
> Key: CAMEL-21428
> URL: https://issues.apache.org/jira/browse/CAMEL-21428
> Project: Camel
>  Issue Type: Bug
>  Components: camel-file
>Affects Versions: 4.8.0, 4.8.1
>Reporter: Oystein Follo
>Priority: Minor
>
> We are experiencing a {{NullPointerException}} within the 
> {{createTempFileName}} method. This error occurs when {{tempName}} is 
> evaluated as {{{}null{}}}, and later in the code, a call to 
> {{tempName.length()}} or {{tempName.lastIndexOf()}} results in an exception. 
> This issue can disrupt the file processing flow.
> *Relevant Code Segment:*
> *File: camel-file/components/file/GenericFileProducer.java*
> {code:java}
> public String createTempFileName(Exchange exchange, String fileName) {
>     String answer = fileName;    String tempName;
>     if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null)
> {         exchange.getIn().setHeader(FileConstants.FILE_NAME, 
> FileUtil.stripPath(fileName));         tempName = 
> endpoint.getTempFileName().evaluate(exchange, String.class);         
> exchange.getIn().removeHeader(FileConstants.FILE_NAME);     }
> else {
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>     }    int pos = Math.max(answer.lastIndexOf('/'), answer.lastIndexOf("
> "));
>     if (pos == -1) {
>         answer = tempName;
>     } else {
>         final String prefix = answer.substring(0, pos + 1);
>         StringBuilder sb = new StringBuilder(tempName.length() + 
> prefix.length() + 1);
>         sb.append(prefix);
>         sb.append(tempName);
>         answer = sb.toString();
>     }    if (endpoint.getConfiguration().needToNormalize()) {
>         answer = normalizePath(answer);
>     }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
> answer;
> } 
> {code}
> *Issue Location:*
> The issue occurs in the line:
> {code:java}
> StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
> {code}
> If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
> {{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.
> *Steps to Reproduce:*
>  # Call {{createTempFileName}} with an {{Exchange}} object where 
> {{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
> {{{}null{}}}.
>  # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
> occurs.
> *Expected Behavior:*
> The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
> {{tempName}} is {{{}null{}}}, a default value should be used or a check 
> should be added to avoid invoking methods on a {{null}} object.
> *Actual Behavior:*
> A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
> may interrupt the file creation or processing flow.
> *Suggested Solution:*
> Add a null check for {{tempName}} after it is assigned. For example:
> {code:java}
> if (tempName == null) {
> tempName = "defaultTempName"; // or handle appropriately for your use case
> }
> {code}
>  
> Alternatively, consider handling {{null}} scenarios with a fallback or 
> error-handling mechanism to avoid this exception.
> *Impact:*
> This issue disrupts file processing, potentially causing failures in 
> downstream applications depending on file operations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897178#comment-17897178
 ] 

Claus Ibsen commented on CAMEL-21428:
-

You must then have configured tempFileName on the file endpoint, what have you 
configured, can you show that

> NullPointerException in createTempFileName due to tempName being null in 
> Camel 4.8.0
> 
>
> Key: CAMEL-21428
> URL: https://issues.apache.org/jira/browse/CAMEL-21428
> Project: Camel
>  Issue Type: Bug
>  Components: camel-file
>Affects Versions: 4.8.0, 4.8.1
>Reporter: Oystein Follo
>Priority: Minor
>
> We are experiencing a {{NullPointerException}} within the 
> {{createTempFileName}} method. This error occurs when {{tempName}} is 
> evaluated as {{{}null{}}}, and later in the code, a call to 
> {{tempName.length()}} or {{tempName.lastIndexOf()}} results in an exception. 
> This issue can disrupt the file processing flow.
> *Relevant Code Segment:*
> *File: camel-file/components/file/GenericFileProducer.java*
> {code:java}
> public String createTempFileName(Exchange exchange, String fileName) {
>     String answer = fileName;    String tempName;
>     if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null)
> {         exchange.getIn().setHeader(FileConstants.FILE_NAME, 
> FileUtil.stripPath(fileName));         tempName = 
> endpoint.getTempFileName().evaluate(exchange, String.class);         
> exchange.getIn().removeHeader(FileConstants.FILE_NAME);     }
> else {
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>     }    int pos = Math.max(answer.lastIndexOf('/'), answer.lastIndexOf("
> "));
>     if (pos == -1) {
>         answer = tempName;
>     } else {
>         final String prefix = answer.substring(0, pos + 1);
>         StringBuilder sb = new StringBuilder(tempName.length() + 
> prefix.length() + 1);
>         sb.append(prefix);
>         sb.append(tempName);
>         answer = sb.toString();
>     }    if (endpoint.getConfiguration().needToNormalize()) {
>         answer = normalizePath(answer);
>     }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
> answer;
> } 
> {code}
> *Issue Location:*
> The issue occurs in the line:
> {code:java}
> StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
> {code}
> If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
> {{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.
> *Steps to Reproduce:*
>  # Call {{createTempFileName}} with an {{Exchange}} object where 
> {{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
> {{{}null{}}}.
>  # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
> occurs.
> *Expected Behavior:*
> The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
> {{tempName}} is {{{}null{}}}, a default value should be used or a check 
> should be added to avoid invoking methods on a {{null}} object.
> *Actual Behavior:*
> A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
> may interrupt the file creation or processing flow.
> *Suggested Solution:*
> Add a null check for {{tempName}} after it is assigned. For example:
> {code:java}
> if (tempName == null) {
> tempName = "defaultTempName"; // or handle appropriately for your use case
> }
> {code}
>  
> Alternatively, consider handling {{null}} scenarios with a fallback or 
> error-handling mechanism to avoid this exception.
> *Impact:*
> This issue disrupts file processing, potentially causing failures in 
> downstream applications depending on file operations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21416) camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with ClassNotFoundException

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21416:

Priority: Minor  (was: Major)

> camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with 
> ClassNotFoundException
> --
>
> Key: CAMEL-21416
> URL: https://issues.apache.org/jira/browse/CAMEL-21416
> Project: Camel
>  Issue Type: Bug
>  Components: camel-jbang
>Affects Versions: 4.8.1
>Reporter: Andrej Vano
>Priority: Minor
>
> What I did:
> 1. jbang app install --force camel@apache/camel
> 2. camel init hello.yaml
> 3. camel run --runtime camel-quarkus hello.yaml
> {code}
> [~]$ camel run --runtime camel-quarkus hello.yaml
> java.lang.ClassNotFoundException: 
> org.apache.camel.kamelets.catalog.KameletsCatalog
>   at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
>   at 
> org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.loadKamelets(KameletCatalogHelper.java:151)
>   at 
> org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.findKameletNames(KameletCatalogHelper.java:37)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.resolveDependencies(ExportBaseCommand.java:368)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(ExportQuarkus.java:448)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export(ExportQuarkus.java:117)
>   at org.apache.camel.dsl.jbang.core.commands.Run.runQuarkus(Run.java:912)
>   at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:414)
>   at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:319)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
>   at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
>   at picocli.CommandLine.access$1500(CommandLine.java:148)
>   at 
> picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
>   at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
>   at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
>   at 
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
>   at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
>   at picocli.CommandLine.execute(CommandLine.java:2174)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:173)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:62)
>   at main.CamelJBang.main(CamelJBang.java:36)
> {code}
> the same issues can be observed with {{runtime camel-spring-boot}}, with 
> {{runtime camel-main}} it works.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21427) XML model serializer is serializing default values

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21427:

Priority: Minor  (was: Major)

> XML model serializer is serializing default values
> --
>
> Key: CAMEL-21427
> URL: https://issues.apache.org/jira/browse/CAMEL-21427
> Project: Camel
>  Issue Type: Bug
>  Components: camel-xml-io
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Priority: Minor
>
> Pull request contains test showing the issue



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21427) XML model serializer is serializing default values

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21427:

Fix Version/s: 4.x

> XML model serializer is serializing default values
> --
>
> Key: CAMEL-21427
> URL: https://issues.apache.org/jira/browse/CAMEL-21427
> Project: Camel
>  Issue Type: Bug
>  Components: camel-xml-io
>Affects Versions: 4.8.1
>Reporter: Adriano Machado
>Priority: Minor
> Fix For: 4.x
>
>
> Pull request contains test showing the issue



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CAMEL-21416) camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with ClassNotFoundException

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897174#comment-17897174
 ] 

Claus Ibsen commented on CAMEL-21416:
-

what does these output

java --version

camel version

 

> camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with 
> ClassNotFoundException
> --
>
> Key: CAMEL-21416
> URL: https://issues.apache.org/jira/browse/CAMEL-21416
> Project: Camel
>  Issue Type: Bug
>  Components: camel-jbang
>Affects Versions: 4.8.1
>Reporter: Andrej Vano
>Priority: Minor
>
> What I did:
> 1. jbang app install --force camel@apache/camel
> 2. camel init hello.yaml
> 3. camel run --runtime camel-quarkus hello.yaml
> {code}
> [~]$ camel run --runtime camel-quarkus hello.yaml
> java.lang.ClassNotFoundException: 
> org.apache.camel.kamelets.catalog.KameletsCatalog
>   at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
>   at 
> org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.loadKamelets(KameletCatalogHelper.java:151)
>   at 
> org.apache.camel.dsl.jbang.core.commands.catalog.KameletCatalogHelper.findKameletNames(KameletCatalogHelper.java:37)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportBaseCommand.resolveDependencies(ExportBaseCommand.java:368)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.resolveDependencies(ExportQuarkus.java:448)
>   at 
> org.apache.camel.dsl.jbang.core.commands.ExportQuarkus.export(ExportQuarkus.java:117)
>   at org.apache.camel.dsl.jbang.core.commands.Run.runQuarkus(Run.java:912)
>   at org.apache.camel.dsl.jbang.core.commands.Run.run(Run.java:414)
>   at org.apache.camel.dsl.jbang.core.commands.Run.doCall(Run.java:319)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:71)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelCommand.call(CamelCommand.java:37)
>   at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
>   at picocli.CommandLine.access$1500(CommandLine.java:148)
>   at 
> picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
>   at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
>   at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
>   at 
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
>   at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
>   at picocli.CommandLine.execute(CommandLine.java:2174)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:173)
>   at 
> org.apache.camel.dsl.jbang.core.commands.CamelJBangMain.run(CamelJBangMain.java:62)
>   at main.CamelJBang.main(CamelJBang.java:36)
> {code}
> the same issues can be observed with {{runtime camel-spring-boot}}, with 
> {{runtime camel-main}} it works.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CAMEL-21416) camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with ClassNotFoundException

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897176#comment-17897176
 ] 

Claus Ibsen commented on CAMEL-21416:
-

Works for me
{code:java}
~/workspace/deleteme/argh ❯ java --version
openjdk 17.0.11 2024-04-16 LTS
OpenJDK Runtime Environment Zulu17.50+19-CA (build 17.0.11+9-LTS)
OpenJDK 64-Bit Server VM Zulu17.50+19-CA (build 17.0.11+9-LTS, mixed mode, 
sharing)
~/workspace/deleteme/argh ❯ camel version
JBang version: 0.119.0
Camel JBang version: 4.8.1
~/workspace/deleteme/argh ❯ camel run --runtime camel-quarkus hello.yaml
~/workspace/deleteme/argh ❯ camel init hello.yaml                               
                                                                                
                    ✘ INT
~/workspace/deleteme/argh ❯ camel run --runtime camel-quarkus hello.yaml
Running using Quarkus v3.15.1 (preparing and downloading files)
Executing "/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/bin/java 
-Dquarkus.platform.version=3.15.1 -Dquarkus.application.version=1.0-SNAPSHOT 
-Dquarkus.platform.artifact-id=quarkus-bom 
-Dquarkus.platform.group-id=io.quarkus.platform 
-Dquarkus.application.name=jbang-run-dummy -jar 
/Users/davsclaus/workspace/deleteme/argh/.camel-jbang-run/1731328222124/target/quarkus-app/quarkus-run.jar"
__    __  _   ___  __   __
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\/_/ |_/_/|_/_/|_|\/___/
2024-11-11 13:30:33,738 INFO  [org.apa.cam.qua.cor.CamelBootstrapRecorder] 
(main) Apache Camel Quarkus 3.15.0 is starting
2024-11-11 13:30:33,741 INFO  [org.apa.cam.mai.MainSupport] (main) Apache Camel 
(Main) 4.8.0 is starting
2024-11-11 13:30:33,779 INFO  [org.apa.cam.mai.BaseMainSupport] (main) 
Auto-configuration summary
2024-11-11 13:30:33,779 INFO  [org.apa.cam.mai.BaseMainSupport] (main)     
[MicroProfilePropertiesSource] camel.main.routesIncludePattern = 
camel/hello.yaml
2024-11-11 13:30:33,810 INFO  [org.apa.cam.cli.con.LocalCliConnector] (main) 
Camel JBang CLI enabled
2024-11-11 13:30:33,857 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) 
Apache Camel 4.8.0 (camel-1) is starting
2024-11-11 13:30:33,924 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) 
Routes startup (total:1)
2024-11-11 13:30:33,924 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) 
    Started route1 (timer://yaml)
2024-11-11 13:30:33,924 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] (main) 
Apache Camel 4.8.0 (camel-1) started in 65ms (build:0ms init:0ms start:65ms)
2024-11-11 13:30:33,982 INFO  [io.quarkus] (main) jbang-run-dummy 1.0-SNAPSHOT 
on JVM (powered by Quarkus 3.15.1) started in 0.610s. Listening on: 
http://0.0.0.0:8080
2024-11-11 13:30:33,982 INFO  [io.quarkus] (main) Profile prod activated.
2024-11-11 13:30:33,982 INFO  [io.quarkus] (main) Installed features: 
[camel-attachments, camel-cli-connector, camel-console, camel-core, 
camel-management, camel-microprofile-health, camel-platform-http, camel-timer, 
camel-xml-io-dsl, camel-yaml-dsl, cdi, smallrye-context-propagation, 
smallrye-health, vertx]
2024-11-11 13:30:34,938 INFO  [route1] (Camel (camel-1) thread #2 - 
timer://yaml) Hello Camel from route1
2024-11-11 13:30:35,934 INFO  [route1] (Camel (camel-1) thread #2 - 
timer://yaml) Hello Camel from route1
^C2024-11-11 13:30:36,524 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] 
(Shutdown thread) Apache Camel 4.8.0 (camel-1) is shutting down (timeout:45s)
2024-11-11 13:30:36,531 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] 
(Shutdown thread) Routes stopped (total:1)
2024-11-11 13:30:36,531 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] 
(Shutdown thread)     Stopped route1 (timer://yaml)
2024-11-11 13:30:36,535 INFO  [org.apa.cam.imp.eng.AbstractCamelContext] 
(Shutdown thread) Apache Camel 4.8.0 (camel-1) shutdown in 10ms (uptime:2s)
2024-11-11 13:30:36,548 INFO  [io.quarkus] (Shutdown thread) jbang-run-dummy 
stopped in 0.037s {code}

> camel-jbang: Simple camel run --runtime camel-quarkus hello.yaml fails with 
> ClassNotFoundException
> --
>
> Key: CAMEL-21416
> URL: https://issues.apache.org/jira/browse/CAMEL-21416
> Project: Camel
>  Issue Type: Bug
>  Components: camel-jbang
>Affects Versions: 4.8.1
>Reporter: Andrej Vano
>Priority: Minor
>
> What I did:
> 1. jbang app install --force camel@apache/camel
> 2. camel init hello.yaml
> 3. camel run --runtime camel-quarkus hello.yaml
> {code}
> [~]$ camel run --runtime camel-quarkus hello.yaml
> java.lang.ClassNotFoundException: 
> org.apache.camel.kamelets.catalog.KameletsCatalog
>   at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
>   at java.base/java.lang.ClassLoader.l

[jira] [Commented] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Oystein Follo (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897177#comment-17897177
 ] 

Oystein Follo commented on CAMEL-21428:
---

This occurs when calling {{Endpoint.createExchange()}} without setting the 
header values for {{CamelFileName}} and {{{}tempFileName{}}}.

> NullPointerException in createTempFileName due to tempName being null in 
> Camel 4.8.0
> 
>
> Key: CAMEL-21428
> URL: https://issues.apache.org/jira/browse/CAMEL-21428
> Project: Camel
>  Issue Type: Bug
>  Components: camel-file
>Affects Versions: 4.8.0, 4.8.1
>Reporter: Oystein Follo
>Priority: Minor
>
> We are experiencing a {{NullPointerException}} within the 
> {{createTempFileName}} method. This error occurs when {{tempName}} is 
> evaluated as {{{}null{}}}, and later in the code, a call to 
> {{tempName.length()}} or {{tempName.lastIndexOf()}} results in an exception. 
> This issue can disrupt the file processing flow.
> *Relevant Code Segment:*
> *File: camel-file/components/file/GenericFileProducer.java*
> {code:java}
> public String createTempFileName(Exchange exchange, String fileName) {
>     String answer = fileName;    String tempName;
>     if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null)
> {         exchange.getIn().setHeader(FileConstants.FILE_NAME, 
> FileUtil.stripPath(fileName));         tempName = 
> endpoint.getTempFileName().evaluate(exchange, String.class);         
> exchange.getIn().removeHeader(FileConstants.FILE_NAME);     }
> else {
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>     }    int pos = Math.max(answer.lastIndexOf('/'), answer.lastIndexOf("
> "));
>     if (pos == -1) {
>         answer = tempName;
>     } else {
>         final String prefix = answer.substring(0, pos + 1);
>         StringBuilder sb = new StringBuilder(tempName.length() + 
> prefix.length() + 1);
>         sb.append(prefix);
>         sb.append(tempName);
>         answer = sb.toString();
>     }    if (endpoint.getConfiguration().needToNormalize()) {
>         answer = normalizePath(answer);
>     }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
> answer;
> } 
> {code}
> *Issue Location:*
> The issue occurs in the line:
> {code:java}
> StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
> {code}
> If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
> {{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.
> *Steps to Reproduce:*
>  # Call {{createTempFileName}} with an {{Exchange}} object where 
> {{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
> {{{}null{}}}.
>  # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
> occurs.
> *Expected Behavior:*
> The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
> {{tempName}} is {{{}null{}}}, a default value should be used or a check 
> should be added to avoid invoking methods on a {{null}} object.
> *Actual Behavior:*
> A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
> may interrupt the file creation or processing flow.
> *Suggested Solution:*
> Add a null check for {{tempName}} after it is assigned. For example:
> {code:java}
> if (tempName == null) {
> tempName = "defaultTempName"; // or handle appropriately for your use case
> }
> {code}
>  
> Alternatively, consider handling {{null}} scenarios with a fallback or 
> error-handling mechanism to avoid this exception.
> *Impact:*
> This issue disrupts file processing, potentially causing failures in 
> downstream applications depending on file operations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897249#comment-17897249
 ] 

Claus Ibsen commented on CAMEL-21432:
-

Sorry but what are you talking about ?

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with multicast operating on SimpleLRUCache
> -
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Minor
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.Default

[jira] [Commented] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache

2024-11-11 Thread Abhi Ashok (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897245#comment-17897245
 ] 

Abhi Ashok commented on CAMEL-21432:


Hi [~davsclaus] - Is there an alternative to Slack account verification. 
Unfortunately Slack is blocked in our organization.  Please let me know. Thx.

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with multicast operating on SimpleLRUCache
> -
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Minor
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultRe

[jira] [Commented] (CAMEL-21435) Commons-pool2: When Camel Netty configured with producerPoolMaxTotal=1 and retry, the application hangs

2024-11-11 Thread Dmitrii Kriukov (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897253#comment-17897253
 ] 

Dmitrii Kriukov commented on CAMEL-21435:
-

Hi Claus,
it's a limitation imposed on us by the other side of data exchange.

> Commons-pool2: When Camel Netty configured with producerPoolMaxTotal=1 and 
> retry, the application hangs
> ---
>
> Key: CAMEL-21435
> URL: https://issues.apache.org/jira/browse/CAMEL-21435
> Project: Camel
>  Issue Type: Bug
>  Components: camel-netty
>Reporter: Dmitrii Kriukov
>Priority: Minor
>
> Retry on the onException() clause seems to be impossible for 
> producerPoolMaxTotal=1 (leads to call of 
> GenericObjectPoolConfig.setMaxTotal())
> This causes infinite hanging in case of network IO exceptions.
> Netty attempts to utilize a new connection when the old one is still 
> unreleased.
> It boils down to method 
> org.apache.commons.pool2.impl.GenericObjectPool::borrowObject(Duration 
> borrowMaxWaitDuration) throws Exception {}
> When producerPoolBlockWhenExhausted = true (the default value), the 
> application hangs.
> When producerPoolBlockWhenExhausted = false, I get an exception 
> 2024-11-11 13:41:44 ERROR [com.opt.obp.ser.ada.cam.Logger] (Camel Thread #2 - 
> NettyClientTCPWorker) <> Exception occurred: 
> java.util.NoSuchElementException: Pool exhausted 
> So, either way it's impossible to serve



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache

2024-11-11 Thread Abhi Ashok (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Abhi Ashok updated CAMEL-21432:
---
Attachment: image-2024-11-11-14-31-06-831.png

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with multicast operating on SimpleLRUCache
> -
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Minor
> Attachments: image-2024-11-11-14-31-06-831.png
>
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engi

[jira] [Assigned] (CAMEL-21434) camel-kamelet-main: decouple from Camel JBang

2024-11-11 Thread Otavio Rodolfo Piske (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Otavio Rodolfo Piske reassigned CAMEL-21434:


Assignee: Otavio Rodolfo Piske

> camel-kamelet-main: decouple from Camel JBang
> -
>
> Key: CAMEL-21434
> URL: https://issues.apache.org/jira/browse/CAMEL-21434
> Project: Camel
>  Issue Type: Test
>Reporter: Otavio Rodolfo Piske
>Assignee: Otavio Rodolfo Piske
>Priority: Major
>
> There are a lot of references for Camel JBang in the Camel Kamelet Main 
> module. This makes it harder to reuse this module for other tools and ideas 
> that could benefit from the classes on that module. 
> We should decouple Camel JBang references from it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (CAMEL-21434) camel-kamelet-main: decouple from Camel JBang

2024-11-11 Thread Otavio Rodolfo Piske (Jira)
Otavio Rodolfo Piske created CAMEL-21434:


 Summary: camel-kamelet-main: decouple from Camel JBang
 Key: CAMEL-21434
 URL: https://issues.apache.org/jira/browse/CAMEL-21434
 Project: Camel
  Issue Type: Test
Reporter: Otavio Rodolfo Piske


There are a lot of references for Camel JBang in the Camel Kamelet Main module. 
This makes it harder to reuse this module for other tools and ideas that could 
benefit from the classes on that module. 

We should decouple Camel JBang references from it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21434) camel-kamelet-main: decouple from Camel JBang

2024-11-11 Thread Otavio Rodolfo Piske (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Otavio Rodolfo Piske updated CAMEL-21434:
-
Issue Type: Improvement  (was: Test)

> camel-kamelet-main: decouple from Camel JBang
> -
>
> Key: CAMEL-21434
> URL: https://issues.apache.org/jira/browse/CAMEL-21434
> Project: Camel
>  Issue Type: Improvement
>Reporter: Otavio Rodolfo Piske
>Assignee: Otavio Rodolfo Piske
>Priority: Major
>
> There are a lot of references for Camel JBang in the Camel Kamelet Main 
> module. This makes it harder to reuse this module for other tools and ideas 
> that could benefit from the classes on that module. 
> We should decouple Camel JBang references from it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21434) camel-kamelet-main: decouple from Camel JBang

2024-11-11 Thread Otavio Rodolfo Piske (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Otavio Rodolfo Piske updated CAMEL-21434:
-
Component/s: camel-kamelet-main
 camel-jbang

> camel-kamelet-main: decouple from Camel JBang
> -
>
> Key: CAMEL-21434
> URL: https://issues.apache.org/jira/browse/CAMEL-21434
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-jbang, camel-kamelet-main
>Reporter: Otavio Rodolfo Piske
>Assignee: Otavio Rodolfo Piske
>Priority: Major
>
> There are a lot of references for Camel JBang in the Camel Kamelet Main 
> module. This makes it harder to reuse this module for other tools and ideas 
> that could benefit from the classes on that module. 
> We should decouple Camel JBang references from it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21434) camel-kamelet-main: decouple from Camel JBang

2024-11-11 Thread Otavio Rodolfo Piske (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Otavio Rodolfo Piske updated CAMEL-21434:
-
Fix Version/s: 4.9.0

> camel-kamelet-main: decouple from Camel JBang
> -
>
> Key: CAMEL-21434
> URL: https://issues.apache.org/jira/browse/CAMEL-21434
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-jbang, camel-kamelet-main
>Affects Versions: 4.9.0
>Reporter: Otavio Rodolfo Piske
>Assignee: Otavio Rodolfo Piske
>Priority: Major
> Fix For: 4.9.0
>
>
> There are a lot of references for Camel JBang in the Camel Kamelet Main 
> module. This makes it harder to reuse this module for other tools and ideas 
> that could benefit from the classes on that module. 
> We should decouple Camel JBang references from it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21434) camel-kamelet-main: decouple from Camel JBang

2024-11-11 Thread Otavio Rodolfo Piske (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Otavio Rodolfo Piske updated CAMEL-21434:
-
Affects Version/s: 4.9.0

> camel-kamelet-main: decouple from Camel JBang
> -
>
> Key: CAMEL-21434
> URL: https://issues.apache.org/jira/browse/CAMEL-21434
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-jbang, camel-kamelet-main
>Affects Versions: 4.9.0
>Reporter: Otavio Rodolfo Piske
>Assignee: Otavio Rodolfo Piske
>Priority: Major
>
> There are a lot of references for Camel JBang in the Camel Kamelet Main 
> module. This makes it harder to reuse this module for other tools and ideas 
> that could benefit from the classes on that module. 
> We should decouple Camel JBang references from it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21435) Commons-pool2: When Camel Netty configured with producerPoolMaxTotal=1 and retry, the application hangs

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21435:

Priority: Minor  (was: Major)

> Commons-pool2: When Camel Netty configured with producerPoolMaxTotal=1 and 
> retry, the application hangs
> ---
>
> Key: CAMEL-21435
> URL: https://issues.apache.org/jira/browse/CAMEL-21435
> Project: Camel
>  Issue Type: Bug
>  Components: camel-netty
>Reporter: Dmitrii Kriukov
>Priority: Minor
>
> Retry on the onException() clause seems to be impossible for 
> producerPoolMaxTotal=1 (leads to call of 
> GenericObjectPoolConfig.setMaxTotal())
> This causes infinite hanging in case of network IO exceptions.
> Netty attempts to utilize a new connection when the old one is still 
> unreleased.
> It boils down to method 
> org.apache.commons.pool2.impl.GenericObjectPool::borrowObject(Duration 
> borrowMaxWaitDuration) throws Exception {}
> When producerPoolBlockWhenExhausted = true (the default value), the 
> application hangs.
> When producerPoolBlockWhenExhausted = false, I get an exception 
> 2024-11-11 13:41:44 ERROR [com.opt.obp.ser.ada.cam.Logger] (Camel Thread #2 - 
> NettyClientTCPWorker) <> Exception occurred: 
> java.util.NoSuchElementException: Pool exhausted 
> So, either way it's impossible to serve



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CAMEL-21435) Commons-pool2: When Camel Netty configured with producerPoolMaxTotal=1 and retry, the application hangs

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897243#comment-17897243
 ] 

Claus Ibsen commented on CAMEL-21435:
-

Then its a bad idea to use such low pool, set the value higher

> Commons-pool2: When Camel Netty configured with producerPoolMaxTotal=1 and 
> retry, the application hangs
> ---
>
> Key: CAMEL-21435
> URL: https://issues.apache.org/jira/browse/CAMEL-21435
> Project: Camel
>  Issue Type: Bug
>  Components: camel-netty
>Reporter: Dmitrii Kriukov
>Priority: Minor
>
> Retry on the onException() clause seems to be impossible for 
> producerPoolMaxTotal=1 (leads to call of 
> GenericObjectPoolConfig.setMaxTotal())
> This causes infinite hanging in case of network IO exceptions.
> Netty attempts to utilize a new connection when the old one is still 
> unreleased.
> It boils down to method 
> org.apache.commons.pool2.impl.GenericObjectPool::borrowObject(Duration 
> borrowMaxWaitDuration) throws Exception {}
> When producerPoolBlockWhenExhausted = true (the default value), the 
> application hangs.
> When producerPoolBlockWhenExhausted = false, I get an exception 
> 2024-11-11 13:41:44 ERROR [com.opt.obp.ser.ada.cam.Logger] (Camel Thread #2 - 
> NettyClientTCPWorker) <> Exception occurred: 
> java.util.NoSuchElementException: Pool exhausted 
> So, either way it's impossible to serve



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21432:

Priority: Minor  (was: Major)

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with multicast operating on SimpleLRUCache
> -
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Minor
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:

[jira] [Created] (CAMEL-21436) camel-jbang - Export beans with secret function should work even if k8s is not configured

2024-11-11 Thread Claus Ibsen (Jira)
Claus Ibsen created CAMEL-21436:
---

 Summary: camel-jbang - Export beans with secret function should 
work even if k8s is not configured
 Key: CAMEL-21436
 URL: https://issues.apache.org/jira/browse/CAMEL-21436
 Project: Camel
  Issue Type: Bug
  Components: camel-jbang
Affects Versions: 4.8.1
Reporter: Claus Ibsen
 Fix For: 4.8.2, 4.9.0


A bean such as a database driver
{code:java}
- beans:
- name: DemoDatabase
  type: "#class:org.apache.commons.dbcp2.BasicDataSource"
  properties:
username: "{{secret:demo/username}}"
password: "{{secret:demo/password}}"
url: "{{secret:demo/url}}"
driverClassName: org.postgresql.Driver

{code}
 

Can fail during export because camel-kubernetes fail with

java.lang.IllegalArgumentException: Secrets must be configured on Kubernetes 
vault configuration
at 
org.apache.camel.component.kubernetes.secrets.vault.SecretsReloadTriggerTask.doStart(SecretsReloadTriggerTask.java:96)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (CAMEL-21434) camel-kamelet-main: decouple from Camel JBang

2024-11-11 Thread Otavio Rodolfo Piske (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Otavio Rodolfo Piske resolved CAMEL-21434.
--
Resolution: Fixed

Resolved with the linked PR.

> camel-kamelet-main: decouple from Camel JBang
> -
>
> Key: CAMEL-21434
> URL: https://issues.apache.org/jira/browse/CAMEL-21434
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-jbang, camel-kamelet-main
>Affects Versions: 4.9.0
>Reporter: Otavio Rodolfo Piske
>Assignee: Otavio Rodolfo Piske
>Priority: Major
> Fix For: 4.9.0
>
>
> There are a lot of references for Camel JBang in the Camel Kamelet Main 
> module. This makes it harder to reuse this module for other tools and ideas 
> that could benefit from the classes on that module. 
> We should decouple Camel JBang references from it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache

2024-11-11 Thread Abhi Ashok (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897260#comment-17897260
 ] 

Abhi Ashok commented on CAMEL-21432:


nvm. It might be just process. 

I  see on the Jira board, its asking me for slack verification if needed to see 
the discussions on this issue. 

!image-2024-11-11-14-31-06-831.png!

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with multicast operating on SimpleLRUCache
> -
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Minor
> Attachments: image-2024-11-11-14-31-06-831.png
>
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$Re

[jira] [Commented] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897372#comment-17897372
 ] 

Claus Ibsen commented on CAMEL-21432:
-

There is no slack in use at all, you can see all here in the comments

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with multicast operating on SimpleLRUCache
> -
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Minor
> Attachments: image-2024-11-11-14-31-06-831.png
>
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker

[jira] [Commented] (CAMEL-21432) multicast function executes for ever. Thread is RUNNABLE for ever. Issue appears with multicast operating on SimpleLRUCache

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897373#comment-17897373
 ] 

Claus Ibsen commented on CAMEL-21432:
-

Try with latest release or SNAPSHOT and can you build a sample project that can 
reproduce the issue you see.

> multicast function executes for ever.  Thread is RUNNABLE for ever.  Issue 
> appears with multicast operating on SimpleLRUCache
> -
>
> Key: CAMEL-21432
> URL: https://issues.apache.org/jira/browse/CAMEL-21432
> Project: Camel
>  Issue Type: Bug
>  Components: came-core
>Affects Versions: 4.4.3
> Environment: |
> ||Virtual Machine: |OpenJDK 64-Bit Server VM version 17.0.13+11-LTS|
> ||Vendor: |Red Hat, Inc.|
> |
>  
> Processing Application Thread: IBM MQ Consumer. 
> Camel Version: 4.4.3
>Reporter: Abhi Ashok
>Priority: Minor
> Attachments: image-2024-11-11-14-31-06-831.png
>
>
> multicast function used in a Camel Route never returns back occasionally. 
> Route Code snippet: 
> from(getProcessMessageURI())
> .routeId(getSourceId() + ".businessRoute")
> .autoStartup(this.getConfigValue(getRouteAutoStartup()))
> .transacted(this.getPropagationRequiredPolicy())
> .setHeader("DESTINATION_URI").simple(this.getConfigValue(getOutputQueue()))
> .process(new InputMessageProcessor(this.getConfigValue(getOutputQueue(
> .bean(new JTEConfigReader(getConfigXml()), "addJTEConfig(${body})")
> .bean(DMUtilityProcessor.class) exchange
> .bean(TranslatorExchangeController.class)
> .removeHeaders("JMS*")
> *.multicast()*
> .to(directOutput(), directPersist());
>  
> *Thread dump shows that the Processing Thread remains in RUNNABLE state.* 
> *All Stuck instance of Threaddump shows access to 
> SimpleLRUCache$OperationContext.close, where it gets stuck.*
>  
> Thread Dump:
> Name: Camel (camelContext) thread #11 - 
> JmsConsumer[IFM.RTR.IFM.ITE.BFM.AKNKRAW.EXPRESS]
> State: *RUNNABLE*
> Total blocked: 13,338  Total waited: 13,968
> Stack trace: 
> org.apache.camel.support.cache{*}.SimpleLRUCache{*}$OperationContext.close(SimpleLRUCache.java:318)
> org.apache.camel.support.cache.SimpleLRUCache.putIfAbsent(SimpleLRUCache.java:125)
> org.apache.camel.processor.MulticastProcessor.wrapInErrorHandler(MulticastProcessor.java:1074)
> org.apache.camel.processor.MulticastProcessor.createProcessorExchangePair(MulticastProcessor.java:1023)
> org.apache.camel.processor.{*}MulticastProcessor{*}.createProcessorExchangePairs(MulticastProcessor.java:990)
> org.apache.camel.processor.MulticastProcessor.doProcess(MulticastProcessor.java:324)
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:316)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:200)
> org.apache.camel.impl.engine.CamelInternalProcessor.processTransacted(CamelInternalProcessor.java:397)
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:327)
> org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102)
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeFromQueue(DefaultReactiveExecutor.java:240)
> org.apache.camel.impl.engine.DefaultReactiveExecutor.executeFromQueue(DefaultReactiveExecutor.java:77)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:95)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:84)
> org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:244)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:119)
> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:132)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:840)
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:746)
> org.apache.camel.im

[jira] [Commented] (CAMEL-21433) camel run/export --runtime quarkus can't use a route from subdirectory

2024-11-11 Thread Claus Ibsen (Jira)


[ 
https://issues.apache.org/jira/browse/CAMEL-21433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17897374#comment-17897374
 ] 

Claus Ibsen commented on CAMEL-21433:
-

This is not really intended, you export from the same dir, or use the 
--source-dir option.

But we can see if we can get this mix of path style better in the future

> camel run/export --runtime quarkus can't use a route from subdirectory
> --
>
> Key: CAMEL-21433
> URL: https://issues.apache.org/jira/browse/CAMEL-21433
> Project: Camel
>  Issue Type: Bug
>  Components: camel-jbang
>Affects Versions: 4.8.1
> Environment: {code}
> camel version
> JBang version: 0.119.0
> Camel JBang version: 4.8.1
> java -version
> java version "21.0.5" 2024-10-15 LTS
> Java(TM) SE Runtime Environment Oracle GraalVM 21.0.5+9.1 (build 
> 21.0.5+9-LTS-jvmci-23.1-b48)
> Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.5+9.1 (build 
> 21.0.5+9-LTS-jvmci-23.1-b48, mixed mode, sharing)
> {code}
>Reporter: Andrej Vano
>Priority: Minor
>
> I do:
> 1. mkdir app
> 2. camel init app/hello.yaml
> 3. camel run --runtime camel-quarkus app/hello.yaml
> {code}
> Running using Quarkus v3.15.1 (preparing and downloading files)
> Executing "/home/avano/.sdkman/candidates/java/21.0.5-graal/bin/java 
> -Dquarkus.platform.version=3.15.1 -Dquarkus.application.version=1.0-SNAPSHOT 
> -Dquarkus.platform.artifact-id=quarkus-bom 
> -Dquarkus.platform.group-id=io.quarkus.platform 
> -Dquarkus.application.name=jbang-run-dummy -jar 
> /tmp/.camel-jbang-run/1731334574314/target/quarkus-app/quarkus-run.jar"
> __    __  _   ___  __   __ 
>  --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
>  -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
> --\___\_\/_/ |_/_/|_/_/|_|\/___/   
> 2024-11-11 15:16:22,390 INFO  [org.apa.cam.qua.cor.CamelBootstrapRecorder] 
> (main) Apache Camel Quarkus 3.15.0 is starting
> 2024-11-11 15:16:22,392 INFO  [org.apa.cam.mai.MainSupport] (main) Apache 
> Camel (Main) 4.8.0 is starting
> 2024-11-11 15:16:22,405 ERROR [org.apa.cam.qua.mai.CamelMainRuntime] (main) 
> Failed to start application: org.apache.camel.RuntimeCamelException: 
> java.io.FileNotFoundException: Resource not found: 
> classpath:camel/app/hello.yaml
>   at 
> org.apache.camel.RuntimeCamelException.wrapRuntimeException(RuntimeCamelException.java:68)
>   at 
> org.apache.camel.main.RoutesConfigurer.configureModeline(RoutesConfigurer.java:366)
>   at 
> org.apache.camel.main.BaseMainSupport.modelineRoutes(BaseMainSupport.java:692)
>   at 
> org.apache.camel.main.BaseMainSupport.autoconfigure(BaseMainSupport.java:535)
>   at org.apache.camel.main.MainSupport.autoconfigure(MainSupport.java:73)
>   at 
> org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:772)
>   at 
> org.apache.camel.quarkus.main.CamelMain.initCamelContext(CamelMain.java:113)
>   at org.apache.camel.quarkus.main.CamelMain.doInit(CamelMain.java:83)
>   at 
> org.apache.camel.support.service.BaseService.init(BaseService.java:85)
>   at 
> org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:134)
>   at 
> org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
>   at 
> org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
>   at 
> io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown
>  Source)
>   at 
> io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown
>  Source)
>   at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
>   at io.quarkus.runtime.Application.start(Application.java:101)
>   at 
> io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
>   at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
>   at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
>   at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
>   at io.quarkus.runner.GeneratedMain.main(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
>   at java.base/java.lang.reflect.Method.invoke(Method.java:580)
>   at 
> io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
>   at 
> io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
> Caused by: java.io.FileNotFoundException: Resource not found: 
> classpath:camel/app/hello.yaml
>   at 
> org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.preParseRoute(YamlRoutesBuilderLoader.java:976)
>   at 
> org.apache.camel.main.RoutesConfigurer.doConfigureModeline(RoutesConfigurer.java:425)
>   at 
> org.apache.camel.main.RoutesConfigu

[jira] [Updated] (CAMEL-21428) NullPointerException in createTempFileName due to tempName being null in Camel 4.8.0

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21428:

Affects Version/s: (was: 4.8.0)

> NullPointerException in createTempFileName due to tempName being null in 
> Camel 4.8.0
> 
>
> Key: CAMEL-21428
> URL: https://issues.apache.org/jira/browse/CAMEL-21428
> Project: Camel
>  Issue Type: Bug
>  Components: camel-file
>Affects Versions: 4.8.1
>Reporter: Oystein Follo
>Priority: Minor
>
> We are experiencing a {{NullPointerException}} within the 
> {{createTempFileName}} method. This error occurs when {{tempName}} is 
> evaluated as {{{}null{}}}, and later in the code, a call to 
> {{tempName.length()}} or {{tempName.lastIndexOf()}} results in an exception. 
> This issue can disrupt the file processing flow.
> *Relevant Code Segment:*
> *File: camel-file/components/file/GenericFileProducer.java*
> {code:java}
> public String createTempFileName(Exchange exchange, String fileName) {
>     String answer = fileName;    String tempName;
>     if (exchange.getIn().getHeader(FileConstants.FILE_NAME) == null)
> {         exchange.getIn().setHeader(FileConstants.FILE_NAME, 
> FileUtil.stripPath(fileName));         tempName = 
> endpoint.getTempFileName().evaluate(exchange, String.class);         
> exchange.getIn().removeHeader(FileConstants.FILE_NAME);     }
> else {
>         tempName = endpoint.getTempFileName().evaluate(exchange, 
> String.class);
>     }    int pos = Math.max(answer.lastIndexOf('/'), answer.lastIndexOf("
> "));
>     if (pos == -1) {
>         answer = tempName;
>     } else {
>         final String prefix = answer.substring(0, pos + 1);
>         StringBuilder sb = new StringBuilder(tempName.length() + 
> prefix.length() + 1);
>         sb.append(prefix);
>         sb.append(tempName);
>         answer = sb.toString();
>     }    if (endpoint.getConfiguration().needToNormalize()) {
>         answer = normalizePath(answer);
>     }    answer = FileUtil.compactPath(answer, getFileSeparator());    return 
> answer;
> } 
> {code}
> *Issue Location:*
> The issue occurs in the line:
> {code:java}
> StringBuilder sb = new StringBuilder(tempName.length() + prefix.length() + 1);
> {code}
> If {{tempName}} is {{{}null{}}}, calling {{tempName.length()}} or 
> {{tempName.lastIndexOf()}} will result in a {{{}NullPointerException{}}}.
> *Steps to Reproduce:*
>  # Call {{createTempFileName}} with an {{Exchange}} object where 
> {{endpoint.getTempFileName().evaluate(exchange, String.class)}} may return 
> {{{}null{}}}.
>  # Observe that if {{tempName}} is {{{}null{}}}, a {{NullPointerException}} 
> occurs.
> *Expected Behavior:*
> The method should handle the case where {{tempName}} may be {{{}null{}}}. If 
> {{tempName}} is {{{}null{}}}, a default value should be used or a check 
> should be added to avoid invoking methods on a {{null}} object.
> *Actual Behavior:*
> A {{NullPointerException}} is thrown when {{tempName}} is {{{}null{}}}, which 
> may interrupt the file creation or processing flow.
> *Suggested Solution:*
> Add a null check for {{tempName}} after it is assigned. For example:
> {code:java}
> if (tempName == null) {
> tempName = "defaultTempName"; // or handle appropriately for your use case
> }
> {code}
>  
> Alternatively, consider handling {{null}} scenarios with a fallback or 
> error-handling mechanism to avoid this exception.
> *Impact:*
> This issue disrupts file processing, potentially causing failures in 
> downstream applications depending on file operations.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (CAMEL-21433) camel run/export --runtime quarkus can't use a route from subdirectory

2024-11-11 Thread Claus Ibsen (Jira)


 [ 
https://issues.apache.org/jira/browse/CAMEL-21433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-21433:

Priority: Minor  (was: Major)

> camel run/export --runtime quarkus can't use a route from subdirectory
> --
>
> Key: CAMEL-21433
> URL: https://issues.apache.org/jira/browse/CAMEL-21433
> Project: Camel
>  Issue Type: Bug
>  Components: camel-jbang
>Affects Versions: 4.8.1
> Environment: {code}
> camel version
> JBang version: 0.119.0
> Camel JBang version: 4.8.1
> java -version
> java version "21.0.5" 2024-10-15 LTS
> Java(TM) SE Runtime Environment Oracle GraalVM 21.0.5+9.1 (build 
> 21.0.5+9-LTS-jvmci-23.1-b48)
> Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.5+9.1 (build 
> 21.0.5+9-LTS-jvmci-23.1-b48, mixed mode, sharing)
> {code}
>Reporter: Andrej Vano
>Priority: Minor
>
> I do:
> 1. mkdir app
> 2. camel init app/hello.yaml
> 3. camel run --runtime camel-quarkus app/hello.yaml
> {code}
> Running using Quarkus v3.15.1 (preparing and downloading files)
> Executing "/home/avano/.sdkman/candidates/java/21.0.5-graal/bin/java 
> -Dquarkus.platform.version=3.15.1 -Dquarkus.application.version=1.0-SNAPSHOT 
> -Dquarkus.platform.artifact-id=quarkus-bom 
> -Dquarkus.platform.group-id=io.quarkus.platform 
> -Dquarkus.application.name=jbang-run-dummy -jar 
> /tmp/.camel-jbang-run/1731334574314/target/quarkus-app/quarkus-run.jar"
> __    __  _   ___  __   __ 
>  --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ 
>  -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \   
> --\___\_\/_/ |_/_/|_/_/|_|\/___/   
> 2024-11-11 15:16:22,390 INFO  [org.apa.cam.qua.cor.CamelBootstrapRecorder] 
> (main) Apache Camel Quarkus 3.15.0 is starting
> 2024-11-11 15:16:22,392 INFO  [org.apa.cam.mai.MainSupport] (main) Apache 
> Camel (Main) 4.8.0 is starting
> 2024-11-11 15:16:22,405 ERROR [org.apa.cam.qua.mai.CamelMainRuntime] (main) 
> Failed to start application: org.apache.camel.RuntimeCamelException: 
> java.io.FileNotFoundException: Resource not found: 
> classpath:camel/app/hello.yaml
>   at 
> org.apache.camel.RuntimeCamelException.wrapRuntimeException(RuntimeCamelException.java:68)
>   at 
> org.apache.camel.main.RoutesConfigurer.configureModeline(RoutesConfigurer.java:366)
>   at 
> org.apache.camel.main.BaseMainSupport.modelineRoutes(BaseMainSupport.java:692)
>   at 
> org.apache.camel.main.BaseMainSupport.autoconfigure(BaseMainSupport.java:535)
>   at org.apache.camel.main.MainSupport.autoconfigure(MainSupport.java:73)
>   at 
> org.apache.camel.main.BaseMainSupport.postProcessCamelContext(BaseMainSupport.java:772)
>   at 
> org.apache.camel.quarkus.main.CamelMain.initCamelContext(CamelMain.java:113)
>   at org.apache.camel.quarkus.main.CamelMain.doInit(CamelMain.java:83)
>   at 
> org.apache.camel.support.service.BaseService.init(BaseService.java:85)
>   at 
> org.apache.camel.quarkus.main.CamelMain.startEngine(CamelMain.java:134)
>   at 
> org.apache.camel.quarkus.main.CamelMainRuntime.start(CamelMainRuntime.java:49)
>   at 
> org.apache.camel.quarkus.core.CamelBootstrapRecorder.start(CamelBootstrapRecorder.java:45)
>   at 
> io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy_0(Unknown
>  Source)
>   at 
> io.quarkus.deployment.steps.CamelBootstrapProcessor$boot173480958.deploy(Unknown
>  Source)
>   at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
>   at io.quarkus.runtime.Application.start(Application.java:101)
>   at 
> io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
>   at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
>   at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
>   at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
>   at io.quarkus.runner.GeneratedMain.main(Unknown Source)
>   at 
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
>   at java.base/java.lang.reflect.Method.invoke(Method.java:580)
>   at 
> io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:62)
>   at 
> io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:33)
> Caused by: java.io.FileNotFoundException: Resource not found: 
> classpath:camel/app/hello.yaml
>   at 
> org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader.preParseRoute(YamlRoutesBuilderLoader.java:976)
>   at 
> org.apache.camel.main.RoutesConfigurer.doConfigureModeline(RoutesConfigurer.java:425)
>   at 
> org.apache.camel.main.RoutesConfigurer.configureModeline(RoutesConfigurer.java:352)
>   ... 23 more
> {code}
> Also when I do {{camel export --runtime quarkus --dir app/export 
> app/hello.yaml}}, hello.yaml is placed in