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 <jan.decle...@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.