You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Ashwin Karpe (JIRA)" <ji...@apache.org> on 2010/08/18 22:00:48 UTC

[jira] Resolved: (CAMEL-2713) camel-netty: Add a registry based option for a custom ChannelPipelineFactory

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

Ashwin Karpe resolved CAMEL-2713.
---------------------------------

    Resolution: Fixed

> camel-netty: Add a registry based option for a custom ChannelPipelineFactory
> ----------------------------------------------------------------------------
>
>                 Key: CAMEL-2713
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2713
>             Project: Apache Camel
>          Issue Type: Improvement
>    Affects Versions: 2.3.0
>         Environment: All
>            Reporter: Christian Mueller
>            Assignee: Ashwin Karpe
>             Fix For: 2.5.0
>
>         Attachments: camel-2713-fix.diff, camel-2713-netty.zip
>
>
> We will build an ims-component to communicate with our [IMS|http://en.wikipedia.org/wiki/Information_Management_System] system.
> As described in the Netty documentation in chapter [1.7.2.  The First Solution|http://docs.jboss.org/netty/3.1/guide/html_single/index.html#d0e865], I assume that we need a state full SimpleChannelHandler (class annotated with @ChannelPipelineCoverage("one")). The proposed solution is to use a ChannelPipelineFactory which creates a new ChannelPipeline and a new SimpleChannelHandler for each Channel.
> {code}
> public class TimeClientPipelineFactory implements ChannelPipelineFactory {
>     public ChannelPipeline getPipeline() {
>         ChannelPipeline pipeline = Channels.pipeline();
>         pipeline.addLast("handler", new TimeClientHandler());
>         return pipeline;
>     }
> }
> {code}
> In the current implementation, this is not possible IMO. The custom handler, which is looked up from the registry, is shared between all channels:
> {code}
>     channelPipeline.addLast("handler", consumer.getConfiguration().getHandler());
> {code}
> If I'm right, I would like to provide the patch (but unfortunately not in the next two weeks).
> Thanks,
> Christian
> P.S: Very nice/clean code inside this component... :-)

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