Announcement Announcement Module
No announcement yet.
supporting multiple inbound types Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • supporting multiple inbound types

    Currently I have a spring integration implementation with some pretty complex stuff going on but I only support incoming messages via JMS. My implementation is a stand alone java app. The nice thing about this is that I can start up N number of stand alone apps to scale to meet the demand of the incoming messages being published to a JMS queue. Now that all of this is working I need to add support to handle incoming data via the file system and web services. Assuming that I have a common file system I should be able to use the same approach as far as adding new instances to scale.

    So my question is, how do I support web services?

    In general how do you support web services in Spring Integration. I read the reference documentation but I'm still a little confused. I don't know Spring WS so I need to do a lot more reading there.

    Does Spring WS get built as a war and deployed to Tomcat or some other web service container or is Spring Integration a web services container itself.

    Assuming that Spring WS get deployed in Tomcat, then I guess my decision is, do I deploy all my current Spring Integration implementation in that war file or do I simply have the Spring WS based web services that I write publish to the incoming JMS queue and keep everything else the same?

    So to recap I guess the main question is, Whats the best practice for "deploying" a Spring Integration based solution that can handle incoming data via JMS, the file system and secure web services?

    Any thoughts would be appreciated?

  • #2
    WS by definition have to run in some type of web container so your assumptions are correct with regards to Spring WS; It is a WAR file.
    You obviously have to read up on Spring WS, but in the nutshell all you need is to configure WS Inbound Gateway which is the implementation of SpringWS MessageEndpoint to receive WS call.
    Yes you would have to deploy all your SI artifacts with the WAR, since that environment is going to be the JVM instance where WS Inbound Gateway is deployed, however if you introduce some type of remoting infrastructure to your environment (e.g., RMI) for inter-JVM communication, then you can start developing WS, File system and other Inbound entry points and forward messages to the actual SI deployment via such remoting infrastructure.
    In fact such infrastructure could be messaging that you already have. This way your WS WAR would be very light: Receive WS request and put it on the message queue. . .