1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Vraptor 4 abrindo sessions fora da thread principal

Estou criando um aplicação web asyncrona usando Vraptor e estou tendo problemas para salvar objetos no banco de dados através das threads. Cada thread tem que fazer uma requisição e armazenar o resultado no banco de dados. As sessões estão sendo criadas pelo Vraptor e funcionam normalmente durante a execução na thread principal. O problema acontece quando as threads tentam armazenar os resultados no banco de dados mostrando o seguinte erro:

Exception in thread "Thread-2" org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped
    at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:680)
    at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79)
    at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99)
    at org.jboss.weld.proxies.Serializable$Session$SharedSessionContract$1794845451$Proxy$_$$_WeldClientProxy.get(Unknown Source)

Tentei injetar os beans manualmente nas threads, alterar o escopo das seções mas até agora não tive sucesso.

  • Você pode postar o código que faz a requisição? você está usando algum HTTP Client nas Threads?

    peron   31 de mar de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags vraptor threads ou faça a sua própria pergunta.