/** * Cleans up resources from given lifecycle beans. Essentially, this * method injects {@code null}s into lifecycle bean. * * @param lifecycleBean Lifecycle bean. * @throws GridException Thrown in case of any errors. */ public void cleanup(GridLifecycleBean lifecycleBean) throws GridException { if (log.isDebugEnabled()) log.debug("Cleaning up resources: " + lifecycleBean); // Unwrap Proxy object. Object obj = unwrapTarget(lifecycleBean); // Caching key is null for the life-cycle beans. ioc.inject(obj, GridLoggerResource.class, nullInjector, null, null); ioc.inject(obj, GridServiceResource.class, nullInjector, null, null); ioc.inject(obj, GridExecutorServiceResource.class, nullInjector, null, null); ioc.inject(obj, GridLocalNodeIdResource.class, nullInjector, null, null); ioc.inject(obj, GridLocalHostResource.class, nullInjector, null, null); ioc.inject(obj, GridMBeanServerResource.class, nullInjector, null, null); ioc.inject(obj, GridHomeResource.class, nullInjector, null, null); ioc.inject(obj, GridNameResource.class, nullInjector, null, null); ioc.inject(obj, GridMarshallerResource.class, nullInjector, null, null); ioc.inject(obj, GridSpringApplicationContextResource.class, nullInjector, null, null); ioc.inject(obj, GridSpringResource.class, nullInjector, null, null); ioc.inject(obj, GridInstanceResource.class, nullInjector, null, null); }
/** * Injects held resources into given lifecycle bean. * * @param lifecycleBean Lifecycle bean. * @throws GridException Thrown in case of any errors. */ public void inject(GridLifecycleBean lifecycleBean) throws GridException { if (log.isDebugEnabled()) log.debug("Injecting resources: " + lifecycleBean); // Unwrap Proxy object. Object obj = unwrapTarget(lifecycleBean); // No deployment for lifecycle beans. ioc.inject(obj, GridExecutorServiceResource.class, execInjector, null, null); ioc.inject(obj, GridLocalNodeIdResource.class, nodeIdInjector, null, null); ioc.inject(obj, GridLocalHostResource.class, locHostInjector, null, null); ioc.inject(obj, GridMBeanServerResource.class, mbeanSrvInjector, null, null); ioc.inject(obj, GridHomeResource.class, ggHomeInjector, null, null); ioc.inject(obj, GridNameResource.class, ggNameInjector, null, null); ioc.inject(obj, GridMarshallerResource.class, marshInjector, null, null); ioc.inject(obj, GridSpringApplicationContextResource.class, springCtxInjector, null, null); ioc.inject(obj, GridSpringResource.class, springBeanInjector, null, null); ioc.inject(obj, GridInstanceResource.class, gridInjector, null, null); ioc.inject(obj, GridLoggerResource.class, logInjector, null, null); ioc.inject(obj, GridServiceResource.class, srvcInjector, null, null); }
/** * Cleans up resources from given service. Essentially, this * method injects {@code null}s into service bean. * * @param svc Service. * @throws GridException Thrown in case of any errors. */ public void cleanup(GridService svc) throws GridException { if (log.isDebugEnabled()) log.debug("Cleaning up resources: " + svc); // Unwrap Proxy object. Object obj = unwrapTarget(svc); // Caching key is null for the life-cycle beans. ioc.inject(obj, GridLoggerResource.class, nullInjector, null, null); ioc.inject(obj, GridServiceResource.class, nullInjector, null, null); ioc.inject(obj, GridExecutorServiceResource.class, nullInjector, null, null); ioc.inject(obj, GridLocalNodeIdResource.class, nullInjector, null, null); ioc.inject(obj, GridLocalHostResource.class, nullInjector, null, null); ioc.inject(obj, GridMBeanServerResource.class, nullInjector, null, null); ioc.inject(obj, GridHomeResource.class, nullInjector, null, null); ioc.inject(obj, GridNameResource.class, nullInjector, null, null); ioc.inject(obj, GridMarshallerResource.class, nullInjector, null, null); ioc.inject(obj, GridSpringApplicationContextResource.class, nullInjector, null, null); ioc.inject(obj, GridSpringResource.class, nullInjector, null, null); ioc.inject(obj, GridInstanceResource.class, nullInjector, null, null); }
/** * @param obj Object to inject. * @throws GridException If failed to inject. */ public void injectGeneric(Object obj) throws GridException { assert obj != null; if (log.isDebugEnabled()) log.debug("Injecting resources: " + obj); // Unwrap Proxy object. obj = unwrapTarget(obj); // No deployment for lifecycle beans. ioc.inject(obj, GridExecutorServiceResource.class, execInjector, null, null); ioc.inject(obj, GridLocalNodeIdResource.class, nodeIdInjector, null, null); ioc.inject(obj, GridLocalHostResource.class, locHostInjector, null, null); ioc.inject(obj, GridMBeanServerResource.class, mbeanSrvInjector, null, null); ioc.inject(obj, GridHomeResource.class, ggHomeInjector, null, null); ioc.inject(obj, GridNameResource.class, ggNameInjector, null, null); ioc.inject(obj, GridMarshallerResource.class, marshInjector, null, null); ioc.inject(obj, GridSpringApplicationContextResource.class, springCtxInjector, null, null); ioc.inject(obj, GridSpringResource.class, springBeanInjector, null, null); ioc.inject(obj, GridInstanceResource.class, gridInjector, null, null); ioc.inject(obj, GridLoggerResource.class, logInjector, null, null); ioc.inject(obj, GridServiceResource.class, srvcInjector, null, null); }
/** * Injects resources into generic class. * * @param dep Deployment. * @param depCls Deployed class. * @param target Target instance to inject into. * @throws GridException Thrown in case of any errors. */ public void inject(GridDeployment dep, Class<?> depCls, Object target) throws GridException { if (log.isDebugEnabled()) log.debug("Injecting resources: " + target); // Unwrap Proxy object. target = unwrapTarget(target); ioc.inject(target, GridInstanceResource.class, gridInjector, dep, depCls); ioc.inject(target, GridExecutorServiceResource.class, execInjector, dep, depCls); ioc.inject(target, GridLocalNodeIdResource.class, nodeIdInjector, dep, depCls); ioc.inject(target, GridLocalHostResource.class, locHostInjector, dep, depCls); ioc.inject(target, GridMBeanServerResource.class, mbeanSrvInjector, dep, depCls); ioc.inject(target, GridHomeResource.class, ggHomeInjector, dep, depCls); ioc.inject(target, GridNameResource.class, ggNameInjector, dep, depCls); ioc.inject(target, GridMarshallerResource.class, marshInjector, dep, depCls); ioc.inject(target, GridSpringApplicationContextResource.class, springCtxInjector, dep, depCls); ioc.inject(target, GridSpringResource.class, springBeanInjector, dep, depCls); ioc.inject(target, GridLoggerResource.class, logInjector, dep, depCls); ioc.inject(target, GridServiceResource.class, srvcInjector, dep, depCls); // Inject users resource. ioc.inject(target, GridUserResource.class, customInjector, dep, depCls); }
/** * @param obj Object. * @throws GridException If failed. */ public void cleanupGeneric(Object obj) throws GridException { if (obj != null) { if (log.isDebugEnabled()) log.debug("Cleaning up resources: " + obj); // Unwrap Proxy object. obj = unwrapTarget(obj); // Caching key is null for the life-cycle beans. ioc.inject(obj, GridLoggerResource.class, nullInjector, null, null); ioc.inject(obj, GridServiceResource.class, nullInjector, null, null); ioc.inject(obj, GridExecutorServiceResource.class, nullInjector, null, null); ioc.inject(obj, GridLocalNodeIdResource.class, nullInjector, null, null); ioc.inject(obj, GridLocalHostResource.class, locHostInjector, null, null); ioc.inject(obj, GridMBeanServerResource.class, nullInjector, null, null); ioc.inject(obj, GridHomeResource.class, nullInjector, null, null); ioc.inject(obj, GridNameResource.class, nullInjector, null, null); ioc.inject(obj, GridMarshallerResource.class, nullInjector, null, null); ioc.inject(obj, GridSpringApplicationContextResource.class, nullInjector, null, null); ioc.inject(obj, GridSpringResource.class, nullInjector, null, null); ioc.inject(obj, GridInstanceResource.class, nullInjector, null, null); } }
/** * Injects held resources into given SPI implementation. * * @param spi SPI implementation. * @throws GridException Throw in case of any errors. */ public void inject(GridSpi spi) throws GridException { if (log.isDebugEnabled()) log.debug("Injecting resources: " + spi); // Unwrap Proxy object. Object obj = unwrapTarget(spi); // Caching key is null for the SPIs. ioc.inject(obj, GridExecutorServiceResource.class, execInjector, null, null); ioc.inject(obj, GridLocalNodeIdResource.class, nodeIdInjector, null, null); ioc.inject(obj, GridLocalHostResource.class, locHostInjector, null, null); ioc.inject(obj, GridMBeanServerResource.class, mbeanSrvInjector, null, null); ioc.inject(obj, GridHomeResource.class, ggHomeInjector, null, null); ioc.inject(obj, GridNameResource.class, ggNameInjector, null, null); ioc.inject(obj, GridMarshallerResource.class, marshInjector, null, null); ioc.inject(obj, GridSpringApplicationContextResource.class, springCtxInjector, null, null); ioc.inject(obj, GridSpringResource.class, springBeanInjector, null, null); ioc.inject(obj, GridLoggerResource.class, logInjector, null, null); ioc.inject(obj, GridServiceResource.class, srvcInjector, null, null); ioc.inject(obj, GridAddressResolverResource.class, addrsRslvrInjector, null, null); }
/** * Cleans up resources from given SPI implementation. Essentially, this * method injects {@code null}s into SPI implementation. * * @param spi SPI implementation. * @throws GridException Thrown in case of any errors. */ public void cleanup(GridSpi spi) throws GridException { if (log.isDebugEnabled()) log.debug("Cleaning up resources: " + spi); // Unwrap Proxy object. Object obj = unwrapTarget(spi); ioc.inject(obj, GridLoggerResource.class, nullInjector, null, null); ioc.inject(obj, GridServiceResource.class, nullInjector, null, null); ioc.inject(obj, GridExecutorServiceResource.class, nullInjector, null, null); ioc.inject(obj, GridLocalNodeIdResource.class, nullInjector, null, null); ioc.inject(obj, GridLocalHostResource.class, nullInjector, null, null); ioc.inject(obj, GridMBeanServerResource.class, nullInjector, null, null); ioc.inject(obj, GridHomeResource.class, nullInjector, null, null); ioc.inject(obj, GridNameResource.class, nullInjector, null, null); ioc.inject(obj, GridMarshallerResource.class, nullInjector, null, null); ioc.inject(obj, GridSpringApplicationContextResource.class, nullInjector, null, null); ioc.inject(obj, GridSpringResource.class, nullInjector, null, null); ioc.inject(obj, GridAddressResolverResource.class, nullInjector, null, null); }
/** * Injects resources into service. * * @param svc Service to inject. * @throws GridException If failed. */ public void inject(GridService svc) throws GridException { if (log.isDebugEnabled()) log.debug("Injecting resources: " + svc); // Unwrap Proxy object. Object obj = unwrapTarget(svc); // No deployment for lifecycle beans. ioc.inject(obj, GridExecutorServiceResource.class, execInjector, null, null); ioc.inject(obj, GridLocalNodeIdResource.class, nodeIdInjector, null, null); ioc.inject(obj, GridLocalHostResource.class, locHostInjector, null, null); ioc.inject(obj, GridMBeanServerResource.class, mbeanSrvInjector, null, null); ioc.inject(obj, GridHomeResource.class, ggHomeInjector, null, null); ioc.inject(obj, GridNameResource.class, ggNameInjector, null, null); ioc.inject(obj, GridMarshallerResource.class, marshInjector, null, null); ioc.inject(obj, GridSpringApplicationContextResource.class, springCtxInjector, null, null); ioc.inject(obj, GridSpringResource.class, springBeanInjector, null, null); ioc.inject(obj, GridInstanceResource.class, gridInjector, null, null); ioc.inject(obj, GridLoggerResource.class, logInjector, null, null); ioc.inject(obj, GridServiceResource.class, srvcInjector, null, null); }
injectBasicResource(job, GridTaskSessionResource.class, ses, dep, taskCls); else if (annCls == GridJobContextResource.class) ioc.inject(job, GridJobContextResource.class, new GridResourceJobContextInjector(jobCtx), dep, taskCls); else if (annCls == GridInstanceResource.class) ioc.inject(job, GridInstanceResource.class, gridInjector, dep, taskCls); else if (annCls == GridExecutorServiceResource.class) ioc.inject(job, GridExecutorServiceResource.class, execInjector, dep, taskCls); else if (annCls == GridLocalNodeIdResource.class) ioc.inject(job, GridLocalNodeIdResource.class, nodeIdInjector, dep, taskCls); else if (annCls == GridLocalHostResource.class) ioc.inject(job, GridLocalHostResource.class, locHostInjector, dep, taskCls); else if (annCls == GridMBeanServerResource.class) ioc.inject(job, GridMBeanServerResource.class, mbeanSrvInjector, dep, taskCls); else if (annCls == GridHomeResource.class) ioc.inject(job, GridHomeResource.class, ggHomeInjector, dep, taskCls); else if (annCls == GridNameResource.class) ioc.inject(job, GridNameResource.class, ggNameInjector, dep, taskCls); else if (annCls == GridMarshallerResource.class) ioc.inject(job, GridMarshallerResource.class, marshInjector, dep, taskCls); else if (annCls == GridSpringApplicationContextResource.class) ioc.inject(job, GridSpringApplicationContextResource.class, springCtxInjector, dep, taskCls); else if (annCls == GridSpringResource.class) ioc.inject(job, GridSpringResource.class, springBeanInjector, dep, taskCls); else if (annCls == GridLoggerResource.class) ioc.inject(job, GridLoggerResource.class, logInjector, dep, taskCls); else if (annCls == GridServiceResource.class) ioc.inject(job, GridServiceResource.class, srvcInjector, dep, taskCls); else {
/** * This method is declared public as it is used from tests as well. * Note, that this method can be used only with unwrapped objects * (see {@link #unwrapTarget(Object)}). * * @param target Target object. * @param annCls Setter annotation. * @param rsrc Resource to inject. * @throws GridException If injection failed. */ public void injectBasicResource(Object target, Class<? extends Annotation> annCls, Object rsrc) throws GridException { // Safety. assert !(rsrc instanceof GridResourceInjector) : "Invalid injection."; // Basic injection don't cache anything. Use null as a key. ioc.inject(target, annCls, new GridResourceBasicInjector<>(rsrc), null, null); }
/** * This method is declared public as it is used from tests as well. * Note, that this method can be used only with unwrapped objects * (see {@link #unwrapTarget(Object)}). * * @param target Target object. * @param annCls Setter annotation. * @param rsrc Resource to inject. * @param dep Deployment. * @param depCls Deployed class. * @throws GridException If injection failed. */ public void injectBasicResource(Object target, Class<? extends Annotation> annCls, Object rsrc, GridDeployment dep, Class<?> depCls) throws GridException { // Safety. assert !(rsrc instanceof GridResourceInjector) : "Invalid injection."; // Basic injection don't cache anything. Use null as a key. ioc.inject(target, annCls, new GridResourceBasicInjector<>(rsrc), dep, depCls); }
injectBasicResource(obj, GridTaskContinuousMapperResource.class, mapper, dep, taskCls); else if (annCls == GridInstanceResource.class) ioc.inject(obj, GridInstanceResource.class, gridInjector, dep, taskCls); else if (annCls == GridExecutorServiceResource.class) ioc.inject(obj, GridExecutorServiceResource.class, execInjector, dep, taskCls); else if (annCls == GridLocalNodeIdResource.class) ioc.inject(obj, GridLocalNodeIdResource.class, nodeIdInjector, dep, taskCls); else if (annCls == GridLocalHostResource.class) ioc.inject(obj, GridLocalHostResource.class, locHostInjector, dep, taskCls); else if (annCls == GridMBeanServerResource.class) ioc.inject(obj, GridMBeanServerResource.class, mbeanSrvInjector, dep, taskCls); else if (annCls == GridHomeResource.class) ioc.inject(obj, GridHomeResource.class, ggHomeInjector, dep, taskCls); else if (annCls == GridNameResource.class) ioc.inject(obj, GridNameResource.class, ggNameInjector, dep, taskCls); else if (annCls == GridMarshallerResource.class) ioc.inject(obj, GridMarshallerResource.class, marshInjector, dep, taskCls); else if (annCls == GridSpringApplicationContextResource.class) ioc.inject(obj, GridSpringApplicationContextResource.class, springCtxInjector, dep, taskCls); else if (annCls == GridSpringResource.class) ioc.inject(obj, GridSpringResource.class, springBeanInjector, dep, taskCls); else if (annCls == GridLoggerResource.class) ioc.inject(obj, GridLoggerResource.class, logInjector, dep, taskCls); else if (annCls == GridServiceResource.class) ioc.inject(obj, GridServiceResource.class, srvcInjector, dep, taskCls); else { assert annCls == GridUserResource.class; ioc.inject(obj, GridUserResource.class, customInjector, dep, taskCls);
ioc.inject(rsrc, GridLoggerResource.class, new GridResourceBasicInjector<>( log.getLogger(rsrcCls)), dep, depCls); ioc.inject(rsrc, GridInstanceResource.class, gridInjector, dep, depCls); ioc.inject(rsrc, GridExecutorServiceResource.class, execInjector, dep, depCls); ioc.inject(rsrc, GridLocalNodeIdResource.class, nodeIdInjector, dep, depCls); ioc.inject(rsrc, GridMBeanServerResource.class, mbeanServerInjector, dep, depCls); ioc.inject(rsrc, GridHomeResource.class, ggHomeInjector, dep, depCls); ioc.inject(rsrc, GridNameResource.class, ggNameInjector, dep, depCls); ioc.inject(rsrc, GridMarshallerResource.class, marshallerInjector, dep, depCls); ioc.inject(rsrc, GridSpringApplicationContextResource.class, springCtxInjector, dep, depCls); ioc.inject(rsrc, GridSpringResource.class, springBeanInjector, dep, depCls); ioc.inject(rsrc, GridLoggerResource.class, logInjector, dep, depCls); ioc.inject(rsrc, GridServiceResource.class, srvcInjector, dep, depCls);
/** * Cleanup object where resources was injected before. * * @param rsrc Object where resources should be cleaned. * @param annCls Annotation. */ private void cleanup(CachedResource rsrc, Class<? extends Annotation> annCls) { try { ioc.inject(rsrc.getResource(), annCls, nullInjector, null, null); } catch (GridException e) { U.error(log, "Failed to clean up resource [ann=" + annCls + ", rsrc=" + rsrc + ']', e); } }
/** * Injects cache name into given object. * * @param obj Object. * @param cacheName Cache name to inject. * @throws GridException If failed to inject. */ public void injectCacheName(Object obj, String cacheName) throws GridException { assert obj != null; if (log.isDebugEnabled()) log.debug("Injecting cache name: " + obj); // Unwrap Proxy object. obj = unwrapTarget(obj); ioc.inject(obj, GridCacheNameResource.class, new GridResourceBasicInjector<>(cacheName), null, null); }