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.

Reply via email to