André,

Existe um bug relacionado ao problema, porém só ocorre
com o driver OCI (thick ou fat, como queira), e foi
corrigido na versao 9.0.1 .  Como voce está utilizando
o THIN driver, não parece o caso. Uma sugestão seria
baixar o driver JDBC do 9i (9.0.1) e fazer um teste.

Verifiquei que você está utilizando a sessão para
armazenar seus objetos. Armazenar um objeto na sessão
é extremamente custoso a nivel de memoria, pois um
objeto com 1k (medido com o writeObject()) poderá
atingir até 1Mb de memória quando armazenado no
Session. Faça um teste com uma aplicação "client" (um
main() já resolve) e verifique se ocorre o mesmo
problema.

Também pode estar ocorrendo o consumo máximo de
memória da sua JVM, verifique os parâmetros de
inicialização da JVM do seu webserver. Verifique
também a utilização de memória do processo da JVM com
uma ferramenta simples como o TaskManager do NT ou o
memstat/ps do UNIX.

[]s

Maiko


 --- André Yurion <[EMAIL PROTECTED]> escreveu: >
Pessoal,
> 
> Na empresa onde trabalho, estamos começando a testar
> os Object Types do Oracle sendo retornados por um 
> PL/SQL e estamos encontrando alguns problemas.
> 
> Temos o seguinte esquema:
>  - Criamos dois objetos no oracle
>    Object - Funcinario -> contém os dados do 
>             Funcionario
>    Object - ListaFuncionarios(que é uma coleção de 
>             objetos do tipo Funcionario, ou seja, um
> 
>             TABLE OF Funcionario);
>  - Temos uma PL/SQL que pede o departamento e
> devolve
>    a Lista de funcionarios do departamento;
>  - Geramos no Jdeveloper o JAVA correspondente aos 
>    Dois Objetos(Funcionarios.java e 
>    ListaFuncionarios.java);
>  - Criei um servlet que vai ao banco e executa a
> PL/SQL
>    via OracleCallableStatment passando por exemplo o
> valor
>       RH para a procedure.
> 
>       Pego o retorno da procedure com o método
> getOracleObject
>       e ele me retorna o Objeto ListaFuncionarios
>       já populado, o objeto gerado é colocado na sessão.
>       Quando executo o método length() do Objeto
>       ListaFuncionarios, ele retorna por exemplo 12
> Funcionarios
>       porém, quando tento referenciar qualquer atributo
> deste Objeto 
>       é gerado um OutOfMemoryErro. Estou fazendo esta
> operação da 
>       seguinte maneira:
>       ....
>       <%
>               ListaFuncionarios listaFuncionarios =
>                        
>
(ListaFuncionarios)session.getAttribute("ListaFuncionarios");
>               long totalFunctionarios =
> listaFuncionarios.length();
>               
>               for(int i = 0; i < totalFunctionarios; i++) {
>                       Funcionario funcionario =
> listaFuncionarios.getElement(i);
>                       //Neste momento ele gera o erro --
> OutOfMemoryErro 
>                       String nomeFuncionario = functionario.getNome(); 
> 
>                       out.println("Nome do Funcionario: " +
> nomeFunctionario);
>               }
>       %>
>       ...
>       
>    Por tiver alguma idéia do que está acontecendo
> por
> favor me dê uma luz..
>       Estamos utilizando:
>               Oracle 8.1.7 num solaris 
>               JDK1.3.1
>               Driver JDBC Oracle Thin(oracle12.zip)
>               
>    Desde já agradeço a atenção,
>       
>       André Yurion
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Make a great connection at Yahoo! Personals.
> http://personals.yahoo.com
> 
> ------------------------------ LISTA SOUJAVA
> ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usuários
> Java da Sucesu-SP 
> dúvidas mais comuns:
> http://www.soujava.org.br/faq.htm
> regras da lista:
> http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para
> [EMAIL PROTECTED] 
>
-------------------------------------------------------------------------
>  

_______________________________________________________________________________________________
Yahoo! GeoCities
Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo! GeoCities. É fácil 
e grátis!
http://br.geocities.yahoo.com/

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a