@Override public void serviceRemoved(final ServiceController<?> controller) { try { resultHandler.handleCancellation(param); } finally { controller.removeListener(this); } } }
/** {@inheritDoc} */ @Override public <P> void applyUpdate(final UpdateContext updateContext, final UpdateResultHandler<? super Void, P> resultHandler, final P param) { try { propertyUpdate.applyUpdate(System.getProperties()); } catch (UpdateFailedException e) { resultHandler.handleFailure(e, param); return; } resultHandler.handleSuccess(null, param); }
@Override protected final Void receiveResponse(final InputStream input) throws IOException { final Unmarshaller unmarshaller = getUnmarshaller(); unmarshaller.start(createByteInput(input)); expectHeader(unmarshaller, DomainClientProtocol.RETURN_APPLY_SERVER_MODEL_UPDATE); @SuppressWarnings("unchecked") final UpdateResultHandlerResponse<R> result = unmarshal(unmarshaller, UpdateResultHandlerResponse.class); unmarshaller.finish(); if (resultHandler != null) { if (result.isCancelled()) { resultHandler.handleCancellation(param); } else if (result.isRolledBack()) { resultHandler.handleRollbackSuccess(param); } else if (result.isTimedOut()) { resultHandler.handleTimeout(param); } else if (result.getFailureResult() != null) { resultHandler.handleFailure(result.getFailureResult(), param); } else { resultHandler.handleSuccess(result.getSuccessResult(), param); } } unmarshaller.finish(); return null; } }
/** * Apply this update to a running service container. The given result handler is called with the result of the * application. By default, this method does nothing but report success. * * @param updateContext the update context * @param resultHandler the handler to call back with the result * @param param the parameter value to pass to the result handler */ public <P> void applyUpdate(UpdateContext updateContext, UpdateResultHandler<? super R, P> resultHandler, P param) { resultHandler.handleSuccess(null, param); }
@Override public void serviceFailed(final ServiceController<?> controller, final StartException reason) { try { resultHandler.handleFailure(reason, param); } finally { controller.removeListener(this); } }
@Override public <P> void applyUpdate(UpdateContext updateContext, UpdateResultHandler<? super Void, P> resultHandler, P param) { if (resultHandler != null) { resultHandler.handleSuccess(null, param); } }
@Override public void serviceFailed(ServiceController<?> controller, StartException reason) { if (resultHandler != null && isCorrectService(controller)) { resultHandler.handleFailure(reason, param); // Ignore any further notifications controller.removeListener(this); } }
/** {@inheritDoc} */ public <P> void applyUpdate(UpdateContext context, UpdateResultHandler<? super Void,P> resultHandler, P param) { final ServiceController<?> controller = context.getServiceContainer().getService(DeploymentScannerService.getServiceName(name)); if(controller == null) { resultHandler.handleFailure(notConfigured(), param); } else { try { final DeploymentScanner scanner = (DeploymentScanner) controller.getValue(); scanner.startScanner(); resultHandler.handleSuccess(null, param); } catch (Throwable t) { resultHandler.handleFailure(t, param); } } }
@Override public <P> void applyUpdate(UpdateContext updateContext, UpdateResultHandler<? super Void, P> resultHandler, P param) { if (resultHandler != null) { resultHandler.handleSuccess(null, param); } } }
public <P> void deploy(final String deploymentName, final String runtimeName, final byte[] deploymentHash, final ServiceContainer serviceContainer, final UpdateResultHandler<?, P> resultHandler, final P param) { try { BatchBuilder batchBuilder = serviceContainer.batchBuilder(); deploy(deploymentName, runtimeName, deploymentHash, batchBuilder, serviceContainer, resultHandler, param); batchBuilder.install(); } catch (Exception e) { resultHandler.handleFailure(e, param); } }
/** {@inheritDoc} */ public <P> void applyUpdate(UpdateContext context, UpdateResultHandler<? super Void,P> resultHandler, P param) { final ServiceController<?> controller = context.getServiceContainer().getService(DeploymentScannerService.getServiceName(path)); if(controller == null) { resultHandler.handleFailure(notConfigured(), param); } else { try { final DeploymentScanner scanner = (DeploymentScanner) controller.getValue(); scanner.stopScanner(); resultHandler.handleSuccess(null, param); } catch (Throwable t) { resultHandler.handleFailure(t, param); } } }
@Override public void serviceRemoved(final ServiceController<?> controller) { resultHandler.handleSuccess(null, param); } }
@Override public <P> void applyUpdate(UpdateContext updateContext, UpdateResultHandler<? super Void, P> resultHandler, P param) { if (deploymentElement != null) { startStopHandler.redeploy(newDeployment, deploymentElement.getRuntimeName(), deploymentElement.getSha1Hash(), updateContext.getServiceContainer(), resultHandler, param); } else if (resultHandler != null) { // We shouldn't be able to get here, as the model update should have failed, // but just in case resultHandler.handleFailure(new IllegalStateException("Unknown deployment " + newDeployment), param); } }
public <P> void undeploy(final String deploymentName, final ServiceContainer serviceContainer, final UpdateResultHandler<?, P> resultHandler, final P param) { try { ServiceName deploymentServiceName = DeploymentService.getServiceName(deploymentName); @SuppressWarnings("unchecked") final ServiceController<DeploymentService> controller = (ServiceController<DeploymentService>) serviceContainer.getService(deploymentServiceName); if(controller != null) { controller.addListener(new UndeploymentServiceTracker<P>(deploymentName, resultHandler, param)); controller.setMode(ServiceController.Mode.REMOVE); } else if (resultHandler != null) { resultHandler.handleSuccess(null, param); } } catch (RuntimeException e) { if (resultHandler != null) { resultHandler.handleFailure(e, param); } } }
@Override public void serviceStarted(final ServiceController<?> controller) { try { resultHandler.handleSuccess(null, param); } finally { controller.removeListener(this); } }
public <P> void redeploy(final String deploymentName, final String runtimeName, final byte[] deploymentHash, final ServiceContainer serviceContainer, final UpdateResultHandler<?, P> resultHandler, final P param) { try { ServiceName deploymentServiceName = DeploymentService.getServiceName(deploymentName); @SuppressWarnings("unchecked") final ServiceController<DeploymentService> controller = (ServiceController<DeploymentService>) serviceContainer.getService(deploymentServiceName); if(controller != null && controller.getMode() != ServiceController.Mode.REMOVE) { RedeploymentServiceTracker tracker = new RedeploymentServiceTracker(deploymentName); controller.addListener(tracker); synchronized (tracker) { controller.setMode(ServiceController.Mode.REMOVE); try { tracker.wait(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); if (resultHandler != null) { resultHandler.handleFailure(e, param); return; } } } } deploy(deploymentName, runtimeName, deploymentHash, serviceContainer, resultHandler, param); } catch (RuntimeException e) { if (resultHandler != null) { resultHandler.handleFailure(e, param); } } }
protected void recordResult(ServiceController<? extends Object> controller) { resultHandler.handleSuccess(null, param); // Ignore any further notifications controller.removeListener(this); }
public <P> void deploy(final String deploymentName, final String runtimeName, final byte[] deploymentHash, final BatchBuilder batchBuilder, final ServiceContainer serviceContainer, final UpdateResultHandler<?, P> resultHandler, final P param) { try { ServiceName deploymentServiceName = DeploymentService.getServiceName(deploymentName); // Add a listener so we can get ahold of the DeploymentService batchBuilder.addListener(new DeploymentServiceTracker<P>(deploymentServiceName, resultHandler, param)); activate(deploymentName, runtimeName, deploymentHash, deploymentServiceName, new ServiceActivatorContextImpl(batchBuilder), serviceContainer); } catch (RuntimeException e) { resultHandler.handleFailure(e, param); } }
@Override public <P> void applyUpdate(UpdateContext updateContext, UpdateResultHandler<? super Void, P> resultHandler, P param) { if (redeploy) { ServerDeploymentStartStopHandler startStopHandler = new ServerDeploymentStartStopHandler(); startStopHandler.redeploy(deploymentUniqueName, deploymentRuntimeName, hash, updateContext.getServiceContainer(), resultHandler, param); } else if (resultHandler != null) { resultHandler.handleSuccess(null, param); } }
protected <P> void applyUpdate(UpdateContext updateContext, UpdateResultHandler<? super Void,P> resultHandler, P param) { final ServiceController<?> controller = updateContext.getServiceContainer().getService(SocketBinding.JBOSS_BINDING_NAME.append(name)); if(controller == null) { resultHandler.handleSuccess(null, param); return; } controller.addListener(new UpdateResultHandler.ServiceRemoveListener<P>(resultHandler, param)); }