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. > > -- Regards, Hiram Blog: http://hiramchirino.com Open Source SOA http://open.iona.com