You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2008/10/07 09:04:53 UTC

[jira] Updated: (SM-1134) Sending an exchange in a thread created by the bean result in a NullpointerException on DeliveryChannel.send()

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

Guillaume Nodet updated SM-1134:
--------------------------------

    Affects Version/s: servicemix-bean-2008.01
                           (was: 3.2)

> Sending an exchange in a thread created by the bean result in a NullpointerException on DeliveryChannel.send()
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: SM-1134
>                 URL: https://issues.apache.org/activemq/browse/SM-1134
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-bean
>         Environment: Mac OSX Tiger
>            Reporter: Ryan Bohn
>            Assignee: Guillaume Nodet
>            Priority: Blocker
>             Fix For: servicemix-bean-2008.01
>
>         Attachments: BeanEndpoint_sm1134.patch, servicemix-bean-example.zip
>
>
> I'm trying to send a message asynchronously from a sender to a receiver using an InOnly exchange.  When I call DeliveryChannel.send(), I get the following NullPointerException:
> Sending message: Hello?
> java.lang.NullPointerException
>         at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:846)
>         at org.apache.servicemix.bean.BeanEndpoint$PojoChannel.send(BeanEndpoint.java:566)
>         at example.Sender$1.run(Sender.java:40)
>         at java.lang.Thread.run(Thread.java:613)
> When I go to the line of code in the BeanEndpoint, I see the following:
> requests.put(messageExchange.getExchangeId(), currentRequest.get());
> Using my debugger, I noticed the value of currentRequest.get() returns null, which is not allowed in a ConcurrentHashMap (neither null keys nor null values are allowed).  the message exchange id is non-null.
> I also noticed that currentRequest is only set when the component receives an exchange, which is not the case here.
> Both the sender and receiver are using bean endpoints.  I have attached the project to this ticket.  You can deploy the project using maven, with the following command:
> mvn install jbi:projectDeploy

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.