public void lifeCycleChanged()

in jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/Deployer.java [577:617]


    public void lifeCycleChanged(LifeCycleEvent event) throws JBIException {
        if (event.getLifeCycleMBean() instanceof ComponentImpl) {
            ComponentImpl comp = (ComponentImpl) event.getLifeCycleMBean();
            switch (event.getType()) {
                case Stopping:
                    if (comp.getState() == AbstractLifecycleJbiArtifact.State.Started) {
                        // Stop deployed SAs
                        for (ServiceAssemblyImpl sa : comp.getServiceAssemblies()) {
                            if (sa.getState() == ServiceAssemblyImpl.State.Started) {
                                sa.stop(false);
                                pendingAssemblies.add(sa);
                            }
                        }
                    }
                    break;
                case ShuttingDown:
                    if (comp.getState() == AbstractLifecycleJbiArtifact.State.Stopped) {
                        // Shutdown deployed SAs
                        for (ServiceAssemblyImpl sa : comp.getServiceAssemblies()) {
                            if (sa.getState() == ServiceAssemblyImpl.State.Stopped) {
                                sa.shutDown(false, event.isForced());
                                pendingAssemblies.add(sa);
                            }
                        }
                    }
                    break;
                case Started:
                    checkPendingInstallers();
                    checkPendingAssemblies();
                    break;
            }
        }

        // propagate lifecycle event to management strategy
        // 
        try {
            getEnvironment().notify(event);
        } catch (Exception e) {
            // ignore
        }
    }