/** * Parse the server element * * @param serverElement the server element * @throws Exception for any error */ private void parseServer(Element serverElement) throws Exception { String modeString = serverElement.getAttribute("mode"); if (modeString != null) { modeString = modeString.trim(); if (modeString.length() != 0) serverMode = ControllerMode.getInstance(modeString); } }
/** * Get the right enum instance from mode string. * * @param modeString the mode string param * @return matching enum or exception if no match */ public static ControllerMode getInstance(String modeString) { if (modeString == null) throw new IllegalArgumentException("Null mode string."); for(ControllerMode cm : values()) { if (modeString.equalsIgnoreCase(cm.getModeString())) return cm; } throw new IllegalArgumentException("No such controller mode: " + modeString + ", available: " + Arrays.toString(values())); }
/** * Change a bean * * @param controller the controller * @param context the context * @param state the state * @throws Throwable for any error */ protected void changeBean(KernelController controller, KernelControllerContext context, ControllerState state) throws Throwable { if (ControllerMode.MANUAL.equals(context.getMode()) && ControllerState.ERROR.equals(context.getState()) == false) controller.change(context, state); }
public void toShortString(JBossStringBuilder buffer) { buffer.append("name=").append(name); if (aliases != null) buffer.append(" aliases=").append(aliases); if (error != null || state.equals(ControllerState.ERROR) == false) buffer.append(" state=").append(state.getStateString()); if (ControllerMode.AUTOMATIC.equals(mode) == false) { buffer.append(" mode=").append(mode.getModeString()); buffer.append(" requiredState=").append(requiredState.getStateString()); } if (ErrorHandlingMode.DISCARD.equals(errorHandlingMode) == false) buffer.append(" error-handling=").append(errorHandlingMode); if (error != null) buffer.append(" error=").append(error.getClass().getName()).append(": ").append(error.getMessage()); }
private void setControllerMode(ServiceMetaData metaData, Element mbean) { ControllerMode mode = metaData.getMode(); if(mode != null) mbean.setAttribute("mode", mode.getModeString()); }
context.setRequiredState(mode.getRequiredState());
/** * Whether we should advance the context<p> * <p/> * This method must be invoked with the write lock taken * * @param context the context * @return true when we should advance the context */ protected boolean advance(ControllerContext context) { ControllerMode mode = context.getMode(); // Never advance for disabled if (ControllerMode.DISABLED.equals(mode)) return false; return stateModel.isBeforeState(context.getState(), context.getRequiredState()); }
public void toString(JBossStringBuilder buffer) { buffer.append("name=").append(name); if (aliases != null) buffer.append(" aliases=").append(aliases); buffer.append(" target=").append(target); if (error != null || state.equals(ControllerState.ERROR) == false) buffer.append(" state=").append(state.getStateString()); if (ControllerMode.AUTOMATIC.equals(mode) == false) { buffer.append(" mode=").append(mode.getModeString()); buffer.append(" requiredState=").append(requiredState.getStateString()); } if (ErrorHandlingMode.DISCARD.equals(errorHandlingMode) == false) buffer.append(" error-handling=").append(errorHandlingMode); if (dependencies != null) buffer.append(" depends=").append(dependencies); if (error != null) { StringWriter stringWriter = new StringWriter(); PrintWriter writer = new PrintWriter(stringWriter); error.printStackTrace(writer); writer.flush(); buffer.append(" error=").append(stringWriter.getBuffer()); } }
private void setControllerMode(ServiceMetaData metaData, Element mbean) { ControllerMode mode = metaData.getMode(); if(mode != null) mbean.setAttribute("mode", mode.getModeString()); }
ControllerState state = stateModel.getNextState(ControllerMode.ON_DEMAND.getRequiredState()); uninstallContext(other, state, trace);
/** * Change a context * * @param controller the controller * @param context the context * @param requiredState the require state * @param logWait log the waiting dependencies * @throws Throwable for any error */ private void doChange(KernelController controller, ServiceControllerContext context, ControllerState requiredState, String logWait) throws Throwable { if (ControllerMode.ON_DEMAND.equals(context.getMode()) == false) { controller.change(context, requiredState); ControllerState state = context.getState(); if (logWait != null && requiredState.equals(state) == false && state != ControllerState.ERROR) log.debug("Waiting in " + logWait + " of " + context.getObjectName() + " on " + getUnresolvedDependencies(context, requiredState)); } }
/** * Parse the server element * * @param serverElement the server element * @throws Exception for any error */ private void parseServer(Element serverElement) throws Exception { String modeString = serverElement.getAttribute("mode"); if (modeString != null) { modeString = modeString.trim(); if (modeString.length() != 0) serverMode = ControllerMode.getInstance(modeString); } }
/** * Change a context * * @param controller the controller * @param context the context * @param requiredState the require state * @param logWait log the waiting dependencies * @throws Throwable for any error */ private void doChange(KernelController controller, ServiceControllerContext context, ControllerState requiredState, String logWait) throws Throwable { if (ControllerMode.ON_DEMAND.equals(context.getMode()) == false) { controller.change(context, requiredState); ControllerState state = context.getState(); if (logWait != null && requiredState.equals(state) == false && state != ControllerState.ERROR) log.debugf("Waiting in %1s of %2s on %3s", logWait, context.getObjectName(), getUnresolvedDependencies(context, requiredState)); } }
/** * Parse the mode * * @param name the mbean name * @param mbeanElement the element to parse name from. * @return the mode * @throws Exception for any error */ private ControllerMode parseMode(final ObjectName name, final Element mbeanElement) throws Exception { String modeString = mbeanElement.getAttribute("mode"); if (modeString == null) return null; modeString = modeString.trim(); if (modeString.length() == 0) return null; return ControllerMode.getInstance(modeString); }
if (enableOnDemand && ControllerMode.ON_DEMAND.equals(result.getMode()))
/** * Parse the mode * * @param name the mbean name * @param mbeanElement the element to parse name from. * @return the mode * @throws Exception for any error */ private ControllerMode parseMode(final ObjectName name, final Element mbeanElement) throws Exception { String modeString = mbeanElement.getAttribute("mode"); if (modeString == null) return null; modeString = modeString.trim(); if (modeString.length() == 0) return null; return ControllerMode.getInstance(modeString); }
if (unresolvedContext != null && ControllerMode.ON_DEMAND.equals(unresolvedContext.getMode()))
/** * Set the mode * * @param modeString the mode * @return the builder */ public BeanMetaDataBuilder setMode(String modeString) { return setMode(ControllerMode.getInstance(modeString)); }
if (ControllerMode.ON_DEMAND.equals(context.getMode()) == false) throw new IllegalStateException("Context is not ON DEMAND: " + context.toShortString());
public void attributes(Object o, QName elementName, ElementBinding element, Attributes attrs, NamespaceContext nsCtx) { AbstractKernelDeployment deployment = (AbstractKernelDeployment)o; for (int i = 0; i < attrs.getLength(); ++i) { String localName = attrs.getLocalName(i); if ("name".equals(localName)) deployment.setName(attrs.getValue(i)); else if ("scoped".equals(localName)) deployment.setScoped(Boolean.parseBoolean(attrs.getValue(i))); else if ("mode".equals(localName)) deployment.setMode(ControllerMode.getInstance(attrs.getValue(i))); } }