Search in sources :

Example 1 with Service

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

the class DebugHandler method getThreadPoolInfo.

private Hashtable getThreadPoolInfo(String svcname) throws Exception {
    if (svcname == null) {
        Hashtable ht = new Hashtable();
        List l = Globals.getServiceManager().getAllActiveServiceNames();
        Iterator itr = l.iterator();
        while (itr.hasNext()) {
            String name = (String) itr.next();
            ht.put(name, getThreadPoolInfo(name));
        }
        return ht;
    }
    Service s = Globals.getServiceManager().getService(svcname);
    if (s == null) {
        throw new Exception("unknown service " + svcname);
    }
    return ((com.sun.messaging.jmq.jmsserver.service.imq.IMQService) s).getPoolDebugState();
}
Also used : Hashtable(java.util.Hashtable) Iterator(java.util.Iterator) Service(com.sun.messaging.jmq.jmsserver.service.Service) TransactionList(com.sun.messaging.jmq.jmsserver.data.TransactionList) List(java.util.List)

Example 2 with Service

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

the class BrokerInstanceImpl method getJMSService.

private JMSService getJMSService(String serviceName) throws IllegalStateException {
    ServiceManager sm = Globals.getServiceManager();
    Service svc;
    IMQService imqSvc;
    IMQDirectService imqDirectSvc;
    if (sm == null) {
        return (null);
    }
    svc = sm.getService(serviceName);
    if (svc == null) {
        return (null);
    }
    if (!(svc instanceof IMQService)) {
        return (null);
    }
    imqSvc = (IMQService) svc;
    if (!imqSvc.isDirect()) {
        return (null);
    }
    if (!(imqSvc instanceof IMQDirectService)) {
        return (null);
    }
    imqDirectSvc = (IMQDirectService) imqSvc;
    return imqDirectSvc.getJMSService();
}
Also used : IMQDirectService(com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService) ServiceManager(com.sun.messaging.jmq.jmsserver.service.ServiceManager) IMQService(com.sun.messaging.jmq.jmsserver.service.imq.IMQService) JMSService(com.sun.messaging.jmq.jmsservice.JMSService) IMQDirectService(com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService) Service(com.sun.messaging.jmq.jmsserver.service.Service) IMQService(com.sun.messaging.jmq.jmsserver.service.imq.IMQService)

Example 3 with Service

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

the class ServiceConfig method updateService.

private void updateService(int port, int min, int max) throws IOException, PropertyUpdateException, BrokerException {
    ServiceManager sm = Globals.getServiceManager();
    Service svc = sm.getService(getName());
    IMQService stsvc;
    if (svc == null) {
        throw new BrokerException(rb.getString(rb.X_NO_SUCH_SERVICE, getName()));
    }
    if (!(svc instanceof IMQService)) {
        throw new BrokerException("Internal Error: can updated non-standard Service");
    }
    stsvc = (IMQService) svc;
    stsvc.updateService(port, min, max);
}
Also used : BrokerException(com.sun.messaging.jmq.jmsserver.util.BrokerException) 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 4 with Service

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

the class ConnectionUtil method getConnections.

/**
 * Returns a List of IMQConnection for a given service
 */
public static List getConnections(String service) {
    ConnectionManager cm = Globals.getConnectionManager();
    List connections = null;
    try {
        Service s = null;
        if (service != null) {
            s = Globals.getServiceManager().getService(service);
            /*
                 * If service object is null, service may not exist or is inactive
                 */
            if (s == null) {
                return (connections);
            }
        }
        connections = cm.getConnectionList(s);
    } catch (Exception e) {
        BrokerResources rb = Globals.getBrokerResources();
        Logger logger = Globals.getLogger();
        logger.log(Logger.WARNING, rb.getString(rb.W_JMX_FAILED_TO_OBTAIN_CONNECTION_LIST), e);
    }
    return (connections);
}
Also used : ConnectionManager(com.sun.messaging.jmq.jmsserver.service.ConnectionManager) Service(com.sun.messaging.jmq.jmsserver.service.Service) List(java.util.List) ArrayList(java.util.ArrayList) Logger(com.sun.messaging.jmq.util.log.Logger) BrokerResources(com.sun.messaging.jmq.jmsserver.resources.BrokerResources)

Example 5 with Service

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

the class UpdateServiceHandler 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() + ": " + cmd_props);
    }
    ServiceInfo info = (ServiceInfo) getBodyObject(cmd_msg);
    int status = Status.OK;
    String errMsg = null;
    ServiceManager sm = Globals.getServiceManager();
    Service svc = null;
    HAMonitorService hamonitor = Globals.getHAMonitorService();
    if (hamonitor != null && hamonitor.inTakeover()) {
        status = Status.ERROR;
        errMsg = rb.getString(rb.E_CANNOT_PROCEED_TAKEOVER_IN_PROCESS);
        logger.log(Logger.ERROR, this.getClass().getName() + ": " + errMsg);
    } else {
        if (info.name == null || ((svc = sm.getService(info.name)) == null)) {
            status = Status.ERROR;
            errMsg = rb.getString(rb.X_NO_SUCH_SERVICE, (info.name == null ? "<null>" : info.name));
        }
    }
    // OK .. set the service information
    if (status == Status.OK) {
        if (!(svc instanceof IMQService)) {
            status = Status.ERROR;
            errMsg = "Internal Error: can updated non-standard Service";
        } else {
            // to repair this by fcs
            try {
                IMQService stsvc = (IMQService) svc;
                int port = -1;
                int min = -1;
                int max = -1;
                if (info.isModified(info.PORT)) {
                    port = info.port;
                }
                if (info.isModified(info.MIN_THREADS)) {
                    min = info.minThreads;
                }
                if (info.isModified(info.MAX_THREADS)) {
                    max = info.maxThreads;
                }
                if (port != -1 || min != -1 || max != -1) {
                    stsvc.updateService(port, min, max);
                } else {
                    status = Status.ERROR;
                    errMsg = rb.getString(rb.X_NO_SERVICE_PROPS_SET, info.name);
                }
            } catch (Exception ex) {
                logger.logStack(Logger.WARNING, rb.W_ERROR_UPDATING_SERVICE, svc.getName(), ex);
                status = Status.ERROR;
                errMsg = getMessageFromException(ex);
            }
        }
    }
    // Send reply
    Packet reply = new Packet(con.useDirectBuffers());
    reply.setPacketType(PacketType.OBJECT_MESSAGE);
    setProperties(reply, MessageType.UPDATE_SERVICE_REPLY, status, errMsg);
    parent.sendReply(con, cmd_msg, reply);
    return true;
}
Also used : ServiceInfo(com.sun.messaging.jmq.util.admin.ServiceInfo) ServiceManager(com.sun.messaging.jmq.jmsserver.service.ServiceManager) HAMonitorService(com.sun.messaging.jmq.jmsserver.cluster.api.ha.HAMonitorService) Service(com.sun.messaging.jmq.jmsserver.service.Service) IMQService(com.sun.messaging.jmq.jmsserver.service.imq.IMQService) IMQService(com.sun.messaging.jmq.jmsserver.service.imq.IMQService) HAMonitorService(com.sun.messaging.jmq.jmsserver.cluster.api.ha.HAMonitorService)

Aggregations

Service (com.sun.messaging.jmq.jmsserver.service.Service)12 Iterator (java.util.Iterator)6 ServiceManager (com.sun.messaging.jmq.jmsserver.service.ServiceManager)5 IMQService (com.sun.messaging.jmq.jmsserver.service.imq.IMQService)5 List (java.util.List)5 ConnectionManager (com.sun.messaging.jmq.jmsserver.service.ConnectionManager)4 IMQConnection (com.sun.messaging.jmq.jmsserver.service.imq.IMQConnection)4 Hashtable (java.util.Hashtable)4 TransactionList (com.sun.messaging.jmq.jmsserver.data.TransactionList)2 BrokerResources (com.sun.messaging.jmq.jmsserver.resources.BrokerResources)2 ConnectionUID (com.sun.messaging.jmq.jmsserver.service.ConnectionUID)2 IMQDirectService (com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService)2 JMSService (com.sun.messaging.jmq.jmsservice.JMSService)2 ConnectionInfo (com.sun.messaging.jmq.util.admin.ConnectionInfo)2 ServiceInfo (com.sun.messaging.jmq.util.admin.ServiceInfo)2 Logger (com.sun.messaging.jmq.util.log.Logger)2 ArrayList (java.util.ArrayList)2 FaultInjection (com.sun.messaging.jmq.jmsserver.FaultInjection)1 HAMonitorService (com.sun.messaging.jmq.jmsserver.cluster.api.ha.HAMonitorService)1 Consumer (com.sun.messaging.jmq.jmsserver.core.Consumer)1