Validation *is* done by *InjectionServices. However, the JpaInjectionServices SPI is built with the following assumption of types:
@PersistenceContext -> EntityManager @PersistenceUnit -> EntityManagerFactory which seems as a reasonable assumption given that e.g. @PersistenceContext Javadoc says that: "Expresses a dependency on a container-managed *EntityManager*" All the other validation is left for the service implementation. For the other *InjectionServices, no validation (even the type) is performed by Weld. HTH, Jozef On 01/22/2015 02:35 PM, Robert Marcano wrote: > I have noticed that all *InjectionServices javadoc say that those > implementations should do the required injection point validations. for > example JpaInjectionServices > > "Register a persistence context injection point. The implementation > validates the injection point ..." > > But for some reason if a JpaInjectionServices implementation is > registered, an internal validation is triggered > > "WELD-001517: The type of the resource producer field > [[BackedAnnotatedField] @PersistenceContext private > com.example.TestBean.session] does not match the resource type interface > javax.persistence.EntityManager" See [1] > > This field class is an Hibernate session, Wildfly support injecting that > using @PersistentContext [2], but this validations is blocking me to do > the same in a mock test environment I am coding. I am not sure how > Wildfly inject it with Weld or if they skip Weld injecting JPA instances > because of this. Why this validation is harcoded on Weld, when for > example EjbInjectionServices doesn't force any predefined validation? > > Shouldn't it be removed and leave that validation to the > JpaInjectionServices implementation as the javadoc say it is its > responsibility?. > > > [1] > https://github.com/weld/core/blob/master/impl/src/main/java/org/jboss/weld/injection/ResourceInjectionFactory.java#L306 > [2] > https://docs.jboss.org/author/display/WFLY8/JPA+Reference+Guide#JPAReferenceGuide-InjectionofHibernateSessionandSessionFactoryInjectionofHibernateSessionandSessionFactory > _______________________________________________ > weld-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/weld-dev _______________________________________________ weld-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/weld-dev
