[RESOLVIDO] Problema para usar Quartz com JPA  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
fernando.camargo
JavaTeenager

Membro desde: 05/08/2011 20:53:04
Mensagens: 156
Offline

Bom dia,

Estou tendo o seguinte problema: preciso usar um entityManager dentro de um Job do Quartz.
Injetar com @PersistenceContext não funciona, pois o Job é instanciado pelo framework do Quartz e não pelo container.
Pesquisei bastante, mas não encontrei algum lugar que mostrasse como fazer isso.
Alguém tem alguma sugestão de como passar um entityManager para o meu Job? Talvez haja alguma solução com aquele JobDataMap ou algo do tipo, mas eu preciso de alguma forma de usar JPA dentro do Job.

Agradeço desde já qualquer ajuda.

This message was edited 1 time. Last update was at 03/01/2012 09:46:51


Fernando Camargo
Graduando em Engenharia de Computação - UFG (7° período)
Estagiário em Desenvolvimento da Supera Tecnologia
Blog: http://fernandocamargoti.blogspot.com/
LinkedIn: http://br.linkedin.com/pub/fernando-camargo/26/21/286
Twitter: http://twitter.com/#!/fernandosst
Facebook: http://www.facebook.com/profile.php?id=100001958196379

Deseja mais facilidade nas compras? Experimente Eagle Lista de Compras para Android: http://goo.gl/PL7gI
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

fernando.camargo wrote:Bom dia,

Estou tendo o seguinte problema: preciso usar um entityManager dentro de um Job do Quartz.
Injetar com @PersistenceContext não funciona, pois o Job é instanciado pelo framework do Quartz e não pelo container.
Pesquisei bastante, mas não encontrei algum lugar que mostrasse como fazer isso.
Alguém tem alguma sugestão de como passar um entityManager para o meu Job? Talvez haja alguma solução com aquele JobDataMap ou algo do tipo, mas eu preciso de alguma forma de usar JPA dentro do Job.

Agradeço desde já qualquer ajuda.



Acredito que se você usar com Spring, você consegue injetar (via @Autowired ou algo assim).

[]'s

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

fernando.camargo
JavaTeenager

Membro desde: 05/08/2011 20:53:04
Mensagens: 156
Offline

Estou usando EJB na minha aplicação.

Encontrei uma forma de resolver. Passei o EntityManagerFactory via JobDataMap e o recuperei no Job, criando o EntityManager através dele. Esse EntityManagerFactory eu peguei via @PersistenceUnit.

Segue o código, caso alguém tenha o mesmo problema:




Fernando Camargo
Graduando em Engenharia de Computação - UFG (7° período)
Estagiário em Desenvolvimento da Supera Tecnologia
Blog: http://fernandocamargoti.blogspot.com/
LinkedIn: http://br.linkedin.com/pub/fernando-camargo/26/21/286
Twitter: http://twitter.com/#!/fernandosst
Facebook: http://www.facebook.com/profile.php?id=100001958196379

Deseja mais facilidade nas compras? Experimente Eagle Lista de Compras para Android: http://goo.gl/PL7gI
dcorteztec
JavaTeenager
[Avatar]

Membro desde: 14/05/2009 11:25:22
Mensagens: 186
Localização: Rio de janeiro
Offline

uma dúvida fernando vc usou alguma anotação @stateless no job, porq é exatamente o msm problema que estou tendo, segui o que vc falou mas não esta encontrando
o @PersistenceUnit
no caso eu fiz assim


erro:



O método que é chamado ele só faz uma query por ser demorada achei melhor, fazer ela rodar de madrugada

This message was edited 1 time. Last update was at 18/01/2012 09:17:41


Conheço pessoas que são tão pobres mas tão pobres, que a unica coisa que eles tem é dinheiro.



[Email] [WWW]
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team