Announcement Announcement Module
Collapse
No announcement yet.
Advice on SI usage? Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Advice on SI usage?

    I just added Spring Integration to an open source web conferencing project (bigbluebutton.org). What I need to accomplish seems very simple, yet my configuration is very verbose. I think that there is probably a much easier (less verbose) way of accomplishing what I need, and I was hoping that an expert here could offer a suggestion or two.

    Here's what needs to happen:

    1 - gateway method is called, which puts message in channel
    2 - message needs to be transformed to string message
    3 - message needs to be sent to JMS

    Eventually, step number 2 will go away as we'll start actually sending the serialized object over the wire. But for now, we simplify it to a string.

    Here are some links to view the code in Fisheye:

    Spring Config:
    http://fisheye2.atlassian.com/browse...l?r=trunk#l157

    Gateway:
    http://fisheye2.atlassian.com/browse...groovy?r=trunk

    Transformer:
    http://fisheye2.atlassian.com/browse...groovy?r=trunk

    Code that calls the Gateway:
    http://fisheye2.atlassian.com/browse...vy?r=trunk#l44

    Any suggestions?

    Thanks!
    Jeremy Thomerson

  • #2
    My first question after a very quick skim of the config is whether you really need so many queue-based channels. Usually, unless the Messages need to be buffered for some reason (e.g. difference in timing/distribution of load between producer and consumer), the simpler <channel/> element with no sub-elements is a better choice. For one thing, it maintains a transactional boundary spanning from sender to receiver, and it precludes the need for all of the poller configuration as well.

    Comment


    • #3
      Mark,
      Thanks for such a quick reply!

      I started out without them, but encountered issues with it blocking when calling the gateway method. I think that was actually a different issue, so I just switched them back to non-queued channels, and it worked this time. That also eliminated the pollers, and made it an altogether better solution!

      I guess the only other question then would be if I could eliminate having so many different channel names? I tried using a chain that listened on conferenceStarted and did the tranform, then sent via JMS, but it seems like the outbound-channel-adapter won't work in a chain. Perhaps there's an equivalent type that can send JMS messages but will work in a chain?

      Here's a link to the updated config:

      http://fisheye2.atlassian.com/browse...l?r=trunk#l157

      Or, if you don't see the change on Fisheye:

      http://code.google.com/p/bigbluebutt...660&r=2660#157

      Thanks again!
      Jeremy Thomerson

      Comment

      Working...
      X