if (feature == null) { feature = injectionManager.createAndInitialize(registration.getFeatureClass()); managedObjectsFinalizer.registerForPreDestroyCall(feature); } else {
private void close() { if (closed.compareAndSet(false, true)) { try { for (final ClientLifecycleListener listener : lifecycleListeners) { try { listener.onClose(); } catch (final Throwable t) { LOG.log(Level.WARNING, LocalizationMessages.ERROR_LISTENER_CLOSE(listener.getClass().getName()), t); } } } finally { try { connector.close(); } finally { managedObjectsFinalizer.preDestroy(); injectionManager.shutdown(); } } } }
this.injectionManager = injectionManager; this.injectionManager.register(CompositeBinder.wrap(new ServerBinder(), customBinder)); this.managedObjectsFinalizer = new ManagedObjectsFinalizer(injectionManager);
this.injectionManager = injectionManager; this.injectionManager.register(CompositeBinder.wrap(new ServerBinder(), customBinder)); this.managedObjectsFinalizer = new ManagedObjectsFinalizer(injectionManager);
if (feature == null) { feature = injectionManager.createAndInitialize(registration.getFeatureClass()); managedObjectsFinalizer.registerForPreDestroyCall(feature); } else {
private void close() { if (closed.compareAndSet(false, true)) { try { for (final ClientLifecycleListener listener : lifecycleListeners) { try { listener.onClose(); } catch (final Throwable t) { LOG.log(Level.WARNING, LocalizationMessages.ERROR_LISTENER_CLOSE(listener.getClass().getName()), t); } } } finally { try { connector.close(); } finally { managedObjectsFinalizer.preDestroy(); injectionManager.shutdown(); } } } }
bootstrapBag.setManagedObjectsFinalizer(new ManagedObjectsFinalizer(injectionManager)); List<BootstrapConfigurator> bootstrapConfigurators = Arrays.asList( new RequestScope.RequestScopeConfigurator(),
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); ManagedObjectsFinalizer finalizer = serverBag.getManagedObjectsFinalizer(); // TODO: Do we need to register DEFAULT Executor and ScheduledExecutor to InjectionManager? ScheduledExecutorServiceProvider defaultScheduledExecutorProvider = new DefaultBackgroundSchedulerProvider(); InstanceBinding<ScheduledExecutorServiceProvider> schedulerBinding = Bindings .service(defaultScheduledExecutorProvider) .to(ScheduledExecutorServiceProvider.class) .qualifiedBy(BackgroundSchedulerLiteral.INSTANCE); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider); ExecutorServiceProvider defaultAsyncExecutorProvider = new DefaultManagedAsyncExecutorProvider(); InstanceBinding<ExecutorServiceProvider> executorBinding = Bindings .service(defaultAsyncExecutorProvider) .to(ExecutorServiceProvider.class); injectionManager.register(executorBinding); finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); registerExecutors(injectionManager, componentBag, defaultAsyncExecutorProvider, defaultScheduledExecutorProvider); }
private void close() { if (closed.compareAndSet(false, true)) { try { for (final ClientLifecycleListener listener : lifecycleListeners) { try { listener.onClose(); } catch (final Throwable t) { LOG.log(Level.WARNING, LocalizationMessages.ERROR_LISTENER_CLOSE(listener.getClass().getName()), t); } } } finally { try { connector.close(); } finally { managedObjectsFinalizer.preDestroy(); injectionManager.shutdown(); } } } }
bootstrapBag.setManagedObjectsFinalizer(new ManagedObjectsFinalizer(injectionManager)); List<BootstrapConfigurator> bootstrapConfigurators = Arrays.asList( new RequestScope.RequestScopeConfigurator(),
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); ManagedObjectsFinalizer finalizer = serverBag.getManagedObjectsFinalizer(); // TODO: Do we need to register DEFAULT Executor and ScheduledExecutor to InjectionManager? ScheduledExecutorServiceProvider defaultScheduledExecutorProvider = new DefaultBackgroundSchedulerProvider(); InstanceBinding<ScheduledExecutorServiceProvider> schedulerBinding = Bindings .service(defaultScheduledExecutorProvider) .to(ScheduledExecutorServiceProvider.class) .qualifiedBy(BackgroundSchedulerLiteral.INSTANCE); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider); ExecutorServiceProvider defaultAsyncExecutorProvider = new DefaultManagedAsyncExecutorProvider(); InstanceBinding<ExecutorServiceProvider> executorBinding = Bindings .service(defaultAsyncExecutorProvider) .to(ExecutorServiceProvider.class); injectionManager.register(executorBinding); finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); registerExecutors(injectionManager, componentBag, defaultAsyncExecutorProvider, defaultScheduledExecutorProvider); }
@Override public void onShutdown(final Container container) { try { for (final ContainerLifecycleListener listener : containerLifecycleListeners) { listener.onShutdown(container); } } finally { try { // Call @PreDestroy method on Application. injectionManager.preDestroy(ResourceConfig.unwrapApplication(application)); } finally { // Shutdown ServiceLocator. // Takes care of the injected executors & schedulers shut-down too. managedObjectsFinalizer.preDestroy(); injectionManager.shutdown(); } } } }
bootstrapBag.setManagedObjectsFinalizer(new ManagedObjectsFinalizer(injectionManager)); List<BootstrapConfigurator> bootstrapConfigurators = Arrays.asList( new RequestScope.RequestScopeConfigurator(),
finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); .to(ScheduledExecutorServiceProvider.class); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider);
@Override public void onShutdown(final Container container) { try { for (final ContainerLifecycleListener listener : containerLifecycleListeners) { listener.onShutdown(container); } } finally { try { // Call @PreDestroy method on Application. injectionManager.preDestroy(ResourceConfig.unwrapApplication(application)); } finally { // Shutdown ServiceLocator. // Takes care of the injected executors & schedulers shut-down too. managedObjectsFinalizer.preDestroy(); injectionManager.shutdown(); } } } }
this.injectionManager = injectionManager; this.injectionManager.register(CompositeBinder.wrap(new ServerBinder(), customBinder)); this.managedObjectsFinalizer = new ManagedObjectsFinalizer(injectionManager);
finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); .to(ScheduledExecutorServiceProvider.class); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider);
@Override public void onShutdown(final Container container) { try { for (final ContainerLifecycleListener listener : containerLifecycleListeners) { listener.onShutdown(container); } } finally { try { // Call @PreDestroy method on Application. injectionManager.preDestroy(ResourceConfig.unwrapApplication(application)); } finally { // Shutdown ServiceLocator. // Takes care of the injected executors & schedulers shut-down too. managedObjectsFinalizer.preDestroy(); injectionManager.shutdown(); } } } }
this.injectionManager = injectionManager; this.injectionManager.register(CompositeBinder.wrap(new ServerBinder(), customBinder)); this.managedObjectsFinalizer = new ManagedObjectsFinalizer(injectionManager);
finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); .to(ScheduledExecutorServiceProvider.class); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider);