Search in sources :

Example 16 with ConnectionInfo

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;
}
Also used : ConnectionManager(com.sun.messaging.jmq.jmsserver.service.ConnectionManager) IMQConnection(com.sun.messaging.jmq.jmsserver.service.imq.IMQConnection) Iterator(java.util.Iterator) Service(com.sun.messaging.jmq.jmsserver.service.Service) ConnectionUID(com.sun.messaging.jmq.jmsserver.service.ConnectionUID) List(java.util.List) ConnectionInfo(com.sun.messaging.jmq.util.admin.ConnectionInfo) Vector(java.util.Vector)

Example 17 with ConnectionInfo

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);
}
Also used : Iterator(java.util.Iterator) List(java.util.List) ConnectionInfo(com.sun.messaging.jmq.util.admin.ConnectionInfo) MBeanException(javax.management.MBeanException) ObjectName(javax.management.ObjectName)

Example 18 with ConnectionInfo

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);
}
Also used : ConnectionInfo(com.sun.messaging.jmq.util.admin.ConnectionInfo)

Example 19 with ConnectionInfo

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);
}
Also used : Producer(com.sun.messaging.jmq.jmsserver.core.Producer) ConnectionUID(com.sun.messaging.jmq.jmsserver.service.ConnectionUID) ConnectionInfo(com.sun.messaging.jmq.util.admin.ConnectionInfo)

Example 20 with ConnectionInfo

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);
}
Also used : ArrayList(java.util.ArrayList) Iterator(java.util.Iterator) List(java.util.List) ArrayList(java.util.ArrayList) ConnectionInfo(com.sun.messaging.jmq.util.admin.ConnectionInfo)

Aggregations

ConnectionInfo (com.sun.messaging.jmq.util.admin.ConnectionInfo)20 Iterator (java.util.Iterator)10 List (java.util.List)10 ConnectionUID (com.sun.messaging.jmq.jmsserver.service.ConnectionUID)9 ConnectionManager (com.sun.messaging.jmq.jmsserver.service.ConnectionManager)4 IMQConnection (com.sun.messaging.jmq.jmsserver.service.imq.IMQConnection)4 ArrayList (java.util.ArrayList)3 MBeanException (javax.management.MBeanException)3 ObjectName (javax.management.ObjectName)3 Producer (com.sun.messaging.jmq.jmsserver.core.Producer)2 Service (com.sun.messaging.jmq.jmsserver.service.Service)2 BrokerException (com.sun.messaging.jmq.jmsserver.util.BrokerException)2 Vector (java.util.Vector)2 BrokerAddress (com.sun.messaging.jmq.jmsserver.core.BrokerAddress)1 Consumer (com.sun.messaging.jmq.jmsserver.core.Consumer)1 ConsumerUID (com.sun.messaging.jmq.jmsserver.core.ConsumerUID)1 DestinationUID (com.sun.messaging.jmq.jmsserver.core.DestinationUID)1 Subscription (com.sun.messaging.jmq.jmsserver.core.Subscription)1 BrokerResources (com.sun.messaging.jmq.jmsserver.resources.BrokerResources)1 ConsumerInfo (com.sun.messaging.jmq.util.admin.ConsumerInfo)1