use of com.sun.messaging.jmq.util.admin.ConnectionInfo in project openmq by eclipse-ee4j.
the class GetConnectionsHandler method handle.
/**
* Handle the incomming administration message.
*
* @param con The Connection the message came in on.
* @param cmd_msg The administration message
* @param cmd_props The properties from the administration message
*/
@Override
public boolean handle(IMQConnection con, Packet cmd_msg, Hashtable cmd_props) {
if (DEBUG) {
logger.log(Logger.DEBUG, this.getClass().getName() + ": " + "GetConnections: " + cmd_props);
}
ConnectionManager cm = Globals.getConnectionManager();
String serviceName = (String) cmd_props.get(MessageType.JMQ_SERVICE_NAME);
Long cxnId = (Long) cmd_props.get(MessageType.JMQ_CONNECTION_ID);
int status = Status.OK;
String errMsg = null;
Vector v = new Vector();
Service s = null;
if (serviceName != null) {
s = Globals.getServiceManager().getService(serviceName);
if (s == null) {
status = Status.NOT_FOUND;
errMsg = rb.getString(rb.X_NO_SUCH_SERVICE, serviceName);
}
}
if (status == Status.OK) {
ConnectionInfo cxnInfo = null;
IMQConnection cxn = null;
if (cxnId != null) {
// Get info for one connection
cxn = (IMQConnection) cm.getConnection(new ConnectionUID(cxnId.longValue()));
if (cxn != null) {
if (DEBUG) {
cxn.dump();
}
cxnInfo = cxn.getConnectionInfo();
v.add(getConnectionInfoHashtable(cxnInfo));
} else {
status = Status.NOT_FOUND;
errMsg = rb.getString(rb.E_NO_SUCH_CONNECTION, String.valueOf(cxnId.longValue()));
}
} else {
// Get info for all connections on a service
List connections = cm.getConnectionList(s);
Iterator itr = connections.iterator();
while (itr.hasNext()) {
cxn = (IMQConnection) itr.next();
cxnInfo = cxn.getConnectionInfo();
v.add(getConnectionInfoHashtable(cxnInfo));
}
}
}
// Send reply
Packet reply = new Packet(con.useDirectBuffers());
reply.setPacketType(PacketType.OBJECT_MESSAGE);
setProperties(reply, MessageType.GET_CONNECTIONS_REPLY, status, errMsg);
setBodyObject(reply, v);
parent.sendReply(con, cmd_msg, reply);
return true;
}
use of com.sun.messaging.jmq.util.admin.ConnectionInfo in project openmq by eclipse-ee4j.
the class ServiceMonitor method getConnections.
public ObjectName[] getConnections() throws MBeanException {
List connections = ConnectionUtil.getConnectionInfoList(service);
if (connections.size() == 0) {
return (null);
}
ObjectName[] oNames = new ObjectName[connections.size()];
Iterator itr = connections.iterator();
int i = 0;
while (itr.hasNext()) {
ConnectionInfo cxnInfo = (ConnectionInfo) itr.next();
try {
ObjectName o = MQObjectName.createConnectionMonitor(Long.toString(cxnInfo.uuid));
oNames[i++] = o;
} catch (Exception e) {
handleOperationException(ServiceOperations.GET_CONNECTIONS, e);
}
}
return (oNames);
}
use of com.sun.messaging.jmq.util.admin.ConnectionInfo in project openmq by eclipse-ee4j.
the class ConnectionMonitor method getHost.
public String getHost() {
ConnectionInfo cxnInfo = ConnectionUtil.getConnectionInfo(id);
String host = null;
if (cxnInfo.remoteIP != null) {
host = String.valueOf(IPAddress.rawIPToString(cxnInfo.remoteIP, true, true));
}
return (host);
}
use of com.sun.messaging.jmq.util.admin.ConnectionInfo in project openmq by eclipse-ee4j.
the class ProducerUtil method getHost.
public static String getHost(ProducerUID pid) {
Producer p = (Producer) Producer.getProducer(pid);
ConnectionUID cxnId = null;
if (p == null) {
return (null);
}
cxnId = p.getConnectionUID();
if (cxnId == null) {
return (null);
}
ConnectionInfo cxnInfo = ConnectionUtil.getConnectionInfo(cxnId.longValue());
if (cxnInfo == null) {
return (null);
}
String host = null;
if (cxnInfo.remoteIP != null) {
host = String.valueOf(IPAddress.rawIPToString(cxnInfo.remoteIP, true, true));
}
return (host);
}
use of com.sun.messaging.jmq.util.admin.ConnectionInfo in project openmq by eclipse-ee4j.
the class ServiceUtil method getProducerIDs.
public static List getProducerIDs(String service) {
List producerIDs = new ArrayList(), connections = ConnectionUtil.getConnectionInfoList(service);
if ((connections == null) || (connections.size() == 0)) {
return (producerIDs);
}
Iterator itr = connections.iterator();
while (itr.hasNext()) {
ConnectionInfo cxnInfo = (ConnectionInfo) itr.next();
long cxnID = cxnInfo.uuid;
List oneCxnProducerIDs = ConnectionUtil.getProducerIDs(cxnID);
producerIDs.addAll(oneCxnProducerIDs);
}
return (producerIDs);
}
Aggregations