Results 1 to 3 of 3

Thread: How do I create the Custom channels from the GA version

  1. #1
    Join Date
    Jun 2008
    Location
    Bangalore
    Posts
    18

    Default How do I create the Custom channels from the GA version

    Hi

    When I was using M5 version of SI I could create Custom Channels.
    This was through extending the AbstractMessageChannel and AbstractChannelFactory.
    Code:
    <message-bus  channel-factory="channelfactory"/>
            <beans:bean id="channelfactory" class="nssi.NSChannelFactory" />
            <channel id="receive" />
    How do I do it with the SI GA release 1.0.1 ?

    Or is it not possible ?

    Should I use Channel Adapters (Source Adapters)
    Can this feature be brought in again if not possible in the current release (probably in the next version) ?

    Kindly reply.

    Regards
    Bharath

  2. #2
    Join Date
    Oct 2005
    Location
    Boston, MA
    Posts
    2,840

    Default

    In the lead up to the final release, we decided that the channels themselves are essentially core infrastructure and extending those should not be necessary. The available extension points should be flexible enough to accommodate any extensions: ChannelInterceptor and ChannelAdapter.

    Can you describe what you plan to do with a custom channel? Hopefully, what you are trying to do may be achievable with Channel Adapters, but if there is no way to accommodate the requirement, then we need to consider the particular use-case.

  3. #3
    Join Date
    Jun 2008
    Location
    Bangalore
    Posts
    18

    Default

    Hi Mark,

    Thanks for your reply.

    I work on a platform which provides IPC (like any other).
    The model is very much similar to Request and Reply channel. However there the Request and Reply Channels are the same. The process is blocked until something is put in the request queue. And then there is a processing and reply put in the reply queue and again it waits. (Nothing special so far).

    I had modeled the above system in pre Release SI, making the Request and Reply Channels as one and abstracting the Business Logic or Endpoint so that
    writing IPC programs are easy on that platform. My previous program worked well.
    With the previous model, My Channel implementation would be started and be blocked till there was a request in the queue. And I could reply to the same queue.


    However the SI-API changed. As you said and I had thought, now with this release I have to use Adapters.
    However there is one thing which I find it difficult to understand, since I am not conversant with Spring Task Scheduler.
    I went through the documentation and found some cursory information in the Appendix of using a taskScheduler to control Pollers.

    Is the following possible ?

    1.) I dont want to poll for an input.
    2.) What happens if multiple threads get queued up due to polling ?
    3.) Can a poller be made to wait to get a re-start kind of signal ? Or can it be controlled ? Like the following
    Thread 1 ---> starts up ----> Starts the poller (Single Threaded) ---> gets the data from input channel adapter ---> activates the service-activator--->calls the output channel adapter ---> waits for the input again!

    I am using ChannelInterceptors since the IPC doesnt understand anything apart from bytes! But I dont know how this helps in my above scenario.

    An example of using a Randezvous Channel (Clubbing with a taskScheduler to control poller) will be helpful. If not an outline too would be very helpful.
    I am using XML model to not get attached to SI-API for processing/business logic.

    Regards
    Bharath

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •