Pregunta

JSR-299 (CDI) introduce el concepto (mal llamada) de un recurso: http://docs.jboss.org/weld/reference/1.0.0/en-US/html/resources.html#d0e4373

Se puede pensar en un recurso en esta nomenclatura como un puente entre la marca de Java EE 6 de inyección de dependencias (@EJB, @Resource, @PersistenceContext y similares) y la marca de la inyección de dependencia de CDI.

La esencia general parece ser que en algún lugar (y esto va a ser la raíz de mi pregunta) se declara lo que equivale a una clase de puente: contiene campos anotados ambos con @EJB de Java EE o @PersistenceContext o @Resource anotaciones y con anotaciones @Produces de CDI. El efecto neto es que Java EE 6 inyecta un contexto de persistencia, por ejemplo, donde se pidió, y CDI reconoce que inyecta PersistenceContext como fuente para futuras inyecciones por la línea (manejado por @Inject).

Mi pregunta es: ¿cuál es el consenso de la comunidad - o hay uno - a:

  • lo que esta clase de puente debe denominarse
  • donde esta clase de puente debe vivir
  • si se trata de la mejor manera de localizar todo esto en una clase o hacer varias de ellas

...

De izquierda a mis propios dispositivos, yo estaba pensando en declarar una sola clase llamada CDIResources y usar eso como el único y verdadero lugar para Link DI de Java EE con DI de CDI. Muchos ejemplos hacen algo similar, pero no me queda claro de si son "sólo" ejemplos o si eso es una buena manera de hacerlo.

Gracias.

¿Fue útil?

Solución

Esto parece muy subjetiva pero I prefieren hacer varias clases y I FooProducer llamada de una clase produciendo una Foo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top