Pessoal, estou desenvolvendo um aplicativo que importa informações através de web-services e realiza executa um processo com essas informações e persiste alguns dados no banco de dados. Estou utilizando JBoss AS 4.x + EJB 3 + JPA e um serviço de Scheduler do JBoss que executa o serviço de importação de hora em hora.
Para o web-service client estou utilizando JBoss WebServices com JAX-WS, os objetos persistentes (annotados com @Entity) estão um em um .jar (model.jar), e os objetos de acessos a dados (DAOs) estão em outro (dao.jar), isso porque esses mesmos daos e entities são utilizados em outras aplicações também, por isso estão prontos!
Meu problema é o seguinte dentro dos StatelessBeans preciso acessar a estes DAOs porém não os quero instanciar nem mesmo construir um DAOFactory, quero que esses beans sejam inseridos nos EBJs por IoC. Em outras aplicações usamos o SpringFramework para isso.
Pesquisei e encotrei as seguintes opções:
1 . Utilizar um cotainer como o SpringFramework ou Guice(Google).
Com o framework JBossSpringIntegration (http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossSpringIntegration), é possível integrar Spring + EJB3 + JBoss AS.
2. De alguma forma (sei lá como) inserir estes DAOs no contexto de JNDI e obtê-los nos EJBS com @Resource
3. Ignorar os DAOs e desistir dessa idéia maluca…
O que vocês sugerem que eu faça?