faz um teste: tira o NoCache…Interceptor (só comenta a @Intercepts) e veja se funciona…
Agora ele não dá mais aquela exception, mas executa o método duas vezes…
Um fato interessante: TODOS os métodos dos controllers estão sendo executados duas vezes…
bizarro hein?
de qqer forma, o NoCache…Interceptor só precisa passar em requisições GET… em POST o browser já não cacheia por padrão.
tenta ver se não é algo na view que tá fazendo mais de uma request.
Como assim mais de um request? Eu coloquei um breakpoint em um método que é acessado por um não tem como esse cara fazer 2 requisições…
Eu acho que pode ser algum interceptor meu fazendo stack.next(); desnecessariamente…
Eu não consigo encontrar esse problema…
Ele está executando os interceptors 2 vezes também…
Só que agora acontece o seguinte: Ele redireciona para o listCustomer() e mostra a mensagem de que deu certo.
Mas quando eu entro em qualquer tela, ele me mostra a mensagem de que não foi possível adicionar. Ou seja, ele executou duas vezes, deu HException por causa do campo unique, executou o service.modal. Mas na hora de mostrar na primeira vez, ele mostra a primeira modal, na segunda, ele mostra a segunda modal.
Está ficando confuso demais… :?
Ele está caindo aqui e manda um stack.next(); ai executa o método pela segunda vez…
public void execute(InterceptorStack stack, ResourceMethod method, Object resourceInstance)
throws InterceptionException {
Interceptor interceptor = container.instanceFor(type);
if (interceptor == null) {
throw new InterceptionException("Unable to instantiate interceptor for " + type.getName()
+ ": the container returned null.");
}
if (interceptor.accepts(method)) {
logger.debug("Invoking interceptor {}", interceptor.getClass().getSimpleName());
interceptor.intercept(stack, method, resourceInstance);
} else {
stack.next(method, resourceInstance);// aqui.
}
}
Mas isso é certo, preciso saber quem está chamando esse cara duas vezes…
acontece a mesma coisa no Firefox?
Não… No firefox fica certinho. Executa 1 vez só… todos os métodos.
Consegui resolver o problema das requisições dobradas. Era um JS estragando a minha vida… Descuido total…
Quanto à exception, ela foi resolvida assim que eu setei o NoCacheInterceptor somente para requisições get.