/** * @param springCtx Spring application context. */ public GridSpringResourceContextImpl(@Nullable ApplicationContext springCtx) { springCtxInjector = new GridResourceBasicInjector<>(springCtx); springBeanInjector = new GridResourceSpringBeanInjector(springCtx); }
/** * 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); }
/** * Creates resources processor. * * @param ctx Kernal context. */ public GridResourceProcessor(GridKernalContext ctx) { super(ctx); gridInjector = new GridResourceBasicInjector<>(ctx.grid()); ggHomeInjector = new GridResourceBasicInjector<>(ctx.config().getGridGainHome()); ggNameInjector = new GridResourceBasicInjector<>(ctx.config().getGridName()); locHostInjector = new GridResourceBasicInjector<>(ctx.config().getLocalHost()); mbeanSrvInjector = new GridResourceBasicInjector<>(ctx.config().getMBeanServer()); marshInjector = new GridResourceBasicInjector<>(ctx.config().getMarshaller()); execInjector = new GridResourceBasicInjector<Executor>(ctx.config().getExecutorService()); nodeIdInjector = new GridResourceBasicInjector<>(ctx.config().getNodeId()); logInjector = new GridResourceLoggerInjector(ctx.config().getGridLogger()); srvcInjector = new GridResourceServiceInjector(ctx.grid()); addrsRslvrInjector = new GridResourceBasicInjector<>(ctx.config().getAddressResolver()); }
/** * 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); }
ioc.inject(rsrc, GridLoggerResource.class, new GridResourceBasicInjector<>( log.getLogger(rsrcCls)), dep, depCls); ioc.inject(rsrc, GridInstanceResource.class, gridInjector, dep, depCls);