Estou tentando utilizar o VRaptorRequestHolder na aplicação mas estou recebendo NullPointerException ao executar o comando VRaptorRequestHolder.currentRequest() não sei o que pode ser, o Bean que estou utlizando para chamar está anotado com
Você não precisa da anotação do spring, se você estiver usando o VRaptor 3.3.x. Na última versão você pode usar esse componente nos componentes do spring sem problema…
Pode ser que com a anotação do Spring ele crie outra instância do mesmo componente, só que no escopo singleton, e você esteja usando esse componente num contexto fora do request.
o VRaptorRequestHolder usa threadlocal pra controlar a request, se o componente rodar em outra thread pode dar null pointer também…
tente receber o request diretamente como dependência, marcando-o como scoped-proxy
@Component
@SessionScoped
//não coloque o @Component do spring
public class SuaClasse {
public SuaClasse(HttpServletRequest request) {
this.request = request;
}
}
se isso não funcionar, pq o componente é session scoped, tente fazer isso:
@Component
@SessionScoped
//não coloque o @Component do spring
public class SuaClasse {
@Scope(proxyMode=ScopeProxyMode.INTERFACES)
public void setRequest(HttpServletRequest request) {
this.request = request;
}
}