You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by jandeclercq <ja...@alsic.be> on 2011/06/17 15:48:21 UTC
Informix as persistence adapter is not working
Hey,
I'm using informix as persistence adapter. But it is not working. 80% of
the messages dissapear in the void.
My activemq.xml configuration:
<persistenceAdapter>
<jdbcPersistenceAdapter
dataDirectory="/opt/hms/HMSBroker/data/jdbcDB"
dataSource="#informix-ds"/>
</persistenceAdapter>
<bean id="informix-ds" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="com.informix.jdbc.IfxDriver"/>
<property name="url"
value="jdbc:informix-sqli://10.1.1.9:9088/activemq2:informixserver=HMSCDBTEST;user=informix;password=informix"/>
<property name="username" value="informix"/>
<property name="password" value="informix"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
This is the error that appears in the activemq.log:
2011-06-17 11:45:01,715 | WARN |
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter | Error while closing
connection: Could not insert new row into the table. |
java.sql.BatchUpdateException: Could not insert new row into the table.
at
com.informix.jdbc.IfxPreparedStatement.executeBatch(IfxPreparedStatement.java:3641)
at
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at
org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:103)
at
org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:81)
at
org.apache.activemq.store.jdbc.TransactionContext.close(TransactionContext.java:129)
at
org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:109)
at
org.apache.activemq.store.memory.MemoryTransactionStore.addMessage(MemoryTransactionStore.java:285)
at
org.apache.activemq.store.memory.MemoryTransactionStore$1.addMessage(MemoryTransactionStore.java:134)
at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:682)
at org.apache.activemq.broker.region.Queue.send(Queue.java:653)
at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:365)
at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:218)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
at java.lang.Thread.run(Thread.java:736)
2011-06-17 11:45:01,716 | ERROR | hms.broker.BrokerMessageListener | Message
could not be send! |
javax.jms.JMSException: Could not insert new row into the table.
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1295)
at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1760)
at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
at
org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
at
hms.broker.BrokerMessageListener.onMessage(BrokerMessageListener.java:491)
at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1230)
at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
at java.lang.Thread.run(Thread.java:736)
Caused by:
java.io.IOException: Could not insert new row into the table.
at
org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
at
org.apache.activemq.store.jdbc.TransactionContext.close(TransactionContext.java:138)
at
org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:109)
at
org.apache.activemq.store.memory.MemoryTransactionStore.addMessage(MemoryTransactionStore.java:285)
at
org.apache.activemq.store.memory.MemoryTransactionStore$1.addMessage(MemoryTransactionStore.java:134)
at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:682)
at org.apache.activemq.broker.region.Queue.send(Queue.java:653)
at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:365)
at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
at
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
at
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:218)
... 5 more
Caused by:
java.sql.BatchUpdateException: Could not insert new row into the table.
at
com.informix.jdbc.IfxPreparedStatement.executeBatch(IfxPreparedStatement.java:3641)
at
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at
org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:103)
at
org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:81)
at
org.apache.activemq.store.jdbc.TransactionContext.close(TransactionContext.java:129)
... 23 more
When I'm executing an insert in the tables via a transaction manually, it
works.
Is there anybody who has an idea where to start looking for a solution?
Thanks in advance.
Jan Declercq
--
View this message in context: http://activemq.2283324.n4.nabble.com/Informix-as-persistence-adapter-is-not-working-tp3605446p3605446.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: Informix as persistence adapter is not working
Posted by Dejan Bosanac <de...@nighttale.net>.
You shoudl start by looking at the log and seeing if Informix adapter is
properly recognized. If it is not, that could be a problem.
Regards
--
Dejan Bosanac - http://twitter.com/dejanb
-----------------
The experts in open source integration and messaging - http://fusesource.com
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net
On Fri, Jun 17, 2011 at 3:48 PM, jandeclercq <ja...@alsic.be> wrote:
> Hey,
>
>
> I'm using informix as persistence adapter. But it is not working. 80% of
> the messages dissapear in the void.
>
>
> My activemq.xml configuration:
>
>
>
> <persistenceAdapter>
> <jdbcPersistenceAdapter
> dataDirectory="/opt/hms/HMSBroker/data/jdbcDB"
> dataSource="#informix-ds"/>
> </persistenceAdapter>
>
>
>
>
> <bean id="informix-ds" class="org.apache.commons.dbcp.BasicDataSource"
> destroy-method="close">
> <property name="driverClassName"
> value="com.informix.jdbc.IfxDriver"/>
> <property name="url"
> value="jdbc:informix-sqli://
> 10.1.1.9:9088/activemq2:informixserver=HMSCDBTEST;user=informix;password=informix
> "/>
> <property name="username" value="informix"/>
> <property name="password" value="informix"/>
> <property name="maxActive" value="200"/>
> <property name="poolPreparedStatements" value="true"/>
> </bean>
>
>
> This is the error that appears in the activemq.log:
>
>
>
>
> 2011-06-17 11:45:01,715 | WARN |
> org.apache.activemq.store.jdbc.JDBCPersistenceAdapter | Error while closing
> connection: Could not insert new row into the table. |
> java.sql.BatchUpdateException: Could not insert new row into the table.
> at
>
> com.informix.jdbc.IfxPreparedStatement.executeBatch(IfxPreparedStatement.java:3641)
> at
>
> org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
> at
>
> org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
> at
>
> org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:103)
> at
>
> org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:81)
> at
>
> org.apache.activemq.store.jdbc.TransactionContext.close(TransactionContext.java:129)
> at
>
> org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:109)
> at
>
> org.apache.activemq.store.memory.MemoryTransactionStore.addMessage(MemoryTransactionStore.java:285)
> at
>
> org.apache.activemq.store.memory.MemoryTransactionStore$1.addMessage(MemoryTransactionStore.java:134)
> at
> org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:682)
> at org.apache.activemq.broker.region.Queue.send(Queue.java:653)
> at
>
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:365)
> at
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)
> at
> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
> at
>
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
> at
>
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
> at
>
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
> at
>
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
> at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
> at
>
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
> at
>
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
> at
>
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
> at
>
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
> at
> org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:218)
> at
>
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
> at java.lang.Thread.run(Thread.java:736)
> 2011-06-17 11:45:01,716 | ERROR | hms.broker.BrokerMessageListener |
> Message
> could not be send! |
> javax.jms.JMSException: Could not insert new row into the table.
> at
>
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
> at
>
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1295)
> at
> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1760)
> at
>
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
> at
>
> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
> at
> hms.broker.BrokerMessageListener.onMessage(BrokerMessageListener.java:491)
> at
>
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1230)
> at
>
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
> at
>
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
> at
>
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
> at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
> at java.lang.Thread.run(Thread.java:736)
> Caused by:
> java.io.IOException: Could not insert new row into the table.
> at
>
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
> at
>
> org.apache.activemq.store.jdbc.TransactionContext.close(TransactionContext.java:138)
> at
>
> org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:109)
> at
>
> org.apache.activemq.store.memory.MemoryTransactionStore.addMessage(MemoryTransactionStore.java:285)
> at
>
> org.apache.activemq.store.memory.MemoryTransactionStore$1.addMessage(MemoryTransactionStore.java:134)
> at
> org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:682)
> at org.apache.activemq.broker.region.Queue.send(Queue.java:653)
> at
>
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:365)
> at
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:523)
> at
> org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
> at
>
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
> at
>
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
> at
>
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
> at
>
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:458)
> at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:681)
> at
>
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
> at
>
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
> at
>
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
> at
>
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
> at
> org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:218)
> ... 5 more
> Caused by:
> java.sql.BatchUpdateException: Could not insert new row into the table.
> at
>
> com.informix.jdbc.IfxPreparedStatement.executeBatch(IfxPreparedStatement.java:3641)
> at
>
> org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
> at
>
> org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
> at
>
> org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:103)
> at
>
> org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:81)
> at
>
> org.apache.activemq.store.jdbc.TransactionContext.close(TransactionContext.java:129)
> ... 23 more
>
>
> When I'm executing an insert in the tables via a transaction manually, it
> works.
>
> Is there anybody who has an idea where to start looking for a solution?
>
>
> Thanks in advance.
>
>
>
> Jan Declercq
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Informix-as-persistence-adapter-is-not-working-tp3605446p3605446.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.