@Override protected T produce(Map<Interceptor<?>, ?> interceptors, CreationalContextImpl<T> creationalContext) { if (!isStatic) { return super.produce(interceptors, creationalContext); } return (T) webBeansContext.getService(ResourceInjectionService.class).getResourceReference(ref); } }
/** * Called after deserialization to get a new instance for some type of resource bean instance that are * not serializable. * * TODO: broken if producer is wrapped but surely better than actually serializing * * @return a new instance of this resource bean. */ public X getActualInstance() { ResourceInjectionService resourceService = getWebBeansContext().getService(ResourceInjectionService.class); X instance = resourceService.getResourceReference(resourceReference); return instance; }
@Override public T get() { if (webBeansContext == null) { webBeansContext = WebBeansContext.currentInstance(); } try { ResourceInjectionService resourceService = webBeansContext.getService(ResourceInjectionService.class); return resourceService.getResourceReference(resourceReference); } catch (Exception e) { throw new WebBeansException(e); } }