Pergunta

O JSR-299 (CDI) apresenta o conceito (infelizmente nomeado) de um recurso: http://docs.jboss.org/weld/reference/1.0.0/en-us/html/resources.html#d0e4373

Você pode pensar em um recurso nesta nomenclatura como uma ponte entre a marca Java EE 6 de injeção de dependência (@EJB, @Resource, @PersistencEcontext e similares) e a marca de injeção de dependência do CDI.

A GIST GERAL parece estar em algum lugar (e essa será a raiz da minha pergunta), você declara o que equivale a uma classe de ponte: ele contém campos anotados tanto com o @EJB de Java EE ou @persistenceContext ou @Resource Annotações e com @produces de CDI anotações. O efeito líquido é que o Java EE 6 injeta um contexto de persistência, digamos, onde é necessário, e o CDI reconhece que o PersistenceContext injetado como fonte de injeções futuras na linha (tratada por @Inject).

Minha pergunta é: qual é o consenso da comunidade-ou existe um-em:

  • O que esta aula de ponte deve ser nomeada
  • onde esta aula de ponte deve viver
  • se é melhor localizar todas essas coisas em uma classe ou fazer várias delas

...?

Deixado para meus próprios dispositivos, eu estava pensando em declarar uma única classe chamada CDIResources e usando isso como o único lugar verdadeiro para vincular o DI de Java EE ao DI do CDI. Muitos exemplos fazem algo semelhante, mas não estou claro se eles são exemplos "apenas" ou se é uma boa maneira de fazê -lo.

Obrigado.

Foi útil?

Solução

Isso parece altamente subjetivo, mas EU preferem fazer várias aulas e EU ligar FooProducer uma classe produzindo um Foo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top