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();
}
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();
}
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);
}
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);
}
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;
}
Aggregations