Description
When the JMS Bridges get a start() command and the foreign endpoint is down, the bridge prints a stacktrace and goes on. The bridge never connects.
2010-02-23 18:17:27,437 ERROR JmsQueueConnector init - Failed to initialize the JMSConnector
oracle.jms.AQjmsException: I/O Exception: The Network Adapter could not establish the connection
at oracle.jms.AQjmsDBConnMgr.checkForSecurityException(AQjmsDBConnMgr.java:934)
at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:609)
at oracle.jms.AQjmsDBConnMgr.<init>(AQjmsDBConnMgr.java:243)
at oracle.jms.AQjmsConnection.<init>(AQjmsConnection.java:185)
at oracle.jms.AQjmsQueueConnectionFactory.createQueueConnection(AQjmsQueueConnectionFactory.java:224)
at org.apache.activemq.network.jms.JmsQueueConnector.initializeForeignQueueConnection(JmsQueueConnector.java:225)
at org.apache.activemq.network.jms.JmsQueueConnector.init(JmsQueueConnector.java:55)
at org.apache.activemq.network.jms.JmsConnector.start(JmsConnector.java:117)
at org.apache.activemq.broker.BrokerService.startAllConnectors(BrokerService.java:1941)
at org.apache.activemq.broker.BrokerService.start(BrokerService.java:471)
at org.test.EmbeddedBroker.main(EmbeddedBroker.java:48)
Caused by: java.sql.SQLRecoverableException: I/O Exception: The Network Adapter could not establish the connection
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:458)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:465)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:575)
... 9 more
2010-02-23 18:17:27,453 INFO JmsConnector start - JMS Connector Connector:0 Started
in JMSQueueConnector.java:
@Override
public boolean init() {
boolean result = super.init();
if (result) {
try
catch (Exception e)
{ LOG.error("Failed to initialize the JMSConnector", e); } }
return result;
}
I need a solution for this and I would not mind to do some work on it.
Should the DestinationBridge get a maintainance thread to keep care of reconnecting later? Should we have a callback to inform the client about a failing bridge (case of embedded broker)?
Please give me some suggestions how a fix could look like and I fix it.
Thanks
juergen
Attachments
Issue Links
- depends upon
-
AMQ-2455 Need a facility to retry jms connections to a foreign provider by the ActiveMQ JMS bridge.
- Resolved