[jira] [Created] (CAMEL-21599) Global Error Handler fail when a Kamelet fails

2025-01-07 Thread Pasquale Congiusti (Jira)
Pasquale Congiusti created CAMEL-21599:
--

 Summary: Global Error Handler fail when a Kamelet fails
 Key: CAMEL-21599
 URL: https://issues.apache.org/jira/browse/CAMEL-21599
 Project: Camel
  Issue Type: Bug
Affects Versions: 4.9.0
Reporter: Pasquale Congiusti


I found a faulty behavior when configuring a global error handler and the 
failure is caused by the execution of a Kamelet.

The following route works correctly:
{code}
- route:
errorHandler:
  deadLetterChannel:
deadLetterUri: kamelet:log-sink/errorHandler
from:
  uri: timer:tick
  steps:
- setBody:
constant: "fail!"
- setBody:
simple: "${mandatoryBodyAs(Boolean)}"
- log: "${body}"
{code}

It intercept the failing execution and forward the failure to the DLC. However, 
if the producer URI contains a failing Kamelet, then, the global error handler 
is not working. Wrapping the same failing logic in a local Kamelet like:

{code}
apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
  name: my-err-source
  labels:
camel.apache.org/kamelet.type: "source"
spec:
  definition:
title: "Timer Example"
description: "Produces periodic events with a custom payload"
required:
  - message
properties:
  period:
title: Period
description: The time interval between two events
type: integer
default: 1000
  message:
title: Message
description: The message to generate
type: string
  types:
out:
  mediaType: text/plain
  template:
from:
  uri: timer:tick
  parameters:
period: "{{period}}"
  steps:
- setBody:
constant: "{{message}}"
- setBody:
simple: "${mandatoryBodyAs(Boolean)}"
- setHeader:
name: "Content-Type"
constant: "text/plain"
- to: "kamelet:sink"
{code}

And executing a new route as:

{code}
- route:
errorHandler:
  deadLetterChannel:
deadLetterUri: kamelet:log-sink/errorHandler
from:
  uri: "kamelet:my-err-source/source"
  parameters:
message: "fail!"
  steps:
- log: "${body}"
{code}

Will act as no error handler is set at all, logging a Warn:

{code}
$ camel run * 
2025-01-07 15:35:45.263  INFO 610120 --- [   main] 
org.apache.camel.main.MainSupport: Apache Camel (JBang) 4.9.0 is 
starting
2025-01-07 15:35:45.332  INFO 610120 --- [   main] 
org.apache.camel.main.MainSupport: Additional files added to classpath: 
console.log
2025-01-07 15:35:45.478  INFO 610120 --- [   main] 
org.apache.camel.main.MainSupport: Using Java 17.0.7 with PID 610120. 
Started by squake in /home/squake/workspace/camel-k/kamelet
2025-01-07 15:35:45.615  INFO 610120 --- [   main] 
org.apache.camel.main.ProfileConfigurer  : The application is starting with 
profile: dev
2025-01-07 15:35:45.970  INFO 610120 --- [   main] 
he.camel.cli.connector.LocalCliConnector : Camel JBang CLI enabled
2025-01-07 15:35:46.124  INFO 610120 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
is starting
2025-01-07 15:35:46.390  INFO 610120 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Routes startup (total:1 started:1 
kamelets:1)
2025-01-07 15:35:46.390  INFO 610120 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Started route1 (timer://tick)
2025-01-07 15:35:46.391  INFO 610120 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
started in 266ms (build:0ms init:0ms start:266ms boot:858ms)
2025-01-07 15:35:47.329  INFO 610120 --- [ - timer://tick] log-sink 
: Exchange[ExchangePattern: InOnly, BodyType: String, Body: 
fail!]
2025-01-07 15:35:48.283  INFO 610120 --- [ - timer://tick] log-sink 
: Exchange[ExchangePattern: InOnly, BodyType: String, Body: 
fail!]
2025-01-07 15:35:49.283  INFO 610120 --- [ - timer://tick] log-sink 
: Exchange[ExchangePattern: InOnly, BodyType: String, Body: 
fail!]
^C2025-01-07 15:35:49.678  INFO 610120 --- [ngupInterceptor] 
e.camel.main.DefaultMainShutdownStrategy : JVM shutdown hook triggered by 
SIGTERM (PID 610120). Shutting down Apache Camel (JBang) 4.9.0
2025-01-07 15:35:49.682  INFO 610120 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
is shutting down (timeout:10s)
2025-01-07 15:35:49.712  INFO 610120 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Routes stopped (total:1 stopped:1 
kamelets:1)
2025-01-07 15:35:49.712  INFO 610120 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Stopped route1 (timer://tick)
2025-01-07 15:35:49.720  INFO

[jira] [Commented] (CAMEL-21599) Global Error Handler does not take effect when a producer Kamelet fails

2025-01-07 Thread Pasquale Congiusti (Jira)


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

Pasquale Congiusti commented on CAMEL-21599:


I may contribute to the fix, but I'd need some direction to understand where 
and when the global error handler is set in order to verify why it's not taking 
effect.

> Global Error Handler does not take effect when a producer Kamelet fails
> ---
>
> Key: CAMEL-21599
> URL: https://issues.apache.org/jira/browse/CAMEL-21599
> Project: Camel
>  Issue Type: Bug
>Affects Versions: 4.9.0
>Reporter: Pasquale Congiusti
>Priority: Major
>
> I found a faulty behavior when configuring a global error handler and the 
> failure is caused by the execution of a Kamelet.
> The following route works correctly:
> {code}
> - route:
> errorHandler:
>   deadLetterChannel:
> deadLetterUri: kamelet:log-sink/errorHandler
> from:
>   uri: timer:tick
>   steps:
> - setBody:
> constant: "fail!"
> - setBody:
> simple: "${mandatoryBodyAs(Boolean)}"
> - log: "${body}"
> {code}
> It intercept the failing execution and forward the failure to the DLC. 
> However, if the producer URI contains a failing Kamelet, then, the global 
> error handler is not working. Wrapping the same failing logic in a local 
> Kamelet like:
> {code}
> apiVersion: camel.apache.org/v1
> kind: Kamelet
> metadata:
>   name: my-err-source
>   labels:
> camel.apache.org/kamelet.type: "source"
> spec:
>   definition:
> title: "Timer Example"
> description: "Produces periodic events with a custom payload"
> required:
>   - message
> properties:
>   period:
> title: Period
> description: The time interval between two events
> type: integer
> default: 1000
>   message:
> title: Message
> description: The message to generate
> type: string
>   types:
> out:
>   mediaType: text/plain
>   template:
> from:
>   uri: timer:tick
>   parameters:
> period: "{{period}}"
>   steps:
> - setBody:
> constant: "{{message}}"
> - setBody:
> simple: "${mandatoryBodyAs(Boolean)}"
> - setHeader:
> name: "Content-Type"
> constant: "text/plain"
> - to: "kamelet:sink"
> {code}
> And executing a new route as:
> {code}
> - route:
> errorHandler:
>   deadLetterChannel:
> deadLetterUri: kamelet:log-sink/errorHandler
> from:
>   uri: "kamelet:my-err-source/source"
>   parameters:
> message: "fail!"
>   steps:
> - log: "${body}"
> {code}
> Will act as no error handler is set at all, logging a Warn:
> {code}
> $ camel run * 
> 2025-01-07 15:35:45.263  INFO 610120 --- [   main] 
> org.apache.camel.main.MainSupport: Apache Camel (JBang) 4.9.0 is 
> starting
> 2025-01-07 15:35:45.332  INFO 610120 --- [   main] 
> org.apache.camel.main.MainSupport: Additional files added to 
> classpath: console.log
> 2025-01-07 15:35:45.478  INFO 610120 --- [   main] 
> org.apache.camel.main.MainSupport: Using Java 17.0.7 with PID 610120. 
> Started by squake in /home/squake/workspace/camel-k/kamelet
> 2025-01-07 15:35:45.615  INFO 610120 --- [   main] 
> org.apache.camel.main.ProfileConfigurer  : The application is starting with 
> profile: dev
> 2025-01-07 15:35:45.970  INFO 610120 --- [   main] 
> he.camel.cli.connector.LocalCliConnector : Camel JBang CLI enabled
> 2025-01-07 15:35:46.124  INFO 610120 --- [   main] 
> e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
> is starting
> 2025-01-07 15:35:46.390  INFO 610120 --- [   main] 
> e.camel.impl.engine.AbstractCamelContext : Routes startup (total:1 started:1 
> kamelets:1)
> 2025-01-07 15:35:46.390  INFO 610120 --- [   main] 
> e.camel.impl.engine.AbstractCamelContext : Started route1 (timer://tick)
> 2025-01-07 15:35:46.391  INFO 610120 --- [   main] 
> e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
> started in 266ms (build:0ms init:0ms start:266ms boot:858ms)
> 2025-01-07 15:35:47.329  INFO 610120 --- [ - timer://tick] log-sink   
>   : Exchange[ExchangePattern: InOnly, BodyType: String, 
> Body: fail!]
> 2025-01-07 15:35:48.283  INFO 610120 --- [ - timer://tick] log-sink   
>   : Exchange[ExchangePattern: InOnly, BodyType: String, 
> Body: fail!]
> 2025-01-07 15:35:49.283  INFO 610120 --- [ - timer://tick] log-sink   
>   : Exchange[ExchangePattern: InOnly, BodyType: String, 
> Body: fail!]

[jira] [Updated] (CAMEL-21599) Global Error Handler does not take effect when a producer Kamelet fails

2025-01-07 Thread Pasquale Congiusti (Jira)


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

Pasquale Congiusti updated CAMEL-21599:
---
Summary: Global Error Handler does not take effect when a producer Kamelet 
fails  (was: Global Error Handler fail when a Kamelet fails)

> Global Error Handler does not take effect when a producer Kamelet fails
> ---
>
> Key: CAMEL-21599
> URL: https://issues.apache.org/jira/browse/CAMEL-21599
> Project: Camel
>  Issue Type: Bug
>Affects Versions: 4.9.0
>Reporter: Pasquale Congiusti
>Priority: Major
>
> I found a faulty behavior when configuring a global error handler and the 
> failure is caused by the execution of a Kamelet.
> The following route works correctly:
> {code}
> - route:
> errorHandler:
>   deadLetterChannel:
> deadLetterUri: kamelet:log-sink/errorHandler
> from:
>   uri: timer:tick
>   steps:
> - setBody:
> constant: "fail!"
> - setBody:
> simple: "${mandatoryBodyAs(Boolean)}"
> - log: "${body}"
> {code}
> It intercept the failing execution and forward the failure to the DLC. 
> However, if the producer URI contains a failing Kamelet, then, the global 
> error handler is not working. Wrapping the same failing logic in a local 
> Kamelet like:
> {code}
> apiVersion: camel.apache.org/v1
> kind: Kamelet
> metadata:
>   name: my-err-source
>   labels:
> camel.apache.org/kamelet.type: "source"
> spec:
>   definition:
> title: "Timer Example"
> description: "Produces periodic events with a custom payload"
> required:
>   - message
> properties:
>   period:
> title: Period
> description: The time interval between two events
> type: integer
> default: 1000
>   message:
> title: Message
> description: The message to generate
> type: string
>   types:
> out:
>   mediaType: text/plain
>   template:
> from:
>   uri: timer:tick
>   parameters:
> period: "{{period}}"
>   steps:
> - setBody:
> constant: "{{message}}"
> - setBody:
> simple: "${mandatoryBodyAs(Boolean)}"
> - setHeader:
> name: "Content-Type"
> constant: "text/plain"
> - to: "kamelet:sink"
> {code}
> And executing a new route as:
> {code}
> - route:
> errorHandler:
>   deadLetterChannel:
> deadLetterUri: kamelet:log-sink/errorHandler
> from:
>   uri: "kamelet:my-err-source/source"
>   parameters:
> message: "fail!"
>   steps:
> - log: "${body}"
> {code}
> Will act as no error handler is set at all, logging a Warn:
> {code}
> $ camel run * 
> 2025-01-07 15:35:45.263  INFO 610120 --- [   main] 
> org.apache.camel.main.MainSupport: Apache Camel (JBang) 4.9.0 is 
> starting
> 2025-01-07 15:35:45.332  INFO 610120 --- [   main] 
> org.apache.camel.main.MainSupport: Additional files added to 
> classpath: console.log
> 2025-01-07 15:35:45.478  INFO 610120 --- [   main] 
> org.apache.camel.main.MainSupport: Using Java 17.0.7 with PID 610120. 
> Started by squake in /home/squake/workspace/camel-k/kamelet
> 2025-01-07 15:35:45.615  INFO 610120 --- [   main] 
> org.apache.camel.main.ProfileConfigurer  : The application is starting with 
> profile: dev
> 2025-01-07 15:35:45.970  INFO 610120 --- [   main] 
> he.camel.cli.connector.LocalCliConnector : Camel JBang CLI enabled
> 2025-01-07 15:35:46.124  INFO 610120 --- [   main] 
> e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
> is starting
> 2025-01-07 15:35:46.390  INFO 610120 --- [   main] 
> e.camel.impl.engine.AbstractCamelContext : Routes startup (total:1 started:1 
> kamelets:1)
> 2025-01-07 15:35:46.390  INFO 610120 --- [   main] 
> e.camel.impl.engine.AbstractCamelContext : Started route1 (timer://tick)
> 2025-01-07 15:35:46.391  INFO 610120 --- [   main] 
> e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
> started in 266ms (build:0ms init:0ms start:266ms boot:858ms)
> 2025-01-07 15:35:47.329  INFO 610120 --- [ - timer://tick] log-sink   
>   : Exchange[ExchangePattern: InOnly, BodyType: String, 
> Body: fail!]
> 2025-01-07 15:35:48.283  INFO 610120 --- [ - timer://tick] log-sink   
>   : Exchange[ExchangePattern: InOnly, BodyType: String, 
> Body: fail!]
> 2025-01-07 15:35:49.283  INFO 610120 --- [ - timer://tick] log-sink   
>   : Exchange[ExchangePattern: InOnly, BodyType: String, 
> Body: fail!]
> ^C2025-01-07 15:35:49.678  INFO 610120 --- [ngupInterceptor] 
> e.camel.main.Defau

[jira] [Updated] (CAMEL-21599) Global Error Handler does not take effect when a producer Kamelet fails

2025-01-07 Thread Pasquale Congiusti (Jira)


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

Pasquale Congiusti updated CAMEL-21599:
---
Description: 
I found a faulty behavior when configuring a global error handler and the 
failure is caused by the execution of a Kamelet.

The following route works correctly:
{code}
- route:
errorHandler:
  deadLetterChannel:
deadLetterUri: kamelet:log-sink/errorHandler
from:
  uri: timer:tick
  steps:
- setBody:
constant: "fail!"
- setBody:
simple: "${mandatoryBodyAs(Boolean)}"
- log: "${body}"
{code}

It intercept the failing execution and forward the failure to the DLC. However, 
if the producer URI contains a failing Kamelet, then, the global error handler 
is not working. Wrapping the same failing logic in a local Kamelet like:

{code}
apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
  name: my-err-source
  labels:
camel.apache.org/kamelet.type: "source"
spec:
  definition:
title: "Timer Example"
description: "Produces periodic events with a custom payload"
required:
  - message
properties:
  period:
title: Period
description: The time interval between two events
type: integer
default: 1000
  message:
title: Message
description: The message to generate
type: string
  types:
out:
  mediaType: text/plain
  template:
from:
  uri: timer:tick
  parameters:
period: "{{period}}"
  steps:
- setBody:
constant: "{{message}}"
- setBody:
simple: "${mandatoryBodyAs(Boolean)}"
- setHeader:
name: "Content-Type"
constant: "text/plain"
- to: "kamelet:sink"
{code}

And executing a new route as:

{code}
- route:
errorHandler:
  deadLetterChannel:
deadLetterUri: kamelet:log-sink/errorHandler
from:
  uri: "kamelet:my-err-source/source"
  parameters:
message: "fail!"
  steps:
- log: "${body}"
{code}

Will act as no error handler is set at all, logging a Warn:

{code}
$ camel run * 
camel run * 
2025-01-07 15:36:45.452  INFO 611589 --- [   main] 
org.apache.camel.main.MainSupport: Apache Camel (JBang) 4.9.0 is 
starting
2025-01-07 15:36:45.522  INFO 611589 --- [   main] 
org.apache.camel.main.MainSupport: Additional files added to classpath: 
console.log
2025-01-07 15:36:45.652  INFO 611589 --- [   main] 
org.apache.camel.main.MainSupport: Using Java 17.0.7 with PID 611589. 
Started by squake in /home/squake/workspace/camel-k/kamelet
2025-01-07 15:36:45.837  INFO 611589 --- [   main] 
org.apache.camel.main.ProfileConfigurer  : The application is starting with 
profile: dev
2025-01-07 15:36:46.197  INFO 611589 --- [   main] 
he.camel.cli.connector.LocalCliConnector : Camel JBang CLI enabled
2025-01-07 15:36:46.350  INFO 611589 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
is starting
2025-01-07 15:36:46.497  INFO 611589 --- [   main] 
org.apache.camel.main.BaseMainSupport: Property-placeholders summary
2025-01-07 15:36:46.498  INFO 611589 --- [   main] 
org.apache.camel.main.BaseMainSupport: [my-err-source.kamelet.yaml]   
message = fail!
2025-01-07 15:36:46.611  INFO 611589 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Routes startup (total:1 started:1 
kamelets:2)
2025-01-07 15:36:46.612  INFO 611589 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Started route1 
(kamelet://my-err-source/source)
2025-01-07 15:36:46.612  INFO 611589 --- [   main] 
e.camel.impl.engine.AbstractCamelContext : Apache Camel 4.9.0 (my-err-source) 
started in 261ms (build:0ms init:0ms start:261ms boot:895ms)
2025-01-07 15:36:47.543  WARN 611589 --- [ - timer://tick] 
ache.camel.component.timer.TimerConsumer : Error processing exchange. 
Exchange[FE1CC7B02A4822F-]. Caused by: 
[org.apache.camel.CamelExecutionException - Exception occurred during execution 
on the exchange: Exchange[FE1CC7B02A4822F-]]
org.apache.camel.CamelExecutionException: Exception occurred during execution 
on the exchange: Exchange[FE1CC7B02A4822F-]
at 
org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:45)
 ~[camel-api-4.9.0.jar:4.9.0]
at 
org.apache.camel.language.simple.SimpleExpressionBuilder$31.evaluate(SimpleExpressionBuilder.java:838)
 ~[camel-core-languages-4.9.0.jar:4.9.0]
at 
org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:45) 
~[camel-support-4.9.0.jar:4.9.0]
at 
org.apache.camel.processor.SetBodyProcessor.process(SetBodyProcessor.java:45) 
~[camel-core-processor-4.9.0.jar:4.9.0]
 

[jira] [Updated] (CAMEL-21599) Global Error Handler does not take effect when a producer Kamelet fails

2025-01-07 Thread Pasquale Congiusti (Jira)


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

Pasquale Congiusti updated CAMEL-21599:
---
Description: 
I found a faulty behavior when configuring a global error handler and the 
failure is caused by the execution of a Kamelet.

The following route works correctly:
{code}
- route:
errorHandler:
  deadLetterChannel:
deadLetterUri: kamelet:log-sink/errorHandler
from:
  uri: timer:tick
  steps:
- setBody:
constant: "fail!"
- setBody:
simple: "${mandatoryBodyAs(Boolean)}"
- log: "${body}"
{code}

It intercept the failing execution and forward the failure to the DLC. However, 
if the producer URI contains a failing Kamelet, then, the global error handler 
is not working. Wrapping the same failing logic in a local Kamelet like:

{code}
apiVersion: camel.apache.org/v1
kind: Kamelet
metadata:
  name: my-err-source
  labels:
camel.apache.org/kamelet.type: "source"
spec:
  definition:
title: "Timer Example"
description: "Produces periodic events with a custom payload"
required:
  - message
properties:
  period:
title: Period
description: The time interval between two events
type: integer
default: 1000
  message:
title: Message
description: The message to generate
type: string
  types:
out:
  mediaType: text/plain
  template:
from:
  uri: timer:tick
  parameters:
period: "{{period}}"
  steps:
- setBody:
constant: "{{message}}"
- setBody:
simple: "${mandatoryBodyAs(Boolean)}"
- setHeader:
name: "Content-Type"
constant: "text/plain"
- to: "kamelet:sink"
{code}

And executing a new route as:

{code}
- route:
errorHandler:
  deadLetterChannel:
deadLetterUri: kamelet:log-sink/errorHandler
from:
  uri: "kamelet:my-err-source/source"
  parameters:
message: "fail!"
  steps:
- log: "${body}"
{code}

Will act as no error handler is set at all, logging a Warn:

{code}
$ camel run * 
2025-01-07 15:36:45.452  INFO 611589 --- [   main] 
org.apache.camel.main.MainSupport: Apache Camel (JBang) 4.9.0 is 
starting
...
2025-01-07 15:36:47.543  WARN 611589 --- [ - timer://tick] 
ache.camel.component.timer.TimerConsumer : Error processing exchange. 
Exchange[FE1CC7B02A4822F-]. Caused by: 
[org.apache.camel.CamelExecutionException - Exception occurred during execution 
on the exchange: Exchange[FE1CC7B02A4822F-]]
org.apache.camel.CamelExecutionException: Exception occurred during execution 
on the exchange: Exchange[FE1CC7B02A4822F-]
at 
org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:45)
 ~[camel-api-4.9.0.jar:4.9.0]
at 
org.apache.camel.language.simple.SimpleExpressionBuilder$31.evaluate(SimpleExpressionBuilder.java:838)
 ~[camel-core-languages-4.9.0.jar:4.9.0]
at 
org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:45) 
~[camel-support-4.9.0.jar:4.9.0]
at 
org.apache.camel.processor.SetBodyProcessor.process(SetBodyProcessor.java:45) 
~[camel-core-processor-4.9.0.jar:4.9.0]
at 
org.apache.camel.processor.errorhandler.NoErrorHandler.process(NoErrorHandler.java:46)
 ~[camel-core-processor-4.9.0.jar:4.9.0]
at 
org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347)
 ~[camel-base-engine-4.9.0.jar:4.9.0]
at 
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323)
 ~[camel-base-engine-4.9.0.jar:4.9.0]
at 
org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:102) 
~[camel-core-processor-4.9.0.jar:4.9.0]
at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.doRun(DefaultReactiveExecutor.java:199)
 [camel-base-engine-4.9.0.jar:4.9.0]
at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189)
 [camel-base-engine-4.9.0.jar:4.9.0]
at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166)
 [camel-base-engine-4.9.0.jar:4.9.0]
at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
 [camel-base-engine-4.9.0.jar:4.9.0]
at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
 [camel-base-engine-4.9.0.jar:4.9.0]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:163) 
[camel-core-processor-4.9.0.jar:4.9.0]
at 
org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347)
 [camel-base-e

[jira] [Resolved] (CAMEL-4616) register exception listener with camel-jms producer endpoint

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen resolved CAMEL-4616.

Resolution: Cannot Reproduce

Thanks. We cannot reproduce this with ActiveMQ Artemis, and have no other 
reports of this kind of issue with classic ActiveMQ

> register exception listener with camel-jms producer endpoint
> 
>
> Key: CAMEL-4616
> URL: https://issues.apache.org/jira/browse/CAMEL-4616
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-jms
>Affects Versions: 2.8.2
> Environment: camel-jms producer sending to ActiveMQ 
>Reporter: Torsten Mielke
>Assignee: Yasser Zamani
>Priority: Major
>  Labels: transactions
> Fix For: Future
>
>
> camel-jms should register an exception listener automatically when used as a 
> message producer. That way it can deal with any exception that may occur on 
> async sends.
> To be more precise:
> If a camel-jms producer sends a msg within a transaction to an ActiveMQ 
> broker, then this message send happens async by default (kind of an 
> optimization done by ActiveMQ). If anything goes wrong with the send (e.g. 
> broker raises a javax.jms.ResourceAllocationException because its full or 
> there is a transport problem) then we currently don't catch this exception as 
> there is no async exception listener registered. What's worse the TX will be 
> committed thereafter although the send has actually failed.
> As a result the msg is lost. 
> For ActiveMQ there is a simple solution to this problem, either
> - set jms.useAsyncSend=false on the broker URL, or
> - call setAlwaysSyncSend(true) on the ActiveMQConnectionFactory
> However many users won't be aware of this solution and will simply assume 
> that using a transaction is enough to guard against message loss. 
> Also the same problem can potentially arise with other JMS providers if they 
> also use async send within a transaction. 
> Camel should ensure that the out of the box behavior prevents from loosing 
> msgs in transactional sends.



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


[jira] [Resolved] (CAMEL-6108) Support XA Transactions in SJMS

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen resolved CAMEL-6108.

Resolution: Won't Do

> Support XA Transactions in SJMS
> ---
>
> Key: CAMEL-6108
> URL: https://issues.apache.org/jira/browse/CAMEL-6108
> Project: Camel
>  Issue Type: Sub-task
>  Components: camel-sjms
>Reporter: Chris Geer
>Priority: Major
> Fix For: Future
>
>
> We love contributions as you know. May you find time to work on it?



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


[jira] [Commented] (CAMEL-8249) camel-keycloak - A security component

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen commented on CAMEL-8249:


[~corneliouzbett] okay a component to manage keycloak is also interesting so 
you can use it to sync users as you talk about.

> camel-keycloak - A security component
> -
>
> Key: CAMEL-8249
> URL: https://issues.apache.org/jira/browse/CAMEL-8249
> Project: Camel
>  Issue Type: New Feature
>Reporter: Claus Ibsen
>Priority: Major
> Fix For: Future
>
>
> We should have a camel-keycloak component that integrates with keycloak
> https://www.keycloak.org/
> For example similar to as camel-spring-security
> http://camel.apache.org/security
> https://camel.apache.org/components/next/others/spring-security.html



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


[jira] [Updated] (CAMEL-15729) Graphql integration does not allow for TLS using private CAs

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen updated CAMEL-15729:

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

> Graphql integration does not allow for TLS using private CAs
> 
>
> Key: CAMEL-15729
> URL: https://issues.apache.org/jira/browse/CAMEL-15729
> Project: Camel
>  Issue Type: New Feature
>  Components: camel-graphql
>Affects Versions: 3.6.0
> Environment: OCP 4.5 on X using Apache Camel Operator 1.2.0, but 
> other environments apply as well.
>Reporter: Tim Kaczynski
>Priority: Minor
> Fix For: 4.x
>
>
> This enhancement request was generated from a question on zulipchat:
> [https://camel.zulipchat.com/#narrow/stream/257298-camel/topic/Adding.20a.20trustStore.20for.20graphql/near/213944005]
> We are writing an integration that needs to produce messages to a graphql 
> server.  The graphql server is using TLS and its certificate was generated by 
> an internal CA.  There does not appear to be a way to provide a trust store 
> to the graphql producer, like there is for say the Kafka integrations.  
> Connections to graphql fail due to the inability to build a trusted 
> certificate chain.
> Possible non-trivial solutions include assuming the graphql integration is 
> using the apache HTTP client, and setting up a new protocol that uses a 
> custom trust store.  Also (using camel-k) using the JVM taint to alter the 
> JSSE configuration / java properties, adding a trust store containing the CA. 
>  However both of these solutions require assumptions about the implementation 
> that may not always be true (and we have not tested them yet).  Could also 
> use the HTTP[4] integration directly to talk to graphql but this requires 
> coding the REST request manually.
> If there were a parameter on the graphql integration where we could input a 
> trust store, type, and password, that would be an ideal solution.  Or perhaps 
> some other way of modifying the default trust store using camel-k (this would 
> benefit all integrations).



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


[jira] [Commented] (CAMEL-15729) Graphql integration does not allow for TLS using private CAs

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen commented on CAMEL-15729:
-

Yeah it uses apache http client v5 and we would need to add support for setting 
up TLS/SSL with this client.

You can create a custom client and configure it and use that with Camel until 
there is something easier out of the box.

> Graphql integration does not allow for TLS using private CAs
> 
>
> Key: CAMEL-15729
> URL: https://issues.apache.org/jira/browse/CAMEL-15729
> Project: Camel
>  Issue Type: New Feature
>  Components: camel-graphql
>Affects Versions: 3.6.0
> Environment: OCP 4.5 on X using Apache Camel Operator 1.2.0, but 
> other environments apply as well.
>Reporter: Tim Kaczynski
>Priority: Minor
> Fix For: 4.x
>
>
> This enhancement request was generated from a question on zulipchat:
> [https://camel.zulipchat.com/#narrow/stream/257298-camel/topic/Adding.20a.20trustStore.20for.20graphql/near/213944005]
> We are writing an integration that needs to produce messages to a graphql 
> server.  The graphql server is using TLS and its certificate was generated by 
> an internal CA.  There does not appear to be a way to provide a trust store 
> to the graphql producer, like there is for say the Kafka integrations.  
> Connections to graphql fail due to the inability to build a trusted 
> certificate chain.
> Possible non-trivial solutions include assuming the graphql integration is 
> using the apache HTTP client, and setting up a new protocol that uses a 
> custom trust store.  Also (using camel-k) using the JVM taint to alter the 
> JSSE configuration / java properties, adding a trust store containing the CA. 
>  However both of these solutions require assumptions about the implementation 
> that may not always be true (and we have not tested them yet).  Could also 
> use the HTTP[4] integration directly to talk to graphql but this requires 
> coding the REST request manually.
> If there were a parameter on the graphql integration where we could input a 
> trust store, type, and password, that would be an ideal solution.  Or perhaps 
> some other way of modifying the default trust store using camel-k (this would 
> benefit all integrations).



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


[jira] [Resolved] (CAMEL-15011) AWS2 components: support async mode

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen resolved CAMEL-15011.
-
Resolution: Won't Fix

> AWS2 components: support async mode
> ---
>
> Key: CAMEL-15011
> URL: https://issues.apache.org/jira/browse/CAMEL-15011
> Project: Camel
>  Issue Type: New Feature
>Reporter: Luca Burgazzoli
>Priority: Minor
> Fix For: Future
>
>
> The AWS SDK v2 supports asynchronous mode [1] so it would be nice if our aws2 
> component would support that model. We  should also investigate if and how we 
> can share the event loop between camel and the aws2 sdk for an end2end 
> reactive story.
> [1] 
> https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/basics-async.html



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


[jira] [Created] (CAMEL-21598) Camel AWS Bedrock: Update supported models

2025-01-07 Thread Andrea Cosentino (Jira)
Andrea Cosentino created CAMEL-21598:


 Summary: Camel AWS Bedrock: Update supported models
 Key: CAMEL-21598
 URL: https://issues.apache.org/jira/browse/CAMEL-21598
 Project: Camel
  Issue Type: Task
Reporter: Andrea Cosentino
Assignee: Andrea Cosentino
 Fix For: 4.10.0


Some have been removed, some got new versions.



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


[jira] [Created] (CAMEL-21597) Camel AWS Bedrock: Support Amazon Nova models

2025-01-07 Thread Andrea Cosentino (Jira)
Andrea Cosentino created CAMEL-21597:


 Summary: Camel AWS Bedrock: Support Amazon Nova models
 Key: CAMEL-21597
 URL: https://issues.apache.org/jira/browse/CAMEL-21597
 Project: Camel
  Issue Type: New Feature
Reporter: Andrea Cosentino
Assignee: Andrea Cosentino
 Fix For: 4.10.0






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


[jira] [Commented] (CAMEL-21509) camel-kubernetes - Upgrade to v7 of fabric8-client

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen commented on CAMEL-21509:
-

Okay so lets get this into the next Camel release. Help is welcome as the 
upgrade likely requires code changes in camel also.

> camel-kubernetes - Upgrade to v7 of fabric8-client
> --
>
> Key: CAMEL-21509
> URL: https://issues.apache.org/jira/browse/CAMEL-21509
> Project: Camel
>  Issue Type: Dependency upgrade
>  Components: camel-kubernetes
>Reporter: Claus Ibsen
>Priority: Major
> Fix For: 4.10.0
>
>
> [https://blog.marcnuri.com/fabric8-kubernetes-client-7-0]
>  
> The CEQ project may need to upgrade as well to make this work on Quarkus.
> A



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


[jira] [Commented] (CAMEL-21509) camel-kubernetes - Upgrade to v7 of fabric8-client

2025-01-07 Thread James Netherton (Jira)


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

James Netherton commented on CAMEL-21509:
-

FWIW Quarkus has upgraded for their next release (3.18):

https://github.com/quarkusio/quarkus/pull/45259

> camel-kubernetes - Upgrade to v7 of fabric8-client
> --
>
> Key: CAMEL-21509
> URL: https://issues.apache.org/jira/browse/CAMEL-21509
> Project: Camel
>  Issue Type: Dependency upgrade
>  Components: camel-kubernetes
>Reporter: Claus Ibsen
>Priority: Major
> Fix For: 4.10.0
>
>
> [https://blog.marcnuri.com/fabric8-kubernetes-client-7-0]
>  
> The CEQ project may need to upgrade as well to make this work on Quarkus.
> A



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


[jira] [Updated] (CAMEL-21505) camel-as2: Binary files get corrupt when using 'base64' content transfer encoding

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen updated CAMEL-21505:

Fix Version/s: 4.8.4
   (was: 4.8.3)

> camel-as2: Binary files get corrupt when using 'base64' content transfer 
> encoding
> -
>
> Key: CAMEL-21505
> URL: https://issues.apache.org/jira/browse/CAMEL-21505
> Project: Camel
>  Issue Type: Bug
>  Components: camel-as2
>Affects Versions: 4.8.1
> Environment: Windows and Docker 
> Java 21 Temurin
>Reporter: Meinolf S-D
>Priority: Minor
> Fix For: 4.8.4, 4.10.0
>
> Attachments: image-2024-12-03-12-29-47-487.png
>
>
> Binary files get corrupt when using *base64* content transfer encoding due to 
> String assignment of the decoded byte[]
> This can easily be tested sending a .zip file to Camel AS2 listener.
> After some investigation the issue seems to be in the EntityUtil.decode 
> method.
> As shown in the screenshot the decoded (binary) byte[] is assigned to a new 
> String which result into corrupt date in case of binary content.
> !image-2024-12-03-12-29-47-487.png!
> In addition there are new line characters in the encoded base64 encoded 
> String data object.
> In case of using transfer encoding type *binary* 
> java.nio.charset.MalformedInputException: Input length = 1 it thrown which 
> might be OK.



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


[jira] [Updated] (CAMEL-21596) Camel Qdrant add Vector search

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen updated CAMEL-21596:

Issue Type: Improvement  (was: Bug)

> Camel Qdrant add Vector search
> --
>
> Key: CAMEL-21596
> URL: https://issues.apache.org/jira/browse/CAMEL-21596
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-qdrant
> Environment: Add Vector search for Qdrant component
>Reporter: Zineb Bendhiba
>Assignee: Zineb Bendhiba
>Priority: Major
>




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


[jira] [Resolved] (CAMEL-21595) camel-langchain4j-tools: code may thrown an NPE if no tools are called

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen resolved CAMEL-21595.
-
Resolution: Fixed

> camel-langchain4j-tools: code may thrown an NPE if no tools are called
> --
>
> Key: CAMEL-21595
> URL: https://issues.apache.org/jira/browse/CAMEL-21595
> Project: Camel
>  Issue Type: Bug
>  Components: camel-langchain4j-tools
>Affects Versions: 4.8.2, 4.9.0
>Reporter: Otavio Rodolfo Piske
>Assignee: Otavio Rodolfo Piske
>Priority: Major
> Fix For: 4.8.3, 4.10.0
>
>
> Calls for tools:
>  
> [https://github.com/apache/camel/blob/camel-4.8.2/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsProducer.java#L102]
>  
> Which may return null:
>  
> [https://github.com/apache/camel/blob/camel-4.8.2/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsProducer.java#L151-L154]
>  
> And still be called:
> [https://github.com/apache/camel/blob/camel-4.8.2/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsProducer.java#L105]
>  
> Which leads to dereferecing a null pointer:
>  
> [https://github.com/apache/camel/blob/camel-4.8.2/components/camel-ai/camel-langchain4j-tools/src/main/java/org/apache/camel/component/langchain4j/tools/LangChain4jToolsProducer.java#L110]
>  



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


[jira] [Resolved] (CAMEL-21504) camel-spring-boot - MicrometerTagsAutoConfiguration class puts http method in uri tag

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen resolved CAMEL-21504.
-
Resolution: Fixed

Thanks for reporting

> camel-spring-boot - MicrometerTagsAutoConfiguration class puts http method in 
> uri tag
> -
>
> Key: CAMEL-21504
> URL: https://issues.apache.org/jira/browse/CAMEL-21504
> Project: Camel
>  Issue Type: Bug
>  Components: camel-spring-boot
>Affects Versions: 4.4.4, 4.8.1
>Reporter: Nikola Dangubic
>Assignee: Claus Ibsen
>Priority: Minor
> Fix For: 4.8.3, 4.10.0
>
>
> [MicrometerTagsAutoConfiguration|https://github.com/apache/camel-spring-boot/blob/cf415a2c4dc1e6f7b14412d641e4fefd42786081/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/MicrometerTagsAutoConfiguration.java]
>  probably has copy/paste error where instead of uri it puts http method in 
> map for metrics
> {code:java}
> return KeyValue.of("uri", context.getCarrier().getMethod()); {code}
> and output looks like
> {code:java}
> # TYPE http_server_requests_active_seconds summary
> http_server_requests_active_seconds_count{application="test_metrics",exception="none",method="GET",outcome="SUCCESS",status="200",uri="GET"}
>  0
> http_server_requests_active_seconds_sum{application="test_metrics",exception="none",method="GET",outcome="SUCCESS",status="200",uri="GET"}
>  0.0 {code}
> One would expect uri value for uri tag.



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


[jira] [Updated] (CAMEL-21584) Camel 4.8.x build is failing on CI for camel-kotlin-api module

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen updated CAMEL-21584:

Fix Version/s: 4.8.4
   (was: 4.8.3)

> Camel 4.8.x build is failing on CI for camel-kotlin-api module
> --
>
> Key: CAMEL-21584
> URL: https://issues.apache.org/jira/browse/CAMEL-21584
> Project: Camel
>  Issue Type: Task
>  Components: camel-kotlin
>Reporter: Aurélien Pupier
>Priority: Minor
> Fix For: 4.8.4
>
>
> It is failing at least since the 19th December. The last "successful" 
> (without build error) in the CI history is the 23th September. Last release 
> is the [4.8.2 on 1st 
> December|https://github.com/apache/camel/releases/tag/camel-4.8.2] so I guess 
> it broke between the 1st and 19th December
> {noformat}
> [INFO] --- kotlin:1.9.24:compile (compile) @ camel-kotlin-api ---
> [WARNING] Source root doesn't exist: 
> /home/jenkins/712657a4/workspace/_Core_Build_and_test_camel-4.8.x/dsl/camel-kotlin-api/src/main/java
> [WARNING] Source root doesn't exist: 
> /home/jenkins/712657a4/workspace/_Core_Build_and_test_camel-4.8.x/dsl/camel-kotlin-api/src/generated/java
> [WARNING] Using experimental Kotlin incremental compilation
> script returned exit code 143 {noformat}



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


[jira] [Assigned] (CAMEL-21504) camel-spring-boot - MicrometerTagsAutoConfiguration class puts http method in uri tag

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen reassigned CAMEL-21504:
---

Assignee: Claus Ibsen

> camel-spring-boot - MicrometerTagsAutoConfiguration class puts http method in 
> uri tag
> -
>
> Key: CAMEL-21504
> URL: https://issues.apache.org/jira/browse/CAMEL-21504
> Project: Camel
>  Issue Type: Bug
>  Components: camel-spring-boot
>Affects Versions: 4.4.4, 4.8.1
>Reporter: Nikola Dangubic
>Assignee: Claus Ibsen
>Priority: Minor
> Fix For: 4.8.3, 4.10.0
>
>
> [MicrometerTagsAutoConfiguration|https://github.com/apache/camel-spring-boot/blob/cf415a2c4dc1e6f7b14412d641e4fefd42786081/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/MicrometerTagsAutoConfiguration.java]
>  probably has copy/paste error where instead of uri it puts http method in 
> map for metrics
> {code:java}
> return KeyValue.of("uri", context.getCarrier().getMethod()); {code}
> and output looks like
> {code:java}
> # TYPE http_server_requests_active_seconds summary
> http_server_requests_active_seconds_count{application="test_metrics",exception="none",method="GET",outcome="SUCCESS",status="200",uri="GET"}
>  0
> http_server_requests_active_seconds_sum{application="test_metrics",exception="none",method="GET",outcome="SUCCESS",status="200",uri="GET"}
>  0.0 {code}
> One would expect uri value for uri tag.



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


[jira] [Resolved] (CAMEL-12719) Ability to load an SSLContextParameter with a Keystore containing multiple keys (aliases)

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen resolved CAMEL-12719.
-
Resolution: Cannot Reproduce

> Ability to load an SSLContextParameter with a Keystore containing multiple 
> keys (aliases)
> -
>
> Key: CAMEL-12719
> URL: https://issues.apache.org/jira/browse/CAMEL-12719
> Project: Camel
>  Issue Type: Improvement
>  Components: camel-core
>Affects Versions: 2.22.0
> Environment: Apache Tomcat 7, Camel 2.22.0, java 8, redHat 6.6
> 1 TrustStore.jks (12 certificats CA => 12 alias)
> 1 Keystore.jsk (5 clés => 5 alias => 5 passwords différents)
> > 200 camelRoutes (file, soap, rest) secure, non-secure
>Reporter: Florian B.
>Priority: Major
> Fix For: Future
>
>
> Hello,
> I wish I could initialize a single SSLContextParameters at camel startup 
> containing my truststore.jks (> 1 alias) and my keystore.jks (> 1 alias) in 
> order to call it (refer to) in Routes (FTPs, HTTPs) without have to redefine 
> a new SSLContextParameter for each EndPoint.
> __
>  __
>  _  _resource="${truststore.jks.file.location}" />_
>  __
>  __
>  _  _resource="${keystore.jks.file.location}" />_
>  __
>  __
> When my Keystore contains more than 1 alias, I have the following error when 
> creating the Route at startup : 
> *Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to 
> resolve endpoint: 
> https4://:/?authPassword=RAW(password)&authUsername=login&authenticationPreemptive=true&bridgeEndpoint=true&sslContextParameters=sslContextParameters&throwExceptionOnFailure=true
>  due to: Cannot recover key*
> due to
> *Caused by: java.security.UnrecoverableKeyException: Cannot recover key*
>  
> When my keystore contains only one key, it works very well.
> __
>  __
>  _  _resource="${truststore.jks.file.location}" />_
>  __
>  __
>  _  _resource="${keystore.jks.file.location}" />_
>  __
>  __
>  
> So I would like to be able to call my SSLContextParameter for different 
> EndPoint by specifying (if necessary) the alias of the Keystore needed (by 
> specifying the alias and / or password of the key)
>  
> Objectif in my project :
>  * 1 TrustStore.jks 
>  * 1 Keystore.jsk
>  * 1 unique SSLContextParameter
>  * > 200 camelRoutes FTPs/HTTPs (ssl one way ou two way)
>  
> Thank a lot
>  
>  



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


[jira] [Created] (CAMEL-21600) camel-ognl - Upgrade to 3.4.5

2025-01-07 Thread Claus Ibsen (Jira)
Claus Ibsen created CAMEL-21600:
---

 Summary: camel-ognl - Upgrade to 3.4.5
 Key: CAMEL-21600
 URL: https://issues.apache.org/jira/browse/CAMEL-21600
 Project: Camel
  Issue Type: Dependency upgrade
  Components: camel-ognl
Reporter: Claus Ibsen
 Fix For: 4.x


There is maybe a bug in ognl or something we need to change in camel-ognl

https://github.com/orphan-oss/ognl/issues/350



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


[jira] [Commented] (CAMEL-21600) camel-ognl - Upgrade to 3.4.5

2025-01-07 Thread Claus Ibsen (Jira)


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

Claus Ibsen commented on CAMEL-21600:
-

Workaround

https://github.com/apache/camel/commit/6f7d1686f01c505a96d1a9a479e826245db7cd22

> camel-ognl - Upgrade to 3.4.5
> -
>
> Key: CAMEL-21600
> URL: https://issues.apache.org/jira/browse/CAMEL-21600
> Project: Camel
>  Issue Type: Dependency upgrade
>  Components: camel-ognl
>Reporter: Claus Ibsen
>Priority: Minor
> Fix For: 4.x
>
>
> There is maybe a bug in ognl or something we need to change in camel-ognl
> https://github.com/orphan-oss/ognl/issues/350



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