You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by cauchy <fu...@yahoo.com.cn> on 2008/05/12 04:57:27 UTC
ORA-00020: maximum number of processes (150) exceeded
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.
Re: ORA-00020: maximum number of processes (150) exceeded
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
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 <fu...@yahoo.com.cn> 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.
>>
>>
>>
>
>
>
>
Re: ORA-00020: maximum number of processes (150) exceeded
Posted by Hiram Chirino <hi...@hiramchirino.com>.
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 <fu...@yahoo.com.cn> 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