You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "juergen schmied (JIRA)" <ji...@apache.org> on 2010/02/23 20:26:40 UTC

[jira] Created: (AMQ-2624) JMS Bridges starting successful without a connection and never connect then

JMS Bridges starting successful without a connection and never connect then
---------------------------------------------------------------------------

                 Key: AMQ-2624
                 URL: https://issues.apache.org/activemq/browse/AMQ-2624
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.3.0
         Environment: dosn't mater
            Reporter: juergen schmied


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 {
                initializeForeignQueueConnection();
                initializeLocalQueueConnection();
                initializeInboundJmsMessageConvertor();
                initializeOutboundJmsMessageConvertor();
                initializeInboundQueueBridges();
                initializeOutboundQueueBridges();
            } 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



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (AMQ-2624) JMS Bridges starting successful without a connection and never connect then

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-2624.
-----------------------------

    Fix Version/s: 5.4.0
       Resolution: Fixed

This should be resolved by https://issues.apache.org/activemq/browse/AMQ-2455

> JMS Bridges starting successful without a connection and never connect then
> ---------------------------------------------------------------------------
>
>                 Key: AMQ-2624
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2624
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.0
>         Environment: dosn't mater
>            Reporter: juergen schmied
>             Fix For: 5.4.0
>
>
> 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 {
>                 initializeForeignQueueConnection();
>                 initializeLocalQueueConnection();
>                 initializeInboundJmsMessageConvertor();
>                 initializeOutboundJmsMessageConvertor();
>                 initializeInboundQueueBridges();
>                 initializeOutboundQueueBridges();
>             } 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

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira