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 2012/04/27 08:59:56 UTC

[jira] [Issue Comment Edited] (CAMEL-5225) camel-netty can't distinguish between Sharable and Unsharable codecs

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

Claus Ibsen edited comment on CAMEL-5225 at 4/27/12 6:58 AM:
-------------------------------------------------------------

camel-netty have been improved for Camel 2.10.

And if you use decoders/encoders that cannot be shared with multiple consumers, then you need to enlist 2 in the registry etc.
This is *not* a bug, but how its designed. You as the end user must configure the endpoints/components correctly.

I have added your test to the source and it passes on trunk.
                
      was (Author: davsclaus):
    camel-netty have been improved for Camel 2.10.

And if you use decoders/encoders that cannot be shared with multiple consumers, then you need to enlist 2 in the registry etc.

I have added your test to the source and it passes on trunk.
                  
> camel-netty can't distinguish between Sharable and Unsharable codecs
> --------------------------------------------------------------------
>
>                 Key: CAMEL-5225
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5225
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-netty
>    Affects Versions: 2.9.2
>         Environment: ALL
>            Reporter: edge wang
>            Assignee: Claus Ibsen
>              Labels: netty
>             Fix For: 2.10.0
>
>         Attachments: UnsharableCodecsConflictsTest.java
>
>
> Camel-netty uses general configuration model for referenced encoders/decoders for channel pipelines, see DefaultServerPipelineFactory. That is, create encoder/decoder objects at configuration parsing time and store them in a list, then use them when a pipeline is established. However, this will make encoder/decoder objects shared among different pipelines, that may cause data conflicts, when the encoder/decoder is not Sharable(has object status/not annotated as @Sharable), e.g. a LengthFieldBasedFrameDecoder.
> Although we can avoid the problem by totally writing a new serverpipelinefactory for our apps, several problem still remains, please see detailed description and testcase for this bug at:
> http://camel.465427.n5.nabble.com/camel-netty-bug-and-the-need-of-best-practice-for-creating-referenced-parameter-object-on-looking-up-td5627926.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira