[Resolvido][VRaptor] java.net.SocketException: Connection reset by peer: socket write error

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… :frowning:

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.