2 Replies Latest reply on Sep 25, 2009 3:18 PM by Tim Gates

    Deploying multiple instances of a service assembly

    Tim Gates Newbie

      We have a use case where we would like to be able to develop a service assembly that serves as a connection to one of our external applications.  We would like to be able to deploy another ?copy? of the service assembly when we deploy another instance of the external application.  We are trying to figure out a good way to get around the fact that you can't have the same BC deployed in ServiceMix twice because of the naming.


      Is there a recommended way to do this?


      The approaches we?ve considered are:

      1)     Somehow dynamically set the namespaces inside the service units, BCs, etc. in the new ?copy? of the service assembly.

      2)     Programmatically create the components.


      Am I missing any other options?


      As background we are using SMX 3.4.




        • 1. Re: Deploying multiple instances of a service assembly
          Hadrian Zbarcea Newbie



          I don't know how you are planning to use your proxies in fuse esb (they look like proxies to me), and we would appreciate more details about how you intend to use them and why you need one deployed for each external application deployment you have.


          That said, I would not recommend your 2nd option (Programmatically create the components) and I would suggest taking a look at the camel component.


          I hope this helps

          • 2. Re: Deploying multiple instances of a service assembly
            Tim Gates Newbie

            Thanks for your response.


            Yes, you could describe our connectors as proxies to instances of an external application.  The connecter would be a set of service units including a CXF binding component.  Each connector would be configured for a specific instance of the external application.  (i.e. it would be configured communicate at specific URL, using a specific message version, with different security credentials, etc).


            We do not want to do this programmatically either.  We?ve also tested using a couple different types of content based routing of messages (including inside of Camel) which works, but seems to complicate our logic and configuration to some extent.  (We have to have a lookup mechanism to determine configuration information based on content routing,  administration is complicated as it?s harder to bring one instance down without it effecting the other instances, etc.)

            Having said that we are by no means discounting content based routing as a solution.  We are looking to see if there are other alternatives.  The only one we could envision is allowing multiple ?copies? of the SUs by  somehow configuring the their namespaces either through configuration files or at deployment.


            Any thoughts are appreciated.