package org.jbpm.examples.cdi; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.event.Observes; import org.jbpm.kie.services.impl.event.Deploy; import org.jbpm.kie.services.impl.event.DeploymentEvent; import org.jbpm.kie.services.impl.event.Undeploy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * An example of how an application code could be notified about deployment and undeployments of units (e.g. kjar). * This in turn allows application to provide various options when being informed about deployments/undeployments such * as provide new process definition to the user. */ @ApplicationScoped public class DeploymentListener { private static final Logger logger = LoggerFactory.getLogger(DeploymentListener.class); public void onDeployment(@Observes@Deploy DeploymentEvent event) { logger.info("Unit {} has been successfully deployed ", event.getDeploymentId(), event.getDeployedUnit()); } public void onUndeployment(@Observes@Undeploy DeploymentEvent event) { logger.info("Unit {} has been successfully undeployed", event.getDeploymentId()); } }