Silvio,

        O problema é bastante simples, o que está acontecendo não tem nada a ver
com o seu bean, e sim com o Oracle. O que acontece é que todo banco Oracle é
configurado para aceitar um número máximo de conexões simúltâneas (no seu
caso 150 conexões), ou seja, a partir deste número máximo todas as conexões
são rejeitadas.
        Para verificar isso acompanhe a execução do seu loop monitorando o Oracle
pelo Sql Plus (fazendo um "select count(*) from v$session") e você verá que
seu bean dará pau quando o select chegar a 150.
        O remédio é usar um pool de conexões. Você até pode aumentar o valor do
parâmetro que controla o número de conexões, mas poderá implicar em
problemas de licensiamento e performance do banco.

        Um abraço,

        Anderson M. C. de Souza

-----Mensagem original-----
De: Silvio Hohne [mailto:[EMAIL PROTECTED]]
Enviada em: terça-feira, 3 de abril de 2001 19:43
Para: [EMAIL PROTECTED]
Assunto: [java-list] jboss


Pessoal,

Comecei a estudar EJB utilizando o JBoss.

Fora aquela surra inicial que já era esperada estou encontrando um
probleminha.

Tenho um Entity Bean do tipo BMP que se chama Account (aquele do exemplo da
Sun com algumas modificações). A persistência é feita num banco Oracle.

O código do cliente é algo assim:


AccountHome home = (AccountHome)PortableRemoteObject.narrow(objref,
                    AccountHome.class);

for (int i=0; i<QUANTIDADE_OBJETOS; i++) {
   Account account = home.create("" + i, "Nome" + i,
                                 "Sobrenome" + i, i * 10.00);
   account.credit(100.07);
}


A finalidade deste código é criar varios beans Account no servidor.

Bem, quando coloco um número "baixo" para QUANTIDADE_OBJETOS ( < 10) tudo
funciona perfeitamente.

Quanto QUANTIDADE_OBJETOS é maior ( = 50)  o servidor JBoss reporta o
seguinte erro.


[Account] java.sql.SQLException: ORA-00020: maximum number of processes
(150) exceeded
[Account]
[Account]       at
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
[Account]       at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
[Account]       at oracle.jdbc.ttc7.O3log.receive1st(O3log.java:428)
[Account]       at
oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:248)
[Account]       at
oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:246)
[Account]       at
oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
[Account]       at
oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
[Account]       at
java.sql.DriverManager.getConnection(DriverManager.java:517)
[Account]       at
java.sql.DriverManager.getConnection(DriverManager.java:177)
[Account]       at
oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:111)
[Account]       at
oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(Oracle
ConnectionPoolDataSource.
java:107)
[Account]       at
oracle.jdbc.xa.client.OracleXADataSource.getXAConnection(OracleXADataSource.
java:88)
[Account]       at
org.jboss.minerva.factories.XAConnectionFactory.createObject(XAConnectionFac
tory.java:232)
[Account]       at
org.jboss.minerva.pools.ObjectPool.createNewObject(ObjectPool.java:801)
[Account]       at
org.jboss.minerva.pools.ObjectPool.getObject(ObjectPool.java:549)
[Account]       at
org.jboss.minerva.datasource.XAPoolDataSource.getConnection(XAPoolDataSource
.java:169)
[Account]       at
com.kepler.account.AccountEJB.getConnection(AccountEJB.java:231)
[Account]       at
com.kepler.account.AccountEJB.storeRow(AccountEJB.java:405)
[Account]       at
com.kepler.account.AccountEJB.ejbStore(AccountEJB.java:206)
[Account]       at java.lang.reflect.Method.invoke(Native Method)
[Account]       at
org.jboss.ejb.plugins.BMPPersistenceManager.storeEntity(BMPPersistenceManage
r.java:305)
[Account]       at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor$InstanceSynchronizati
on.beforeCompletion(Entit
ySynchronizationInterceptor.java:343)
[Account]       at
org.jboss.tm.TxCapsule.doBeforeCompletion(TxCapsule.java:1104)
[Account]       at org.jboss.tm.TxCapsule.commit(TxCapsule.java:278)
[Account]       at
org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:76)
[Account]       at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:318)
[Account]       at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
[Account]       at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:14
4)
[Account]       at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
[Account]       at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:323)
[Account]       at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:163)
[Account]       at java.lang.reflect.Method.invoke(Native Method)
[Account]       at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
[Account]       at sun.rmi.transport.Transport$1.run(Transport.java:142)
[Account]       at java.security.AccessController.doPrivileged(Native
Method)
[Account]       at
sun.rmi.transport.Transport.serviceCall(Transport.java:139)
[Account]       at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:443)
[Account]       at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:6
43)
[Account]       at java.lang.Thread.run(Thread.java:484)
[JMX RMI Adaptor] Stopping
[JMX RMI Adaptor] Stopped


Nâo entendi a mensagem de erro.

Alguem sabe oque pode estar errado ????

Valeu,


Silvio Hohne.
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.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]
-------------------------------------------------------------------------



------------------------------ 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