[OC4J] Internal Server Error

Este forum é destinado a perguntas relacionadas a Oracle, mas que não se enquadram nos forums acima. Aqui serão tratadas também sobre outras tecnologias da oracle, como o Workflow, BPEL, Spatial, OCS, etc.
Responder
bruno_cobra
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qua, 14 Jul 2010 10:18 am
Localização: Lajeado - RS

Pessoal,

Possuo uma aplicação para geração de relatórios que está hospedada num servidor OC4J. Tudo funciona perfeitamente, à exceção de um relatório que demora em torno de 15 minutos para gerar (devido a sua complexidade e à quantidade de dados retornada pela consulta).

O problema com este relatório é que, após determinado tempo de processamento da requisição (em torno de 10 minutos), a página apresenta o erro "500 Internal Server Error". No entanto, o processo continua ativo e termina normalmente "por baixo dos panos". Eu posso afirmar isso pois a geração do relatório é feita através de um Servlet que grava um arquivo PDF no servidor. Ou seja, mesmo que ocorra o erro na página, o relatório acaba ficando salvo no servidor. Infelizmente, isso não me basta, pois não posso ter este erro.

Alguma ideia do que fazer? Já tentei configurar o ping como informa no seguinte link da documentação oficial (e também não funcionou): http://download.oracle.com/docs/cd/B145 ... m#BDCBEDDA

Qualquer ideia já será muito bem vinda. Obrigado.
Obs.: além do erro, não é gerado absolutamente nada em nenhum arquivo de log.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

fale mais da sua aplicação.. linguagem..

você já olhou o log do seu oc4j? o que diz?

o relatorio está compilado.. tudo direitinho?

pelo q você ta falando ta rolando um timeout.. pode ser que o tempo de sessão inativo esteja estourando por causa da sua query pesada
bruno_cobra
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qua, 14 Jul 2010 10:18 am
Localização: Lajeado - RS

Boa tarde, Victor Hugo.

A aplicação é feita em Java e possui Servlets para geração de relatórios Jasper e BIRT. É uma aplicação bastante simples.

Sobre logs, como eu disse no primeiro post, não é mostrado absolutamente nada em nenhum arquivo. Ao menos em todos os que conheço e pesquisei, não encontrei nenhuma informação que ocorre no momento do "estouro".

Sobre o relatório, ele está 100% certo. Eu sei disso porque, de acordo com determinados parâmetros informados pelo usuário no momento de gerar o relatório, a geração dele ocorre em menos tempo e, nestes casos, tudo ocorre normalmente. O problema é com qualquer parâmetro que faça o relatório demorar mais de 10 minutos.

Sobre a query, ela também não é problema porque, como falei no primeiro post, o processo termina normalmente e o relatório é gerado corretamente no servidor. Realmente ocorre algum timeout pelo OC4J e a página para, mas não o processo de criação do PDF.

Saberias me dizer como configurar o tempo de sessão inativo que citaste? Obrigado pela ajuda.[/b]
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

bom..

um parametro especifico que faz a query demorar logo a aplicação java não "aguarda" o resultado da query então o erro 500 é apresentado

o log não log nada.. (isso é configuravel.. talvez você possa aumentar o detalhamento de erro e dai va aparecer algo).. me diga quais arquivos e diretorios completos você buscou pelos arquivos de log..

a configuração q te falei fica no web.xml ou pode ser feita via codigo tambem..

Selecionar tudo

<!-- (1) -->
<session-config>
<session-timeout>-1</session-timeout>
</session-config>

// (2) ou no código java: 
session.setMaxInactiveInterval(-1)
onde -1 = nunca expirar

você já debugou a sua aplicação? com certeza vai te ajudar muito.. penso que pode até resolver você alterando o tempo de vida da sessao porem debugar a aplicação sera essencial
bruno_cobra
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qua, 14 Jul 2010 10:18 am
Localização: Lajeado - RS

Sobre a sessão, pensei que estivesse se referindo a algo do servidor, não da aplicação.
A sessão da aplicação já estava configurada para 30 minutos e, de qualquer forma, isso não interfere no meu caso porque a aplicação é uma "geral" de relatórios e, sendo assim, não necessita de login. É só chamar a aplicação, informando o nome do relatório e os parâmetros, e o relatório é gerado na tela.

Sobre o log, a configuração é o padrão do OC4J versão 10.1.3.1. Já verifiquei todos os arquivos de log gerados dentro das pastas OPMN/logs e INSTANCIA_MINHA_APLICACA/logs. Não há nada sobre o timeout...

Mais uma vez obrigado por tentar ajudar. Qualquer outra coisa que possa ajudar, favor avisar.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes