/** * delegation of serialization behavior */ public <T> T readExternal(final Bean<T> bean, final ObjectInput out) throws IOException, ClassNotFoundException { return (T) ((ResourceBean) bean).getActualInstance(); }
/** * 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 protected <X> ResourceBean<T, R> createBean(InjectionTargetBean<X> owner, Class<T> beanClass) { return new ResourceBean<T, R>( owner, resourceRef, beanAttributes, beanClass, new ResourceProducerFactory( !Dependent.class.equals(beanAttributes.getScope()), owner, new ResourceProvider<>(resourceRef, owner.getWebBeansContext()), beanClass, owner.getWebBeansContext(), annotatedMember, resourceRef)); } }
for (final Bean<?> bean : appContext.getWebBeansContext().getBeanManagerImpl().getBeans()) { if (ResourceBean.class.isInstance(bean)) { final ResourceReference reference = ResourceBean.class.cast(bean).getReference(); String jndi = reference.getJndiName().replace("java:", ""); if (reference.getJndiName().startsWith("java:/")) {
= new ResourceBeanBuilder<>(bean, resourceRef, annotatedField, processBeanAttributes.getAttributes()); ResourceBean<T, Annotation> resourceBean = resourceBeanCreator.getBean(); resourceBean.setProducerField(field); producerBeans.add(resourceBean); webBeansContext.getWebBeansUtil().setBeanEnableFlagForProducerBean(bean, resourceBean, anns);
/** * delegation of serialization behavior */ public <T> T readExternal(Bean<T> bean, ObjectInput out) throws IOException, ClassNotFoundException { return (T) ((ResourceBean)bean).getActualInstance(); }
/** * delegation of serialization behavior */ public <T> T readExternal(final Bean<T> bean, final ObjectInput out) throws IOException, ClassNotFoundException { return (T) ((ResourceBean) bean).getActualInstance(); }
/** * delegation of serialization behavior */ @Override public <T> T readExternal(Bean<T> bean, ObjectInput in) throws IOException, ClassNotFoundException { T actualResource = null; // default behavior actualResource = (T) in.readObject(); if (actualResource instanceof javax.rmi.CORBA.Stub) { // for remote ejb stub, reconnect after deserialization. org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(new String[0], null); ((javax.rmi.CORBA.Stub)actualResource).connect(orb); } else if (actualResource.equals(DUMMY_STRING)) { actualResource = (T) ((ResourceBean)bean).getActualInstance(); } return actualResource; }
actualResource = (T) ((ResourceBean)bean).getActualInstance();