Search in sources :

Example 1 with ComponentMonitor

use of org.picocontainer.ComponentMonitor in project sonarqube by SonarSource.

the class TaskContainerImpl method createContainer.

/**
   * Creates a PicContainer which extends the specified ComponentContainer <strong>but is not referenced in return</strong>
   * and lazily starts its components.
   */
private static MutablePicoContainer createContainer(ComponentContainer parent) {
    ComponentMonitor componentMonitor = new NullComponentMonitor();
    ReflectionLifecycleStrategy lifecycleStrategy = new ReflectionLifecycleStrategy(componentMonitor, "start", "stop", "close") {

        @Override
        public boolean isLazy(ComponentAdapter<?> adapter) {
            return adapter.getComponentImplementation().getAnnotation(EagerStart.class) == null;
        }
    };
    return new DefaultPicoContainer(new OptInCaching(), lifecycleStrategy, parent.getPicoContainer(), componentMonitor);
}
Also used : OptInCaching(org.picocontainer.behaviors.OptInCaching) DefaultPicoContainer(org.picocontainer.DefaultPicoContainer) NullComponentMonitor(org.picocontainer.monitors.NullComponentMonitor) ComponentMonitor(org.picocontainer.ComponentMonitor) NullComponentMonitor(org.picocontainer.monitors.NullComponentMonitor) ReflectionLifecycleStrategy(org.picocontainer.lifecycle.ReflectionLifecycleStrategy) ComponentAdapter(org.picocontainer.ComponentAdapter)

Example 2 with ComponentMonitor

use of org.picocontainer.ComponentMonitor in project sonarqube by SonarSource.

the class MigrationContainerImpl method createContainer.

/**
   * Creates a PicContainer which extends the specified ComponentContainer <strong>but is not referenced in return</strong>.
   */
private static MutablePicoContainer createContainer(ComponentContainer parent) {
    ComponentMonitor componentMonitor = new NullComponentMonitor();
    ReflectionLifecycleStrategy lifecycleStrategy = new ReflectionLifecycleStrategy(componentMonitor, "start", "stop", "close") {

        @Override
        public boolean isLazy(ComponentAdapter<?> adapter) {
            return true;
        }
    };
    return new DefaultPicoContainer(new OptInCaching(), lifecycleStrategy, parent.getPicoContainer(), componentMonitor);
}
Also used : OptInCaching(org.picocontainer.behaviors.OptInCaching) DefaultPicoContainer(org.picocontainer.DefaultPicoContainer) NullComponentMonitor(org.picocontainer.monitors.NullComponentMonitor) ComponentMonitor(org.picocontainer.ComponentMonitor) NullComponentMonitor(org.picocontainer.monitors.NullComponentMonitor) ReflectionLifecycleStrategy(org.picocontainer.lifecycle.ReflectionLifecycleStrategy) ComponentAdapter(org.picocontainer.ComponentAdapter)

Aggregations

ComponentAdapter (org.picocontainer.ComponentAdapter)2 ComponentMonitor (org.picocontainer.ComponentMonitor)2 DefaultPicoContainer (org.picocontainer.DefaultPicoContainer)2 OptInCaching (org.picocontainer.behaviors.OptInCaching)2 ReflectionLifecycleStrategy (org.picocontainer.lifecycle.ReflectionLifecycleStrategy)2 NullComponentMonitor (org.picocontainer.monitors.NullComponentMonitor)2