Search in sources :

Example 6 with ServiceManager

use of com.sun.messaging.jmq.jmsserver.service.ServiceManager in project openmq by eclipse-ee4j.

the class GetServicesHandler method getServiceInfo.

public static ServiceInfo getServiceInfo(String name) {
    ServiceManager sm = Globals.getServiceManager();
    ConnectionManager cm = Globals.getConnectionManager();
    MetricManager mm = Globals.getMetricManager();
    /*
         * XXX REVISIT dipol 10/17/00 we should probably put this logic into the ServiceManager so knowledge of property names
         * is encapsulated there.
         */
    String proto = props.getProperty(SERVICE_PREFIX + name + ".protocoltype");
    // Fill in admin service info object
    ServiceInfo si = new com.sun.messaging.jmq.util.admin.ServiceInfo();
    si.name = name;
    si.protocol = proto;
    // strange kludge here ...
    // if protocol is tcp or tls, it defaults to 0
    int default_value = -1;
    if (si.protocol != null) {
        if (si.protocol.equals("tcp") || si.protocol.equals("tls")) {
            default_value = 0;
        }
    }
    si.port = props.getIntProperty(SERVICE_PREFIX + name + "." + proto + ".port", default_value);
    if (si.port == 0) {
        si.dynamicPort = true;
    } else {
        si.dynamicPort = false;
    }
    si.minThreads = props.getIntProperty(SERVICE_PREFIX + name + ".min_threads");
    si.maxThreads = props.getIntProperty(SERVICE_PREFIX + name + ".max_threads");
    si.type = sm.getServiceType(name);
    Service service = sm.getService(name);
    if (service != null) {
        si.nConnections = cm.getNumConnections(service);
        si.state = service.getState();
        if (service instanceof IMQService) {
            IMQService ss = (IMQService) service;
            si.currentThreads = ss.getActiveThreadpool();
            si.minThreads = ss.getMinThreadpool();
            si.maxThreads = ss.getMaxThreadpool();
            // port number that is acutally being used
            if (si.port == 0 && ss.getProtocol() != null) {
                si.port = ss.getProtocol().getLocalPort();
            }
        }
        if (mm != null) {
            si.metrics = mm.getMetricCounters(name);
        } else {
            si.metrics = null;
        }
    } else {
        // Service is not intitialized
        si.state = ServiceState.UNKNOWN;
    }
    return si;
}
Also used : ServiceInfo(com.sun.messaging.jmq.util.admin.ServiceInfo) MetricManager(com.sun.messaging.jmq.jmsserver.service.MetricManager) ConnectionManager(com.sun.messaging.jmq.jmsserver.service.ConnectionManager) ServiceManager(com.sun.messaging.jmq.jmsserver.service.ServiceManager) IMQService(com.sun.messaging.jmq.jmsserver.service.imq.IMQService) Service(com.sun.messaging.jmq.jmsserver.service.Service) IMQService(com.sun.messaging.jmq.jmsserver.service.imq.IMQService)

Example 7 with ServiceManager

use of com.sun.messaging.jmq.jmsserver.service.ServiceManager in project openmq by eclipse-ee4j.

the class PauseHandler method pauseService.

/**
 * Pause/Resume a service. If service is null we pause/resume all nonADMIN services.
 *
 * @throws IllegalArgumentException If serviceName is not a valid service name
 * @throws BrokerException If service can't be paused/resumed
 */
public static void pauseService(boolean pause, String serviceName) throws BrokerException, IllegalArgumentException {
    ServiceManager sm = Globals.getServiceManager();
    BrokerResources rb = Globals.getBrokerResources();
    if (serviceName != null && sm.getService(serviceName) == null) {
        throw new IllegalArgumentException(rb.getString(rb.X_NO_SUCH_SERVICE, serviceName));
    }
    if (pause) {
        if (serviceName == null) {
            sm.pauseAllActiveServices(ServiceType.NORMAL, true);
        } else {
            sm.pauseService(serviceName, true);
        }
    } else {
        if (serviceName == null) {
            sm.resumeAllActiveServices(ServiceType.NORMAL);
        } else {
            sm.resumeService(serviceName);
        }
    }
}
Also used : ServiceManager(com.sun.messaging.jmq.jmsserver.service.ServiceManager)

Aggregations

ServiceManager (com.sun.messaging.jmq.jmsserver.service.ServiceManager)7 Service (com.sun.messaging.jmq.jmsserver.service.Service)5 IMQService (com.sun.messaging.jmq.jmsserver.service.imq.IMQService)5 MetricManager (com.sun.messaging.jmq.jmsserver.service.MetricManager)2 IMQDirectService (com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService)2 JMSService (com.sun.messaging.jmq.jmsservice.JMSService)2 ServiceInfo (com.sun.messaging.jmq.util.admin.ServiceInfo)2 HAMonitorService (com.sun.messaging.jmq.jmsserver.cluster.api.ha.HAMonitorService)1 Destination (com.sun.messaging.jmq.jmsserver.core.Destination)1 ConnectionManager (com.sun.messaging.jmq.jmsserver.service.ConnectionManager)1 BrokerException (com.sun.messaging.jmq.jmsserver.util.BrokerException)1 MetricCounters (com.sun.messaging.jmq.util.MetricCounters)1 Hashtable (java.util.Hashtable)1