private void stop(MBeanServer server) { LOG.debug("Beginning shutdown"); Invoker invoker = new Invoker(); invoker.setServer(server); invoker.setAtType(InvokeAtType.STOP); invoker.setReverse(true); invoker.setFailFast(false); List<InvokerService> services = InvokerService.createServiceList(new ServiceConfigFactory().getServices()); invoker.setServices(services); invoker.getObjectInstances(); invoker.invokeMethods(); LOG.debug("Shutdown complete"); }
Invoker invoker = new Invoker(); invoker.setServer(server); invoker.setAtType(InvokeAtType.START); List<InvokerService> services = InvokerService.createServiceList(new ServiceConfigFactory().getServices()); invoker.setServices(services); invoker.instantiateClasses(); List<InvokerResult> resultInfo = invoker.invokeMethods();
if (isReverse()) { invokerServicesOrdered = new ArrayList<InvokerService>(getServices()); Collections.reverse(invokerServicesOrdered); } else { invokerServicesOrdered = getServices(); for (int pass = 0, end = getLastPass(); pass <= end; pass++) { LOG.debug("starting pass {}", pass); if (isFailFast()) { return resultInfo; if (invoke.getPass() != pass || !getAtType().equals(invoke.getAt())) { continue; Object result = invoke(invoke, mbean); resultInfo.add(new InvokerResult(service, mbean, result, null)); } catch (Throwable t) { resultInfo.add(new InvokerResult(service, mbean, null, t)); if (isFailFast()) { return resultInfo;
for (InvokerService invokerService : getServices()) { Service service = invokerService.getService(); try { if (log().isDebugEnabled()) { log().debug("loading class " + service.getClassName()); if (log().isDebugEnabled()) { log().debug("create new instance of " + service.getClassName()); if (log().isDebugEnabled()) { log().debug("registering mbean instance " + service.getName()); invokerService.setMbean(getServer().registerMBean(bean, name)); if (attribs != null) { for (org.opennms.netmgt.config.service.Attribute attrib : attribs) { if (log().isDebugEnabled()) { log().debug("setting attribute " + attrib.getName()); getServer().setAttribute(name, getAttribute(attrib)); log().error("An error occurred loading the mbean " + service.getName() + " of type " + service.getClassName() + ": " + t,
for (InvokerService invokerService : getServices()) { Service service = invokerService.getService(); try { invokerService.setMbean(getServer().registerMBean(bean, name)); for (final org.opennms.netmgt.config.service.Attribute attrib : attribs) { LOG.debug("setting attribute {}", attrib.getName()); getServer().setAttribute(name, getAttribute(attrib));
/** * <p>getObjectInstances</p> */ public void getObjectInstances() { for (InvokerService invokerService : getServices()) { Service service = invokerService.getService(); try { // find the mbean if (log().isDebugEnabled()) { log().debug("finding mbean instance " + service.getName()); } ObjectName name = new ObjectName(service.getName()); invokerService.setMbean(getServer().getObjectInstance(name)); } catch (Throwable t) { log().error("An error occurred loading the mbean " + service.getName() + " of type " + service.getClassName() + " it will be skipped", t); invokerService.setBadThrowable(t); } } }
for (int k = 0; k < parms.length; k++) { try { parms[k] = getArgument(args[k]); } catch (Throwable t) { log().error("An error occurred building argument " + k + " for operation "+ invoke.getMethod() + " on MBean " + mbean.getObjectName() + ": " + t, if (log().isDebugEnabled()) { log().debug("Invoking " + invoke.getMethod() + " on object " + mbean.getObjectName()); String log4jPrefix = ThreadCategory.getPrefix(); try { object = getServer().invoke(mbean.getObjectName(), invoke.getMethod(), parms, sig); } finally { ThreadCategory.setPrefix(log4jPrefix); log().error("An error occurred invoking operation " + invoke.getMethod() + " on MBean " + mbean.getObjectName() + ": " + t, t); log().debug("Invocation successful.");
for (int k = 0; k < parms.length; k++) { try { parms[k] = getArgument(args.get(k)); } catch (Throwable t) { LOG.error("An error occurred building argument {} for operation {} on MBean {}", k, invoke.getMethod(), mbean.getObjectName(), t); Map<String,String> mdc = Logging.getCopyOfContextMap(); try { object = getServer().invoke(mbean.getObjectName(), invoke.getMethod(), parms, sig); } finally { Logging.setContextMap(mdc);
/** * <p>getObjectInstances</p> */ public void getObjectInstances() { for (InvokerService invokerService : getServices()) { Service service = invokerService.getService(); try { // find the mbean LOG.debug("finding mbean instance {}", service.getName()); ObjectName name = new ObjectName(service.getName()); invokerService.setMbean(getServer().getObjectInstance(name)); } catch (Throwable t) { LOG.error("An error occurred loading the mbean {} of type {} it will be skipped", service.getName(), service.getClassName(), t); invokerService.setBadThrowable(t); } } }
/** * Get the last pass for a set of InvokerServices. * * @param invokerServices list to look at * @return highest pass value found for all Invoke objects in the * invokerServices list */ private int getLastPass() { List<InvokerService> invokerServices = getServices(); int end = 0; for (InvokerService invokerService : invokerServices) { Invoke[] invokes = invokerService.getService().getInvoke(); if (invokes == null) { continue; } for (Invoke invoke : invokes) { if (invoke.getPass() > end) { end = invoke.getPass(); } } } return end; }
Invoker invoker = new Invoker(); invoker.setServer(server); invoker.setAtType(InvokeAtType.START); List<InvokerService> services = InvokerService.createServiceList(Invoker.getDefaultServiceConfigFactory().getServices()); invoker.setServices(services); invoker.instantiateClasses(); List<InvokerResult> resultInfo = invoker.invokeMethods();
if (isReverse()) { invokerServicesOrdered = new ArrayList<InvokerService>(getServices()); Collections.reverse(invokerServicesOrdered); } else { invokerServicesOrdered = getServices(); for (int pass = 0, end = getLastPass(); pass <= end; pass++) { if (log().isDebugEnabled()) { log().debug("starting pass " + pass); if (isFailFast()) { return resultInfo; if (invoke.getPass() != pass || !getAtType().equals(invoke.getAt())) { continue; if (log().isDebugEnabled()) { log().debug("pass " + pass + " on service " + name + " will invoke method \"" + invoke.getMethod() + "\""); Object result = invoke(invoke, mbean); resultInfo.add(new InvokerResult(service, mbean, result, null)); } catch (Throwable t) { resultInfo.add(new InvokerResult(service, mbean, null, t)); if (isFailFast()) { return resultInfo;
/** * Get the last pass for a set of InvokerServices. * * @param invokerServices list to look at * @return highest pass value found for all Invoke objects in the * invokerServices list */ private int getLastPass() { List<InvokerService> invokerServices = getServices(); int end = 0; for (final InvokerService invokerService : invokerServices) { final List<Invoke> invokes = invokerService.getService().getInvokes(); if (invokes == null) { continue; } for (final Invoke invoke : invokes) { if (invoke.getPass() > end) { end = invoke.getPass(); } } } return end; }
private void stop(MBeanServer server) { log().debug("Beginning shutdown"); Invoker invoker = new Invoker(); invoker.setServer(server); invoker.setAtType(InvokeAtType.STOP); invoker.setReverse(true); invoker.setFailFast(false); List<InvokerService> services = InvokerService.createServiceList(Invoker.getDefaultServiceConfigFactory().getServices()); invoker.setServices(services); invoker.getObjectInstances(); invoker.invokeMethods(); log().debug("Shutdown complete"); }
private List<String> status(final MBeanServer server) { LOG.debug("Beginning status check"); final Invoker invoker = new Invoker(); invoker.setServer(server); invoker.setAtType(InvokeAtType.STATUS); invoker.setFailFast(false); final List<InvokerService> services = InvokerService.createServiceList(new ServiceConfigFactory().getServices()); invoker.setServices(services); invoker.getObjectInstances(); final List<InvokerResult> results = invoker.invokeMethods(); final List<String> statusInfo = new ArrayList<String>(results.size()); for (final InvokerResult invokerResult : results) { if (invokerResult.getThrowable() == null) { statusInfo.add("Status: " + invokerResult.getMbean().getObjectName() + " = " + invokerResult.getResult().toString()); } else { statusInfo.add("Status: " + invokerResult.getMbean().getObjectName() + " = STATUS_CHECK_ERROR"); } } LOG.debug("Status check complete"); return statusInfo; }
private List<String> status(final MBeanServer server) { log().debug("Beginning status check"); final Invoker invoker = new Invoker(); invoker.setServer(server); invoker.setAtType(InvokeAtType.STATUS); invoker.setFailFast(false); final List<InvokerService> services = InvokerService.createServiceList(Invoker.getDefaultServiceConfigFactory().getServices()); invoker.setServices(services); invoker.getObjectInstances(); final List<InvokerResult> results = invoker.invokeMethods(); final List<String> statusInfo = new ArrayList<String>(results.size()); for (final InvokerResult invokerResult : results) { if (invokerResult.getThrowable() == null) { statusInfo.add("Status: " + invokerResult.getMbean().getObjectName() + " = " + invokerResult.getResult().toString()); } else { statusInfo.add("Status: " + invokerResult.getMbean().getObjectName() + " = STATUS_CHECK_ERROR"); } } log().debug("Status check complete"); return statusInfo; }