Spring + Vraptor

7 respostas
F

Bom dia Amigos, gostaria de saber se alguem poderia me ajudar.

Tenho duas classes (uma controlada pelo vraptor e outra não) conforme abaixo:

@Component
@SessionScoped
public class SessaoUsuario{
...
}

e public class ErroRepository{ ... }

Eu gostaria saber como faço para injetar a SessaoUsuario na ErroRepository. para pegar alguns objetos da sessao para salvar em banco.

Obs.: O restante do fluxo já está ok. Só preciso fazer a injeção

Abraço

7 Respostas

Lucas_Cavalcanti

se não é um componente, vc não consegue usar o VRaptor para fazer a injeção de dependências…

como vc tá usando o ErrorRepository?

F

Boa tarde Lucas, obrigado pela resposta.

O ErroRepository é uma classe usada para eu montar um objeto para salvar no banco. Eu preciso passar para esta classe o HTTPServletRequest e o SessaoUsuario para poder popular e salvar.

Eu sei que não dá pra fazer com o vraptor se nao for controlado por ele. Eu gostaria de fazer a injeção com o Spring. Mas não sei como.

Lucas_Cavalcanti

vc pode receber os objetos na classe que dá new no ErroRepository, e passar as dependências manualmente

F

Essa é minha duvida: Se tem como fazer isso sem usar parametros, neste caso usando o Spring.

Att,

Lucas_Cavalcanti

o que vc quer é fazer um lookup de um bean a partir de algum lugar aleatório? algum motivo forte pra fazer isso?

até dá pra fazer mas é meio gambiarra

F

Nos queremos pegar os dados que estão na sessão do usuário como: Login, IP e outros dados para salvar no log de erros.

Quando nos lançamos uma exceção no sistema por exemplo:

throw new ErroConexaoWS("informação do erro")

Esta chamada sera direcionada para a erroRepository que é responsável em salvar todos os log’s do sistema.
Não seria interessante para nos alterarmos todo o sistema para incluirmos por exemplo:

throw new ErroConexaoWS("informação do erro", sessaoUsuario);

Minha dúvida e se tem como fazer isso por injeção para não ter que alterar em todas as chamadas de exception no sistema. Visto que as classes de erro não são gerenciadas pelo VRaptor.

Lucas_Cavalcanti

quem trata essa exception? é uma classe só? se sim, é só fazer ela receber as dependências

Criado 28 de setembro de 2011
Ultima resposta 28 de set. de 2011
Respostas 7
Participantes 2