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

Claus Ibsen commented on CAMEL-24103:
-------------------------------------

Fixed via https://github.com/apache/camel/pull/24765

> camel-bean: bean method returning null CompletionStage causes opaque 
> NullPointerException
> -----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24103
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24103
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-bean
>    Affects Versions: 4.21.0
>            Reporter: Federico Mariani
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 4.22.0
>
>         Attachments: BeanNullCompletionStageTest.java
>
>
> If a bean method is declared to return {{CompletionStage}} / 
> {{CompletableFuture}} but returns {{null}}, {{MethodInfo}} fails with an 
> opaque NPE:
> {code:java}
> if (CompletionStage.class.isAssignableFrom(method.getReturnType())) {
>     CompletionStage<?> completionStage = (CompletionStage<?>) result;   // 
> result may be null
>     completionStage.whenComplete(...)                                   // 
> NPE here
> {code}
> The exchange ends up with {{java.lang.NullPointerException: Cannot invoke 
> "java.util.concurrent.CompletionStage.whenComplete(java.util.function.BiConsumer)"
>  because "completionStage" is null}} — no hint about which bean/method caused 
> it.
> Returning a null future is bad practice, but the error should identify the 
> bean method (e.g. a {{RuntimeCamelException}} naming the method), consistent 
> with how other invalid results are reported.
> *Reproducer*
> Attached test {{BeanNullCompletionStageTest}} fails on main (4.22.0-SNAPSHOT) 
> demonstrating the raw NPE as the exchange exception.
> _This issue was found by an AI-assisted code review. Reported by Claude Code 
> on behalf of [~fmariani] (GitHub: Croway)._



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

Reply via email to