this might not be related to the pool, but the fact that statements and resultsets are not closed.

the error comes directly from Oracle,

Filip

Hiram Chirino wrote:
could you try using the C3P0 [1] connection pooling instead of the
default commons logging pooling.  Some folks have reported better luck
using it.

Just add the c3p0 jar to the lib dir and add spring bean similar to
the following (this a mysql example)

  <bean id="mysql-ds"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
    <property name="jdbcUrl" value="jdbc:mysql://localhost/activemq"/>
    <property name="user" value="user"/>
    <property name="password" value="password"/>
    <property name="minPoolSize" value="6"/>
    <property name="maxPoolSize" value="18"/>
    <property name="acquireIncrement" value="3"/>
    <property name="idleConnectionTestPeriod" value="60"/>
  </bean>

[1] http://sourceforge.net/projects/c3p0


On Sun, May 11, 2008 at 10:57 PM, cauchy <[EMAIL PROTECTED]> wrote:
Hi everybody!
I used Oracle 9 as persistence storage with out journal.After ran the
ProducerAndConsumerTool.java in exmple pakage of ActiveMQ 5.0 for a while
,the Exception occured:
Caught: javax.jms.JMSException: ORA-00020: maximum number of processes (150)
exceeded

javax.jms.JMSException: ORA-00020: maximum number of processes (150)
exceeded

       at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
       at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1178)
       at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1640)
       at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:226)
       at
org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:240)
       at test3.ProducerTool.sendLoop(ProducerTool.java:143)
       at test3.ProducerTool.run(ProducerTool.java:108)
       at test3.ProducerAndConsumerTool.main(ProducerAndConsumerTool.java:52)
Caused by: java.io.IOException: ORA-00020: maximum number of processes (150)
exceeded

       at
org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
       at
org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:61)
       at
org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doAddMessage(DefaultJDBCAdapter.java:172)
       at
org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:69)
       at
org.apache.activemq.store.memory.MemoryTransactionStore.addMessage(MemoryTransactionStore.java:229)
       at
org.apache.activemq.store.memory.MemoryTransactionStore$2.addMessage(MemoryTransactionStore.java:129)
       at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:400)
       at org.apache.activemq.broker.region.Topic.send(Topic.java:371)
       at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:328)
       at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:402)
       at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
       at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:125)
       at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
       at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
       at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:434)
       at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:623)
       at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281)
       at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
       at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
       at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:134)
       at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:138)
       at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
       at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:185)
       at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:172)
       at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLException: ORA-00020: maximum number of processes
(150) exceeded

       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
       at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
       at oracle.jdbc.ttc7.O3log.receive1st(O3log.java:408)
       at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:260)
       at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:365)
       at
oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:547)
       at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:347)
       at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
       at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
       at
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:771)
       at
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
       at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:544)
       at
org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:54)
       ... 23 more

So what's this prolem and how to fix it?

--
View this message in context: 
http://www.nabble.com/ORA-00020%3A-maximum-number-of-processes-%28150%29-exceeded-tp17180724s2354p17180724.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.






Reply via email to