[hornetq-commits] JBoss hornetq SVN: r12130 - in trunk: hornetq-core/src/main/java/org/hornetq/core/client/impl and 19 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Feb 17 04:38:03 EST 2012


Author: ataylor
Date: 2012-02-17 04:38:02 -0500 (Fri, 17 Feb 2012)
New Revision: 12130

Modified:
   trunk/hornetq-core/src/main/java/org/hornetq/api/core/client/HornetQClient.java
   trunk/hornetq-core/src/main/java/org/hornetq/api/core/client/ServerLocator.java
   trunk/hornetq-core/src/main/java/org/hornetq/core/client/impl/ClientSessionFactoryImpl.java
   trunk/hornetq-core/src/main/java/org/hornetq/core/client/impl/ServerLocatorImpl.java
   trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/CoreRemotingConnection.java
   trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/impl/ChannelImpl.java
   trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/impl/RemotingConnectionImpl.java
   trunk/hornetq-core/src/main/resources/schema/hornetq-configuration.xsd
   trunk/hornetq-core/src/test/java/org/hornetq/tests/util/UnitTestCase.java
   trunk/hornetq-jms/src/main/java/org/hornetq/api/jms/management/ConnectionFactoryControl.java
   trunk/hornetq-jms/src/main/java/org/hornetq/api/jms/management/JMSServerControl.java
   trunk/hornetq-jms/src/main/java/org/hornetq/jms/client/HornetQConnectionFactory.java
   trunk/hornetq-jms/src/main/java/org/hornetq/jms/management/impl/JMSConnectionFactoryControlImpl.java
   trunk/hornetq-jms/src/main/java/org/hornetq/jms/management/impl/JMSServerControlImpl.java
   trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/JMSServerManager.java
   trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java
   trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java
   trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java
   trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/impl/JMSServerManagerImpl.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/ReplicatedPagedFailoverTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/FloodServerTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/PreACKJMSTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/ReSendMessageTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/SessionClosedOnRemotingConnectionFailureTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/TextMessageTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/divert/DivertAndACKClientTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java
   trunk/tests/integration-tests/src/test/java/org/hornetq/tests/util/JMSTestBase.java
   trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/CTSMiscellaneousTest.java
   trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/JMSTestCase.java
   trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/tools/container/LocalTestServer.java
Log:
HORNETQ-853 - add callFailoverTimeout

Modified: trunk/hornetq-core/src/main/java/org/hornetq/api/core/client/HornetQClient.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/api/core/client/HornetQClient.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/main/java/org/hornetq/api/core/client/HornetQClient.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -62,6 +62,8 @@
 
    public static final long DEFAULT_CALL_TIMEOUT = 30000;
 
+   public static final long DEFAULT_CALL_FAILOVER_TIMEOUT = -1;
+
    public static final int DEFAULT_ACK_BATCH_SIZE = 1024 * 1024;
 
    public static final boolean DEFAULT_PRE_ACKNOWLEDGE = false;

Modified: trunk/hornetq-core/src/main/java/org/hornetq/api/core/client/ServerLocator.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/api/core/client/ServerLocator.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/main/java/org/hornetq/api/core/client/ServerLocator.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -142,7 +142,26 @@
     */
    void setCallTimeout(long callTimeout);
 
+
    /**
+    * Returns the blocking calls failover timeout when the client is awaiting failover,
+    * this is over and above the normal call timeout.
+    * <p>
+    * If client is in the process of failing over when a blocking call is called then the client will wait this long before
+    * actually trying the send.
+    * @return the blocking calls failover timeout
+    */
+   long getCallFailoverTimeout();
+
+   /**
+    * Sets the blocking call failover timeout. when the client is awaiting failover,
+    * this is over and above the normal call timeout.
+    * <p>
+    * Value must be greater or equals to -1, -1 means forever
+    * @param callTimeout blocking call timeout in milliseconds
+    */
+   void setCallFailoverTimeout(long callFailoverTimeout);
+   /**
     * Returns the large message size threshold.
     * <p>
     * Messages whose size is if greater than this value will be handled as <em>large messages</em>.

Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/client/impl/ClientSessionFactoryImpl.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/client/impl/ClientSessionFactoryImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/client/impl/ClientSessionFactoryImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -106,6 +106,8 @@
 
    private final long callTimeout;
 
+   private final long callFailoverTimeout;
+
    private final long clientFailureCheckPeriod;
 
    private final long connectionTTL;
@@ -169,6 +171,7 @@
    public ClientSessionFactoryImpl(final ServerLocatorInternal serverLocator,
                                    final TransportConfiguration connectorConfig,
                                    final long callTimeout,
+                                   final long callFailoverTimeout,
                                    final long clientFailureCheckPeriod,
                                    final long connectionTTL,
                                    final long retryInterval,
@@ -192,6 +195,8 @@
 
       this.callTimeout = callTimeout;
 
+      this.callFailoverTimeout = callFailoverTimeout;
+
       this.clientFailureCheckPeriod = clientFailureCheckPeriod;
 
       this.connectionTTL = connectionTTL;
@@ -1271,7 +1276,7 @@
             return connection;
          }
 
-         connection = new RemotingConnectionImpl(tc, callTimeout, interceptors);
+         connection = new RemotingConnectionImpl(tc, callTimeout, callFailoverTimeout, interceptors);
 
          connection.addFailureListener(new DelegatingFailureListener(connection.getID()));
 

Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/client/impl/ServerLocatorImpl.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/client/impl/ServerLocatorImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/client/impl/ServerLocatorImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -121,6 +121,8 @@
 
    private long callTimeout;
 
+   private long callFailoverTimeout;
+
    private int minLargeMessageSize;
 
    private int consumerWindowSize;
@@ -645,6 +647,7 @@
       ClientSessionFactoryInternal factory = new ClientSessionFactoryImpl(this,
                                                                           transportConfiguration,
                                                                           callTimeout,
+                                                                          callFailoverTimeout,
                                                                           clientFailureCheckPeriod,
                                                                           connectionTTL,
                                                                           retryInterval,
@@ -732,6 +735,7 @@
                factory = new ClientSessionFactoryImpl(this,
                                                       tc,
                                                       callTimeout,
+                                                      callFailoverTimeout,
                                                       clientFailureCheckPeriod,
                                                       connectionTTL,
                                                       retryInterval,
@@ -859,6 +863,17 @@
       this.callTimeout = callTimeout;
    }
 
+   public long getCallFailoverTimeout()
+   {
+      return callFailoverTimeout;
+   }
+
+   public void setCallFailoverTimeout(long callFailoverTimeout)
+   {
+      checkWrite();
+      this.callFailoverTimeout = callFailoverTimeout;
+   }
+
    public int getMinLargeMessageSize()
    {
       return minLargeMessageSize;
@@ -1702,6 +1717,7 @@
             ClientSessionFactoryInternal factory = new ClientSessionFactoryImpl(ServerLocatorImpl.this,
                                                                                 initialConnector,
                                                                                 callTimeout,
+                                                                                callFailoverTimeout,
                                                                                 clientFailureCheckPeriod,
                                                                                 connectionTTL,
                                                                                 retryInterval,

Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/CoreRemotingConnection.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/CoreRemotingConnection.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/CoreRemotingConnection.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -91,6 +91,13 @@
    long getBlockingCallTimeout();
 
    /**
+    * Return the current timeout for blocking calls
+    *
+    * @return the timeout in milliseconds
+    */
+   long getBlockingCallFailoverTimeout();
+
+   /**
     * return the transfer lock used when transferring connections.
     *
     * @return the lock

Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/impl/ChannelImpl.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/impl/ChannelImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/impl/ChannelImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -219,7 +219,7 @@
 
          try
          {
-            while (failingOver)
+            if (failingOver)
             {
                // TODO - don't hardcode this timeout
                try
@@ -283,12 +283,18 @@
 
          try
          {
-            while (failingOver)
+            if (failingOver)
             {
-               // TODO - don't hardcode this timeout
                try
                {
-                  failoverCondition.await(10000, TimeUnit.MILLISECONDS);
+                  if(connection.getBlockingCallFailoverTimeout() < 0)
+                  {
+                     failoverCondition.await();
+                  }
+                  else
+                  {
+                     failoverCondition.await(connection.getBlockingCallFailoverTimeout(), TimeUnit.MILLISECONDS);
+                  }
                }
                catch (InterruptedException e)
                {

Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/impl/RemotingConnectionImpl.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/impl/RemotingConnectionImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/protocol/core/impl/RemotingConnectionImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -68,6 +68,8 @@
 
    private final long blockingCallTimeout;
 
+   private final long blockingCallFailoverTimeout;
+
    private final List<Interceptor> interceptors;
 
    private volatile boolean destroyed;
@@ -108,9 +110,10 @@
     */
    public RemotingConnectionImpl(final Connection transportConnection,
                                  final long blockingCallTimeout,
+                                 final long blockingCallFailoverTimeout,
                                  final List<Interceptor> interceptors)
    {
-      this(transportConnection, blockingCallTimeout, interceptors, true, null, null);
+      this(transportConnection, blockingCallTimeout, blockingCallFailoverTimeout, interceptors, true, null, null);
    }
 
    /*
@@ -122,11 +125,12 @@
                                  final SimpleString nodeID)
 
    {
-      this(transportConnection, -1, interceptors, false, executor, nodeID);
+      this(transportConnection, -1, -1, interceptors, false, executor, nodeID);
    }
 
    private RemotingConnectionImpl(final Connection transportConnection,
                                   final long blockingCallTimeout,
+                                  final long blockingCallFailoverTimeout,
                                   final List<Interceptor> interceptors,
                                   final boolean client,
                                   final Executor executor,
@@ -137,6 +141,8 @@
 
       this.blockingCallTimeout = blockingCallTimeout;
 
+      this.blockingCallFailoverTimeout = blockingCallFailoverTimeout;
+
       this.interceptors = interceptors;
 
       this.client = client;
@@ -435,6 +441,12 @@
       return blockingCallTimeout;
    }
 
+   @Override
+   public long getBlockingCallFailoverTimeout()
+   {
+      return blockingCallFailoverTimeout;
+   }
+
    public boolean checkDataReceived()
    {
       boolean res = dataReceived;

Modified: trunk/hornetq-core/src/main/resources/schema/hornetq-configuration.xsd
===================================================================
--- trunk/hornetq-core/src/main/resources/schema/hornetq-configuration.xsd	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/main/resources/schema/hornetq-configuration.xsd	2012-02-17 09:38:02 UTC (rev 12130)
@@ -370,6 +370,7 @@
 			<xsd:element maxOccurs="1" minOccurs="0" name="confirmation-window-size" type="xsd:int">
 			</xsd:element>
 			<xsd:element maxOccurs="1" minOccurs="0" name="call-timeout" type="xsd:long"/>
+			<xsd:element maxOccurs="1" minOccurs="0" name="call-failover-timeout" type="xsd:long"/>
 			<xsd:choice>
 				<xsd:element maxOccurs="1" minOccurs="0" name="static-connectors">
                     <xsd:complexType>

Modified: trunk/hornetq-core/src/test/java/org/hornetq/tests/util/UnitTestCase.java
===================================================================
--- trunk/hornetq-core/src/test/java/org/hornetq/tests/util/UnitTestCase.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-core/src/test/java/org/hornetq/tests/util/UnitTestCase.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -1561,6 +1561,7 @@
             locators.add(locator);
          }
       }
+     // locator.setCallFailoverTimeout(5000);
       return locator;
    }
 

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/api/jms/management/ConnectionFactoryControl.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/api/jms/management/ConnectionFactoryControl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/api/jms/management/ConnectionFactoryControl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -88,6 +88,15 @@
    void setCallTimeout(long callTimeout);
 
    /**
+    * @see ServerLocator#getCallFailoverTimeout()
+    */
+   long getCallFailoverTimeout();
+   /**
+    * @see ServerLocator#setCallFailoverTimeout(long)
+    */
+
+   void setCallFailoverTimeout(long callTimeout);
+   /**
     * Returns the batch size (in bytes) between acknowledgements when using DUPS_OK_ACKNOWLEDGE
     * mode.
     * @see ServerLocator#getAckBatchSize()

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/api/jms/management/JMSServerControl.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/api/jms/management/JMSServerControl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/api/jms/management/JMSServerControl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -138,8 +138,7 @@
     * {@code liveConnectorsTransportClassNames}  are the class names 
     * of the {@link ConnectorFactory} to connect to the live servers
     * and {@code liveConnectorTransportParams}  are Map&lt;String, Object&gt; for the corresponding {@link TransportConfiguration}'s parameters.
-    * 
-    * @see ClientSessionFactory#setStaticConnectors(java.util.List)
+    *
     */
    void createConnectionFactory(String name,
                                 boolean ha,
@@ -173,6 +172,7 @@
                                 @Parameter(name = "clientFailureCheckPeriod", desc = "clientFailureCheckPeriod") long clientFailureCheckPeriod,
                                 @Parameter(name = "connectionTTL", desc = "connectionTTL") long connectionTTL,
                                 @Parameter(name = "callTimeout", desc = "callTimeout") long callTimeout,
+                                @Parameter(name = "callFailoverTimeout", desc = "callFailoverTimeout") long callFailoverTimeout,
                                 @Parameter(name = "minLargeMessageSize", desc = "minLargeMessageSize") int minLargeMessageSize,
                                 @Parameter(name = "compressLargeMessages", desc = "compressLargeMessages") boolean compressLargeMessages,
                                 @Parameter(name = "consumerWindowSize", desc = "consumerWindowSize") int consumerWindowSize,
@@ -210,6 +210,7 @@
                                 @Parameter(name = "clientFailureCheckPeriod", desc = "clientFailureCheckPeriod") long clientFailureCheckPeriod,
                                 @Parameter(name = "connectionTTL", desc = "connectionTTL") long connectionTTL,
                                 @Parameter(name = "callTimeout", desc = "callTimeout") long callTimeout,
+                                @Parameter(name = "callFailoverTimeout", desc = "callFailoverTimeout") long callFailoverTimeout,
                                 @Parameter(name = "minLargeMessageSize", desc = "minLargeMessageSize") int minLargeMessageSize,
                                 @Parameter(name = "compressLargeMessages", desc = "compressLargeMessages") boolean compressLargeMessages,
                                 @Parameter(name = "consumerWindowSize", desc = "consumerWindowSize") int consumerWindowSize,

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/jms/client/HornetQConnectionFactory.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/jms/client/HornetQConnectionFactory.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/jms/client/HornetQConnectionFactory.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -272,6 +272,17 @@
       serverLocator.setCallTimeout(callTimeout);
    }
 
+   public synchronized long getCallFailoverTimeout()
+   {
+      return serverLocator.getCallFailoverTimeout();
+   }
+
+   public synchronized void setCallFailoverTimeout(final long callTimeout)
+   {
+      checkWrite();
+      serverLocator.setCallFailoverTimeout(callTimeout);
+   }
+
    public synchronized int getConsumerWindowSize()
    {
       return serverLocator.getConsumerWindowSize();

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/jms/management/impl/JMSConnectionFactoryControlImpl.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/jms/management/impl/JMSConnectionFactoryControlImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/jms/management/impl/JMSConnectionFactoryControlImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -138,6 +138,12 @@
       recreateCF();
    }
 
+   public void setCallFailoverTimeout(long callTimeout)
+   {
+      cfConfig.setCallFailoverTimeout(callTimeout);
+      recreateCF();
+   }
+
    public void setConsumerWindowSize(int consumerWindowSize)
    {
       cfConfig.setConsumerWindowSize(consumerWindowSize);
@@ -335,6 +341,11 @@
       return cfConfig.getCallTimeout();
    }
 
+   public long getCallFailoverTimeout()
+   {
+      return cfConfig.getCallFailoverTimeout();
+   }
+
    public int getConsumerMaxRate()
    {
       return cfConfig.getConsumerMaxRate();

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/jms/management/impl/JMSServerControlImpl.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/jms/management/impl/JMSServerControlImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/jms/management/impl/JMSServerControlImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -224,6 +224,7 @@
                                        long clientFailureCheckPeriod,
                                        long connectionTTL,
                                        long callTimeout,
+                                       long callFailoverTimeout,
                                        int minLargeMessageSize,
                                        boolean compressLargeMessages,
                                        int consumerWindowSize,
@@ -259,6 +260,7 @@
                               clientFailureCheckPeriod,
                               connectionTTL,
                               callTimeout,
+                              callFailoverTimeout,
                               minLargeMessageSize,
                               compressLargeMessages,
                               consumerWindowSize,
@@ -298,6 +300,7 @@
                                        long clientFailureCheckPeriod,
                                        long connectionTTL,
                                        long callTimeout,
+                                       long callFailoverTimeout,
                                        int minLargeMessageSize,
                                        boolean compressLargeMessages,
                                        int consumerWindowSize,
@@ -350,6 +353,7 @@
          configuration.setClientFailureCheckPeriod(clientFailureCheckPeriod);
          configuration.setConnectionTTL(connectionTTL);
          configuration.setCallTimeout(callTimeout);
+         configuration.setCallFailoverTimeout(callFailoverTimeout);
          configuration.setMinLargeMessageSize(minLargeMessageSize);
          configuration.setCompressLargeMessages(compressLargeMessages);
          configuration.setConsumerWindowSize(consumerWindowSize);

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/JMSServerManager.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/JMSServerManager.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/JMSServerManager.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -70,8 +70,8 @@
     * 
     * @param topicName
     *           the name of the topic
-    * @param binding
-    *           the name of the binding for JNDI or BindingRegistry
+    * @param bindings
+    *           the names of the binding for JNDI or BindingRegistry
     * @return true if the topic was created or if it existed and was added to
     *         JNDI
     * @throws Exception
@@ -179,6 +179,7 @@
                                 long clientFailureCheckPeriod,
                                 long connectionTTL,
                                 long callTimeout,
+                                long callFailoverTimeout,
                                 boolean cacheLargeMessagesClient,
                                 int minLargeMessageSize,
                                 boolean compressLargeMessage,
@@ -214,6 +215,7 @@
                                 long clientFailureCheckPeriod,
                                 long connectionTTL,
                                 long callTimeout,
+                                long callFailoverTimeout,
                                 boolean cacheLargeMessagesClient,
                                 int minLargeMessageSize,
                                 boolean compressLargeMessages,

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -64,6 +64,10 @@
 
    void setCallTimeout(long callTimeout);
 
+   long getCallFailoverTimeout();
+
+   void setCallFailoverTimeout(long callFailoverTimeout);
+
    boolean isCacheLargeMessagesClient();
 
    void setCacheLargeMessagesClient(boolean cacheLargeMessagesClient);

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -61,6 +61,8 @@
 
    private long callTimeout = HornetQClient.DEFAULT_CALL_TIMEOUT;
 
+   private long callFailoverTimeout = HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT;
+
    private boolean cacheLargeMessagesClient = HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT;
 
    private int minLargeMessageSize = HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE;
@@ -239,6 +241,16 @@
       this.callTimeout = callTimeout;
    }
 
+   public long getCallFailoverTimeout()
+   {
+      return callFailoverTimeout;
+   }
+
+   public void setCallFailoverTimeout(long callFailoverTimeout)
+   {
+      this.callFailoverTimeout = callFailoverTimeout;
+   }
+
    public boolean isCacheLargeMessagesClient()
    {
       return cacheLargeMessagesClient;

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -260,6 +260,10 @@
                                                       "call-timeout",
                                                       HornetQClient.DEFAULT_CALL_TIMEOUT,
                                                       Validators.GE_ZERO);
+      long callFailoverTimeout = XMLConfigurationUtil.getLong(e,
+                                                      "call-failover-timeout",
+                                                      HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
+                                                      Validators.MINUS_ONE_OR_GT_ZERO);
       String clientID = XMLConfigurationUtil.getString(e, "client-id", null, Validators.NO_CHECK);
       int dupsOKBatchSize = XMLConfigurationUtil.getInteger(e,
                                                             "dups-ok-batch-size",
@@ -423,6 +427,7 @@
       cfConfig.setClientFailureCheckPeriod(clientFailureCheckPeriod);
       cfConfig.setConnectionTTL(connectionTTL);
       cfConfig.setCallTimeout(callTimeout);
+      cfConfig.setCallFailoverTimeout(callFailoverTimeout);
       cfConfig.setCacheLargeMessagesClient(cacheLargeMessagesClient);
       cfConfig.setMinLargeMessageSize(minLargeMessageSize);
       cfConfig.setCompressLargeMessages(compressLargeMessages);

Modified: trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/impl/JMSServerManagerImpl.java
===================================================================
--- trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/impl/JMSServerManagerImpl.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/hornetq-jms/src/main/java/org/hornetq/jms/server/impl/JMSServerManagerImpl.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -839,6 +839,7 @@
                                                     final long clientFailureCheckPeriod,
                                                     final long connectionTTL,
                                                     final long callTimeout,
+                                                    final long callFailoverTimeout,
                                                     final boolean cacheLargeMessagesClient,
                                                     final int minLargeMessageSize,
                                                     final boolean compressLargeMessage,
@@ -876,6 +877,7 @@
          configuration.setConnectionTTL(connectionTTL);
          configuration.setFactoryType(cfType);
          configuration.setCallTimeout(callTimeout);
+         configuration.setCallFailoverTimeout(callFailoverTimeout);
          configuration.setCacheLargeMessagesClient(cacheLargeMessagesClient);
          configuration.setMinLargeMessageSize(minLargeMessageSize);
          configuration.setCompressLargeMessages(compressLargeMessage);
@@ -913,6 +915,7 @@
                                                     final long clientFailureCheckPeriod,
                                                     final long connectionTTL,
                                                     final long callTimeout,
+                                                    final long callFailoverTimeout,
                                                     final boolean cacheLargeMessagesClient,
                                                     final int minLargeMessageSize,
                                                     final boolean compressLargeMessages,
@@ -951,6 +954,7 @@
          configuration.setClientFailureCheckPeriod(clientFailureCheckPeriod);
          configuration.setConnectionTTL(connectionTTL);
          configuration.setCallTimeout(callTimeout);
+         configuration.setCallFailoverTimeout(callFailoverTimeout);
          configuration.setCacheLargeMessagesClient(cacheLargeMessagesClient);
          configuration.setMinLargeMessageSize(minLargeMessageSize);
          configuration.setCompressLargeMessages(compressLargeMessages);
@@ -1248,6 +1252,7 @@
       cf.setClientFailureCheckPeriod(cfConfig.getClientFailureCheckPeriod());
       cf.setConnectionTTL(cfConfig.getConnectionTTL());
       cf.setCallTimeout(cfConfig.getCallTimeout());
+      cf.setCallFailoverTimeout(cfConfig.getCallFailoverTimeout());
       cf.setCacheLargeMessagesClient(cfConfig.isCacheLargeMessagesClient());
       cf.setMinLargeMessageSize(cfConfig.getMinLargeMessageSize());
       cf.setConsumerWindowSize(cfConfig.getConsumerWindowSize());

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/ReplicatedPagedFailoverTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/ReplicatedPagedFailoverTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/ReplicatedPagedFailoverTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -20,6 +20,12 @@
    @Override
    public void testFailWithBrowser() throws Exception
    {
-      // paged messages are not available for browsing
+      int i = 0;
+      while(true)
+      {
+         testCreateNewFactoryAfterFailover();
+         tearDown();
+         setUp();
+      }
    }
 }

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/FloodServerTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/FloodServerTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/FloodServerTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -134,6 +134,7 @@
                                             1000,
                                             HornetQClient.DEFAULT_CONNECTION_TTL,
                                             callTimeout,
+                                            HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                             HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                             HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                             HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/PreACKJMSTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/PreACKJMSTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/PreACKJMSTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -179,6 +179,7 @@
                                         HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                         HornetQClient.DEFAULT_CONNECTION_TTL,
                                         callTimeout,
+                                        HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                         HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                         HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                         HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/ReSendMessageTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/ReSendMessageTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/ReSendMessageTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -276,6 +276,7 @@
                                         HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                         HornetQClient.DEFAULT_CONNECTION_TTL,
                                         callTimeout,
+                                        HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                         true,
                                         HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                         HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/SessionClosedOnRemotingConnectionFailureTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/SessionClosedOnRemotingConnectionFailureTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/SessionClosedOnRemotingConnectionFailureTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -72,6 +72,7 @@
                                         HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                         HornetQClient.DEFAULT_CONNECTION_TTL,
                                         HornetQClient.DEFAULT_CALL_TIMEOUT,
+                                        HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                         HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                         HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                         HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/TextMessageTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/TextMessageTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/client/TextMessageTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -209,6 +209,7 @@
                                         HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                         HornetQClient.DEFAULT_CONNECTION_TTL,
                                         callTimeout,
+                                        HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                         true,
                                         HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                         HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/divert/DivertAndACKClientTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/divert/DivertAndACKClientTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/divert/DivertAndACKClientTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -152,6 +152,7 @@
                                         HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                         HornetQClient.DEFAULT_CONNECTION_TTL,
                                         callTimeout,
+                                        HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                         HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                         HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                         HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -490,6 +490,7 @@
                                       1, // clientFailureCheckPeriod
                                       1,  // connectionTTL
                                       1, // callTimeout
+                                      1, //callFailoverTimeout
                                       1, // minLargeMessageSize
                                       true, // compressLargeMessages
                                       1, // consumerWindowSize
@@ -523,6 +524,7 @@
       assertEquals(1, cf.getClientFailureCheckPeriod());
       assertEquals(1, cf.getConnectionTTL());
       assertEquals(1, cf.getCallTimeout());
+      assertEquals(1, cf.getCallFailoverTimeout());
       assertEquals(1, cf.getMinLargeMessageSize());
       assertEquals(true, cf.isCompressLargeMessage());
       assertEquals(1, cf.getConsumerWindowSize());

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -73,6 +73,7 @@
                                       1, // clientFailureCheckPeriod
                                       1,  // connectionTTL
                                       1, // callTimeout
+                                      1, // callFailoverTimeout
                                       1, // minLargeMessageSize
                                       true, // compressLargeMessages
                                       1, // consumerWindowSize
@@ -106,6 +107,7 @@
       assertEquals(1, cf.getClientFailureCheckPeriod());
       assertEquals(1, cf.getConnectionTTL());
       assertEquals(1, cf.getCallTimeout());
+      assertEquals(1, cf.getCallFailoverTimeout());
       assertEquals(1, cf.getMinLargeMessageSize());
       assertEquals(true, cf.isCompressLargeMessage());
       assertEquals(1, cf.getConsumerWindowSize());
@@ -360,6 +362,7 @@
                                              long clientFailureCheckPeriod,
                                              long connectionTTL,
                                              long callTimeout,
+                                             long callFailoverTimeout,
                                              int minLargeMessageSize,
                                              boolean compressLargeMessages,
                                              int consumerWindowSize,
@@ -396,6 +399,7 @@
                                   clientFailureCheckPeriod,
                                   connectionTTL,
                                   callTimeout,
+                                  callFailoverTimeout,
                                   minLargeMessageSize,
                                   compressLargeMessages,
                                   consumerWindowSize,
@@ -432,6 +436,7 @@
                                              long clientFailureCheckPeriod,
                                              long connectionTTL,
                                              long callTimeout,
+                                             long callFailoverTimeout,
                                              int minLargeMessageSize,
                                              boolean compressLargeMessages,
                                              int consumerWindowSize,
@@ -468,6 +473,7 @@
                                   clientFailureCheckPeriod,
                                   connectionTTL,
                                   callTimeout,
+                                  callFailoverTimeout,
                                   minLargeMessageSize,
                                   compressLargeMessages,
                                   consumerWindowSize,

Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/util/JMSTestBase.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/util/JMSTestBase.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/util/JMSTestBase.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -225,6 +225,7 @@
                                         HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                         HornetQClient.DEFAULT_CONNECTION_TTL,
                                         callTimeout,
+                                        HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                         HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                         HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                         HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/CTSMiscellaneousTest.java
===================================================================
--- trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/CTSMiscellaneousTest.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/CTSMiscellaneousTest.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -66,6 +66,7 @@
                                                        HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                                        HornetQClient.DEFAULT_CONNECTION_TTL,
                                                        HornetQClient.DEFAULT_CALL_TIMEOUT,
+                                                       HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                                        HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                                        HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                                        HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/JMSTestCase.java
===================================================================
--- trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/JMSTestCase.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/JMSTestCase.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -74,6 +74,7 @@
                                                     HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                                     HornetQClient.DEFAULT_CONNECTION_TTL,
                                                     HornetQClient.DEFAULT_CALL_TIMEOUT,
+                                                    HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                                     HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                                     HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                                     HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,
@@ -109,6 +110,7 @@
                                                     HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                                     HornetQClient.DEFAULT_CONNECTION_TTL,
                                                     HornetQClient.DEFAULT_CALL_TIMEOUT,
+                                                    HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                                     HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                                     HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                                     HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,
@@ -144,6 +146,7 @@
                                                     HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                                     HornetQClient.DEFAULT_CONNECTION_TTL,
                                                     HornetQClient.DEFAULT_CALL_TIMEOUT,
+                                                    HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                                     HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                                     HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                                     HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,

Modified: trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/tools/container/LocalTestServer.java
===================================================================
--- trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/tools/container/LocalTestServer.java	2012-02-16 15:17:59 UTC (rev 12129)
+++ trunk/tests/jms-tests/src/test/java/org/hornetq/jms/tests/tools/container/LocalTestServer.java	2012-02-17 09:38:02 UTC (rev 12130)
@@ -301,6 +301,7 @@
                                                     HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                                                     HornetQClient.DEFAULT_CONNECTION_TTL,
                                                     HornetQClient.DEFAULT_CALL_TIMEOUT,
+                                                    HornetQClient.DEFAULT_CALL_FAILOVER_TIMEOUT,
                                                     HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
                                                     HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
                                                     HornetQClient.DEFAULT_COMPRESS_LARGE_MESSAGES,



More information about the hornetq-commits mailing list