If your component is a standard jbi component that accept deployments, i think it would be easier. This component could register a mbean with the needed operation to create / duplicate and destroy an endpoint. In all cases, this can not be done by the container, because each component have different parameters and different ways of handling things.
If you have a lightweight component, then you could just add in the servicemix.xml an mbean using spring which will expose the needed operations and activate lightweight components on the fly using JBIContainer.activateComponent. Cheers, Guillaume Nodet On 5/24/06, Doug Fischer <[EMAIL PROTECTED]> wrote:
Guillaume, Thank you for your response. What I need to do is allow a user, through JMX, to create binding components on the fly. I have been working on this Socket (Mina) component because I have about, right now anyway, about 10 different sensors that I need to communicate with. One of these sensors is a GPS unit so when I connect to it through the BC it just starts posting data to the bus. It is possible that I could need to connect to a number of different GPS units, all with different ip addresses, ports, and a unique identifier, but they are all processes the same way. What I would like to be able to do is something like duplicate, or install another BC with different parameters, through JMX. I know I can just deploy another SA with different parameters but the requirement is to allow the users to do this through a JMX console. This is the reason that I asked the initial questions. Thank you again, Doug On 5/24/06 3:13 AM, "Guillaume Nodet" <[EMAIL PROTECTED]> wrote: > Hi Doug, > > On 5/23/06, Doug Fischer <[EMAIL PROTECTED]> wrote: >> >> >> Question 1: >> >> Would it be possible to to dynamically configure things like the >> locationURI, service, endpoint, targetService, targetEndpoint, etc... >> Through JMX on an HTTP endpoint? (I don¹t think this can be done right >> now, >> I am just wondering if this is something that could potentially be >> done) I >> guess this data would then need to be persisted somewhere so that if the >> system is restarted, the same values are still set. > > > For provider endpoints, you can already create endpoints on the fly (short > lived) using > EPR resolution and URI. See http://servicemix.goopen.org/site/uris.html > > For binding components, I was thinking about creating a management JBI > endpoint > which would process requests on proxy endpoints (mainly consumers). This > would > enable SEs to ask for proxy endpoint creation when a SU is deployed. > For example you would be able to specify when deploying a POJO on > servicemix-jsr181, > or a BPEL process, to ask bindings components to create proxy endpoints for > these. > This could also work for provider endpoints. > > We could also implement a JMX mbean on top of this jbi management endpoint, > but I would > rather have a method that receive all the parameters needed to create the > endpoint, instead of > having to modify the endpoint after it has been created (which is more > complex to handle). > Would that suit your needs ? > > > Question 2: >> >> Would it be possible to create JMX operation that would deploy a duplicate >> component, with a temporary service name to avoid collisions. (This is of >> course, if the answer to question 1 was yes since the component would then >> need to be configured). > > > What is the purpose ? to ease the creation of the endpoints without having > to retype all the parameters ? > > I'm still not sure about all this stuff. I'm nearly thinking that we would > not need all that if we have a good > design tool, where you could see all endpoints, create new service units > easily, wire them, etc... > > Cheers, > Guillaume Nodet > > Thank you, >> Doug >> >> >
-- Cheers, Guillaume Nodet
