Hi folk!

We have a need to connect multiple iterations of a component to the same JID.  
It's expected that this external component is aware that a simple XMPP 
conversation held with it's JID can/will dance between the external component's 
nodes.  At first we considered having the server configured to say "XXX jid is 
allowed to have multiple connections".  However, this took away control from 
the component and we decided it might be nicer if the component could say "Hey, 
I'm comfortable with multiple connections to this JID, I know how to deal with 
it, I'm a big boy with a big boy lollipop" ... hrm, got a little carried away 
there.  ;)  We have a way to handle this functionality, but I believe it 
violates some rules, so I'd like to not even mention it and perhaps encourage 
"what is the right way to do this".

So there's always the possibility of components having resources, but that 
could get real complex real quick... or could it?  I haven't thought that 
through much.

Our solution involves simply round robin rotating over all of the nodes that 
connected to the same JID.  There's no way anything could route to a specific 
instance of the component if it needed to.  In our case we have no reason to 
need this, but I could potentially see how it could become useful.

In concept, this isn't all that different from client sessions connecting 
multiple times via multiple resources, but I think it might get a little 
complex in that, all this time, we were going about things knowing that there 
couldn't be a conflict.

Thoughts?

Daniel

Reply via email to