Hi,
Some background:
In our setup we are running a continous integration server (jenkins). On the same server openfire is running. On jenkins we are running some specific automation processes for which we want to use jabber to send out notfications (e.g. process started, stopped, failed, or task failed, task taking too long etc.). So each jenkins job is running a process consisting of multiple tasks. Each process is publishing events (messages) in a specific jabber chat room. The advantage of this anyone who is interested in seeing the progress can simply join the conference room (typically one person is reponsibile for monitoring at any point in time). Also, a mobile client can be used to moniitor the room and give notifications. So, this is much more convenient than a mail based solution.
The problem:
The jenkins jobs (processes) are running on the same server as openfire. Initially I got th error message: "couldn't set up local socks5 proxy on port 7777". But I haven't been able to reproduce this locally. I have been able to reproduce other errors locally and I am now able to run multiple smack clients on a laptop (also with an openfire server running). However, I am unable to reproduce the problem with the Socks5Proxy. The only message I can reproduce while starting up multiple clients is a NotConnectedException
I am now setting up the multi-user chat as follows:
// 1. statement below added to disable the sock5 proxy
Socks5Proxy.setLocalSocks5ProxyEnabled(false);
XMPPConnection conn = new XMPPTCPConnection(aHost);
conn.connect();
// 2. added a unique resource name to allow multiple connections
conn.login(aUsername, aPassword, UUID.randomUUID().toString());
roomName = aRoom;
room = new MultiUserChat(conn, aRoom);
room.join("Release Automation");
Now it appears to be working (at least locally).
My question is now what the correct way is to run multiple smack clients on a server colocated with an openfire server. Is it required to disable the socks5proxy? Also, when is the proxy going to be used? Is it setup directly when starting or only later when a message is received. Also, do I need to do more than pass a unique resource name to the login() method?
Cheers
Erik