public void destroy() { if(deployment==null) { logger.warn("Nothing to destroy..."); return; } try { logger.info("Destroying deployment {}",deployment.getId()); deploymentContext.getDeploymentHandler().destroy(deployment); logger.info("Deployment {} destroyed successfully",deployment.getId()); deployment=null; object=null; } catch (Exception e) { logger.error("Error while destroying deployment",e); throw new DeploymentException(e); } }
public T get() { if(object!=null) { return object; } // Deploy ephemeral unit and fetch deployment endpoints logger.info("Creating deployment unit"); DeploymentUnit deploymentUnit = createDeploymentUnit(); logger.info("Creating deployment"); deployment = new Deployment.Builder(deploymentUnit, deploymentContext.getDeploymentConfiguration()) .build(); // Do deploy! try { logger.info("Deploying deployment {}",deployment.getId()); endpoints = deploymentContext.getDeploymentHandler().deploy(deployment); logger.info("Deployment {} done",deployment.getId()); logger.info("Endpoints found for deployment {}: {}",deployment.getId(),endpoints); } catch(Exception e) { logger.error("Error while deploying {}",deployment.getId(),e); throw new DeploymentException(e); } // Create object using endpoints try { object = createObject(endpoints); return object; } catch (Exception e) { logger.error("Error while creating object for deployment {}",deployment.getId(),e); throw new RuntimeException(e); } }