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.