You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2013/01/21 13:22:12 UTC

[jira] [Commented] (CAMEL-5748) Classloader mixup in Direct VM component

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

Claus Ibsen commented on CAMEL-5748:
------------------------------------

I think this makes sense to implement in direct-vm as its intended for cross application in same JVM. So the direct VM consumer code should have logic to set/revert the TCCL.

                
> Classloader mixup in Direct VM component
> ----------------------------------------
>
>                 Key: CAMEL-5748
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5748
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core, osgi
>    Affects Versions: 2.10.2
>            Reporter: Raul Kripalani
>            Assignee: Raul Kripalani
>             Fix For: 2.10.4, 2.11.0
>
>
> The Direct VM component allows routes in different Camel Contexts to communicate with each other with all the benefits of the Direct endpoint (namely thread-sharing, thus enabling transaction to propagate across Camel Contexts).
> However, the TCCL of the consumer route still remains the TCCL of the producer route. See CAMEL-5722 for a similar case.
> I suggest fixing this by introducing a proxy processor at the consumer that sets the appropriate classloader, and sets it back when done. Note: remember to take into account exception scenarios, i.e. we should catch exceptions from the forward call to .process(), reset the classloader and rethrow the exception.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira