Instant message output - does not automatically reconnect to xmpp

2719
2
01-17-2014 08:13 AM
MarkCollins
Occasional Contributor
If I restart my xmpp server the instant message outputs do not work again until I restart the output.  Is the instant messaging output supposed to automatically reconnect to the xmpp server?

Is there any way to tell them to try to automatically reconnect or some other way to deal with this? Is there any way to tell if an IM output is not connected? Its not ideal to have to manually restart the IM output every time the connection to the xmpp goes down and then comes back up. Is there a graceful way to deal with this so the connection is more reliable?

Thanks,
Mark
0 Kudos
2 Replies
MarkCollins
Occasional Contributor
Also another question I have about the IM output is if there is any way to have it configure the room it joins? I am using openfire XMPP server and it requires the chat room to be configured before anyone else can join. Configuring a chat room appears to be something that is defined/required by the XMPP RFC/spec. Is there anyway to handle chat room configuration with the IM output?

Thanks,
Mark
0 Kudos
RJSunderman
Esri Regular Contributor
Hey Mark -

Sorry for the delay in getting back with you on this.

If I restart my xmpp server the instant message outputs do not work again until I restart the output. Is the instant messaging output supposed to automatically reconnect to the xmpp server?
Looking at the implementation, no, the Output is not going to automatically attempt to reconnect to the XMPP server if the server is taken off-line and later comes back on-line. This is probably a functional gap that we should address, since the Output remains in the 'Started' state and there is no indication to the user that the Output needs to be stopped/restarted.

Is there any way to tell them to try to automatically reconnect or some other way to deal with this? Is there any way to tell if an IM output is not connected?
No, there is no indication through GeoEvent Processor Manger that the Output needs to be cycled or that it is not connected to the XMPP server. As part of the enhancements for the 10.3 / 11 product release we can look into having the Output determine its server connection status when a GeoEvent is received, attempt to reconnect if not connected, and log an error if a connection to the server cannot be realized. This would improve reliability. The only work around currently available to you would be to develop some sort of "status monitor" as a JavaScript which would begin polling the server to see if it was available (after detecting that it had been shut down) and then command the GeoEvent Processor Output to restart through the component's administrative REST endpoint.

I am using openfire XMPP server and it requires the chat room to be configured before anyone else can join. Configuring a chat room appears to be something that is defined/required by the XMPP RFC/spec. Is there anyway to handle chat room configuration with the IM output?
No, implementing the Output to handle chat room creation and configuration is not supported. We had initially considered this, but had to limit the scope of the development. The XMPP connector was intended to highlight the potential for event notification via Instant Messaging. We decided to leave creation and configuration of chat rooms to the XMPP server administrator. We identified quite a few potential configurations with regard to chat rooms using different varieties of XMPP servers and couldn't commit to support this with the initial product release.

If you would, please visit the ArcGIS" rel="nofollow" target="_blank">http://ideas.esri.com]ArcGIS Ideas portal and post ideas for product enhancements. The forums are one way of getting ideas to the development team, but the Ideas portal allows users to vote for ideas that support their use of the product. Popular requests have a better chance of making in into our backlog for development during a future release. If you do post the idea, please enter GeoEvent Processor into the TAGS and check ArcGIS Server beneath CATEGORIES to help us track the submission.

Thanks -
RJ
0 Kudos