Search in sources :

Example 1 with BeforeStartEjbs

use of org.apache.openejb.assembler.classic.event.BeforeStartEjbs in project tomee by apache.

the class Assembler method startEjbs.

public void startEjbs(final boolean start, final List<BeanContext> allDeployments) throws OpenEJBException {
    // now that everything is configured, deploy to the container
    if (start) {
        SystemInstance.get().fireEvent(new BeforeStartEjbs(allDeployments));
        final Collection<BeanContext> toStart = new ArrayList<BeanContext>();
        // deploy
        for (final BeanContext deployment : allDeployments) {
            try {
                final Container container = deployment.getContainer();
                if (container.getBeanContext(deployment.getDeploymentID()) == null) {
                    container.deploy(deployment);
                    if (!((String) deployment.getDeploymentID()).endsWith(".Comp") && !deployment.isHidden()) {
                        logger.info("createApplication.createdEjb", deployment.getDeploymentID(), deployment.getEjbName(), container.getContainerID());
                    }
                    if (logger.isDebugEnabled()) {
                        for (final Map.Entry<Object, Object> entry : deployment.getProperties().entrySet()) {
                            logger.info("createApplication.createdEjb.property", deployment.getEjbName(), entry.getKey(), entry.getValue());
                        }
                    }
                    toStart.add(deployment);
                }
            } catch (final Throwable t) {
                throw new OpenEJBException("Error deploying '" + deployment.getEjbName() + "'.  Exception: " + t.getClass() + ": " + t.getMessage(), t);
            }
        }
        // start
        for (final BeanContext deployment : toStart) {
            try {
                final Container container = deployment.getContainer();
                container.start(deployment);
                if (!((String) deployment.getDeploymentID()).endsWith(".Comp") && !deployment.isHidden()) {
                    logger.info("createApplication.startedEjb", deployment.getDeploymentID(), deployment.getEjbName(), container.getContainerID());
                }
            } catch (final Throwable t) {
                throw new OpenEJBException("Error starting '" + deployment.getEjbName() + "'.  Exception: " + t.getClass() + ": " + t.getMessage(), t);
            }
        }
    }
}
Also used : BeanContext(org.apache.openejb.BeanContext) OpenEJBException(org.apache.openejb.OpenEJBException) JMXContainer(org.apache.openejb.assembler.monitoring.JMXContainer) Container(org.apache.openejb.Container) BeforeStartEjbs(org.apache.openejb.assembler.classic.event.BeforeStartEjbs) ArrayList(java.util.ArrayList) Map(java.util.Map) TreeMap(java.util.TreeMap) HashMap(java.util.HashMap)

Aggregations

ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 TreeMap (java.util.TreeMap)1 BeanContext (org.apache.openejb.BeanContext)1 Container (org.apache.openejb.Container)1 OpenEJBException (org.apache.openejb.OpenEJBException)1 BeforeStartEjbs (org.apache.openejb.assembler.classic.event.BeforeStartEjbs)1 JMXContainer (org.apache.openejb.assembler.monitoring.JMXContainer)1