You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Leandro Augusto de Almeida <le...@gmail.com> on 2007/10/31 17:46:14 UTC
ActiveMQ 4.1.1 - Queue - Oracle 9.2 - Network Adapter could not establish the connection
Hi all,
I am testing the ActiveMQ version 4.1.1 with persistence store
configured for Oracle 9.2.0.6.
The test is a simple loop for sending 10.000 messages to one queue.
I didn't use journal. The messages are stored directly to Oracle database.
Below the message error is the configuration used.
I am getting this error:
Exceção de E/S: The Network Adapter could not establish the connection
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1181)
at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1551)
at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:465)
at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:356)
at br.com.ebiz.sender.Sender.send(Sender.java:59)
at br.com.ebiz.sender.Sender.main(Sender.java:26)
Caused by: java.io.IOException: Exceção de E/S: The Network Adapter
could not establish the connection
at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:43)
at org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:62)
at org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doAddMessage(DefaultJDBCAdapter.java:165)
at org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:69)
at org.apache.activemq.store.memory.MemoryTransactionStore.addMessage(MemoryTransactionStore.java:224)
at org.apache.activemq.store.memory.MemoryTransactionStore$1.addMessage(MemoryTransactionStore.java:117)
at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:333)
at org.apache.activemq.broker.region.Queue.send(Queue.java:326)
at org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:292)
at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:382)
at org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:193)
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
at org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:98)
at org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:136)
at org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:498)
at org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:604)
at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:133)
at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Exceção de E/S: The Network Adapter
could not establish the connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3668)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:353)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:371)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:551)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:351)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:169)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:105)
at org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:55)
... 22 more
Configuration:
The adapter parameter i put later, but didn´t make effect.
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="./activemq-data"
dataSource="#meu-oracle-ds" adapter="#oracle-adapter"/>
</persistenceAdapter>
<transportConnectors>
<transportConnector name="tcp" uri="tcp://localhost:61616"/>
</transportConnectors>
<bean id="oracle-adapter"
class="org.apache.activemq.store.jdbc.adapter.OracleJDBCAdapter">
<property name="batchStatments" value="true"/>
</bean>
<bean id="meu-oracle-ds" class="oracle.jdbc.pool.OracleDataSource"
destroy-method="close">
<property name="URL" value="jdbc:oracle:thin:@IP:1521:SID"/>
<property name="user" value="USER****"/>
<property name="password" value="******"/>
</bean>
I tried with DBCP too. But got the same error
<bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@222222:1521:xxxx"/>
<property name="username" value="****"/>
<property name="password" value="****"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
the code:
Context jndiContext =
ContextHelperFactory.createContextHelper().getMQContext();
ConnectionFactory connectionFactory =
(ConnectionFactory)jndiContext.lookup("MyQueueConnectionFactory");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = (Destination)jndiContext.lookup("INBOX");
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
for (int i=0; i<qtdMessages; i++) {
TextMessage jmsMessage = session.createTextMessage();
jmsMessage.setText("xxxx " + i);
producer.send(jmsMessage);
if (i%100 == 0) {
System.out.print(".");
}
}
producer.close();
session.close();
connection.close();
I changed the mq broker to other version (5.0-20071025.034820-35), but
with no success.
I read a message in this list about this error; but no reply with
solution. (thread: Re: Oracle XE) (date: Wed, 05 Jul 2006 13:53:25
GMT).
Re: ActiveMQ 4.1.1 - Queue - Oracle 9.2 - Network Adapter could not
establish the connection
Posted by navneek <na...@gmail.com>.
Hi,
Evidently the problem may be the use of adapter="#oracle-adapter" in your
<persistentAdaptor>. Remove that and try again.
If you want to store message only in database than configuration of
dataDirectory too not required. I can suggest you to use the follwoing.
Since you are using DB for persistence add useDatabaseLock="true" in your
<jdbcPersistenceAdapter>.
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#meu-oracle-ds"
useDatabaseLock="true" />
</persistenceAdapter>
Thanks,
Navneeth.
Leandro Augusto de Almeida wrote:
>
> Hi all,
>
> I am testing the ActiveMQ version 4.1.1 with persistence store
> configured for Oracle 9.2.0.6.
> The test is a simple loop for sending 10.000 messages to one queue.
> I didn't use journal. The messages are stored directly to Oracle database.
>
> Below the message error is the configuration used.
>
> I am getting this error:
>
> Exceção de E/S: The Network Adapter could not establish the connection
> at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
> at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1181)
> at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1551)
> at
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:465)
> at
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:356)
> at br.com.ebiz.sender.Sender.send(Sender.java:59)
> at br.com.ebiz.sender.Sender.main(Sender.java:26)
> Caused by: java.io.IOException: Exceção de E/S: The Network Adapter
> could not establish the connection
> at
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:43)
> at
> org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:62)
> at
> org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doAddMessage(DefaultJDBCAdapter.java:165)
> at
> org.apache.activemq.store.jdbc.JDBCMessageStore.addMessage(JDBCMessageStore.java:69)
> at
> org.apache.activemq.store.memory.MemoryTransactionStore.addMessage(MemoryTransactionStore.java:224)
> at
> org.apache.activemq.store.memory.MemoryTransactionStore$1.addMessage(MemoryTransactionStore.java:117)
> at org.apache.activemq.broker.region.Queue.sendMessage(Queue.java:333)
> at org.apache.activemq.broker.region.Queue.send(Queue.java:326)
> at
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:292)
> at
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:382)
> at
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:193)
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:126)
> at
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:98)
> at
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:136)
> at
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:498)
> at
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:604)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
> at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
> at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:133)
> at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
> at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.sql.SQLException: Exceção de E/S: The Network Adapter
> could not establish the connection
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
> at
> oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3668)
> at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:353)
> at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:371)
> at
> oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:551)
> at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:351)
> at
> oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:169)
> at
> oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:105)
> at
> org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:55)
> ... 22 more
>
> Configuration:
>
> The adapter parameter i put later, but didn´t make effect.
>
> <persistenceAdapter>
> <jdbcPersistenceAdapter dataDirectory="./activemq-data"
> dataSource="#meu-oracle-ds" adapter="#oracle-adapter"/>
> </persistenceAdapter>
>
> <transportConnectors>
> <transportConnector name="tcp" uri="tcp://localhost:61616"/>
> </transportConnectors>
>
> <bean id="oracle-adapter"
> class="org.apache.activemq.store.jdbc.adapter.OracleJDBCAdapter">
> <property name="batchStatments" value="true"/>
> </bean>
>
> <bean id="meu-oracle-ds" class="oracle.jdbc.pool.OracleDataSource"
> destroy-method="close">
> <property name="URL" value="jdbc:oracle:thin:@IP:1521:SID"/>
> <property name="user" value="USER****"/>
> <property name="password" value="******"/>
> </bean>
>
> I tried with DBCP too. But got the same error
>
> <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
> destroy-method="close">
> <property name="driverClassName"
> value="oracle.jdbc.driver.OracleDriver"/>
> <property name="url" value="jdbc:oracle:thin:@222222:1521:xxxx"/>
> <property name="username" value="****"/>
> <property name="password" value="****"/>
> <property name="poolPreparedStatements" value="true"/>
> </bean>
>
> the code:
>
> Context jndiContext =
> ContextHelperFactory.createContextHelper().getMQContext();
>
> ConnectionFactory connectionFactory =
> (ConnectionFactory)jndiContext.lookup("MyQueueConnectionFactory");
>
> Connection connection = connectionFactory.createConnection();
>
> Session session = connection.createSession(false,
> Session.AUTO_ACKNOWLEDGE);
>
> Destination destination = (Destination)jndiContext.lookup("INBOX");
>
> MessageProducer producer = session.createProducer(destination);
>
> producer.setDeliveryMode(DeliveryMode.PERSISTENT);
>
> for (int i=0; i<qtdMessages; i++) {
> TextMessage jmsMessage = session.createTextMessage();
> jmsMessage.setText("xxxx " + i);
>
> producer.send(jmsMessage);
> if (i%100 == 0) {
> System.out.print(".");
> }
> }
>
> producer.close();
>
> session.close();
>
> connection.close();
>
>
> I changed the mq broker to other version (5.0-20071025.034820-35), but
> with no success.
>
> I read a message in this list about this error; but no reply with
> solution. (thread: Re: Oracle XE) (date: Wed, 05 Jul 2006 13:53:25
> GMT).
>
>
--
View this message in context: http://www.nabble.com/ActiveMQ-4.1.1---Queue---Oracle-9.2---Network-Adapter-could-not-establish-the-connection-tf4726337s2354.html#a13525440
Sent from the ActiveMQ - User mailing list archive at Nabble.com.