Author: ataylor
Date: 2011-02-25 06:40:04 -0500 (Fri, 25 Feb 2011)
New Revision: 10253
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/api/core/client/HornetQClient.java
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/ConnectionFactoryProperties.java
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQRAMCFProperties.java
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQRAManagedConnectionFactory.java
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQResourceAdapter.java
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java
Log:
https://issues.jboss.org/browse/JBPAPP-5987 - fixed some more over ridden params that are
set by default
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/api/core/client/HornetQClient.java
===================================================================
---
branches/Branch_2_2_EAP/src/main/org/hornetq/api/core/client/HornetQClient.java 2011-02-25
07:52:02 UTC (rev 10252)
+++
branches/Branch_2_2_EAP/src/main/org/hornetq/api/core/client/HornetQClient.java 2011-02-25
11:40:04 UTC (rev 10253)
@@ -84,6 +84,8 @@
public static final boolean DEFAULT_FAILOVER_ON_INITIAL_CONNECTION = false;
+ public static final boolean DEFAULT_IS_HA = false;
+
public static final boolean DEFAULT_USE_GLOBAL_POOLS = true;
public static final int DEFAULT_THREAD_POOL_MAX_SIZE = -1;
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/ConnectionFactoryProperties.java
===================================================================
---
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/ConnectionFactoryProperties.java 2011-02-25
07:52:02 UTC (rev 10252)
+++
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/ConnectionFactoryProperties.java 2011-02-25
11:40:04 UTC (rev 10253)
@@ -31,8 +31,6 @@
*/
private static boolean trace = ConnectionFactoryProperties.log.isTraceEnabled();
- private final static Boolean IS_HA = false;
-
private boolean hasBeenUpdated = false;
/**
@@ -45,7 +43,7 @@
*/
private Map<String, Object> connectionParameters;
- private Boolean ha = IS_HA;
+ private Boolean ha;
private String connectionLoadBalancingPolicyClassName;
@@ -93,7 +91,7 @@
private Double retryIntervalMultiplier;
- private Integer reconnectAttempts = -1;
+ private Integer reconnectAttempts;
private Boolean useGlobalPools;
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQRAMCFProperties.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQRAMCFProperties.java 2011-02-25
07:52:02 UTC (rev 10252)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQRAMCFProperties.java 2011-02-25
11:40:04 UTC (rev 10253)
@@ -58,8 +58,6 @@
public String strConnectionParameters;
- public String strBackupConnectionParameters;
-
/**
* The connection type
*/
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQRAManagedConnectionFactory.java
===================================================================
---
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQRAManagedConnectionFactory.java 2011-02-25
07:52:02 UTC (rev 10252)
+++
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQRAManagedConnectionFactory.java 2011-02-25
11:40:04 UTC (rev 10253)
@@ -680,6 +680,16 @@
mcfProperties.setThreadPoolMaxSize(threadPoolMaxSize);
}
+ public Boolean isHA()
+ {
+ return mcfProperties.isHA();
+ }
+
+ public void setHA(Boolean ha)
+ {
+ mcfProperties.setHA(ha);
+ }
+
/**
* Get the useTryLock.
*
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQResourceAdapter.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2011-02-25
07:52:02 UTC (rev 10252)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2011-02-25
11:40:04 UTC (rev 10253)
@@ -1354,6 +1354,11 @@
:
getDiscoveryAddress();
Boolean ha = overrideProperties.isHA() != null ? overrideProperties.isHA() :
getHA();
+
+ if(ha == null)
+ {
+ ha = HornetQClient.DEFAULT_IS_HA;
+ }
if (connectorClassName != null)
{
@@ -1469,7 +1474,8 @@
log.debug("TM located = " + tm);
}
}
-
+
+
private void setParams(final HornetQConnectionFactory cf,
final ConnectionFactoryProperties overrideProperties)
{
@@ -1552,6 +1558,11 @@
{
cf.setReconnectAttempts(val2);
}
+ else
+ {
+ //the global default is 0 but we should always try to reconnect JCA
+ cf.setReconnectAttempts(-1);
+ }
val2 = overrideProperties.getThreadPoolMaxSize() != null ?
overrideProperties.getThreadPoolMaxSize()
:
raProperties.getThreadPoolMaxSize();
if (val2 != null)
Modified:
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java
===================================================================
---
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java 2011-02-25
07:52:02 UTC (rev 10252)
+++
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java 2011-02-25
11:40:04 UTC (rev 10253)
@@ -273,15 +273,7 @@
spec.setUseJNDI(false);
spec.setDestinationType("javax.jms.Queue");
spec.setDestination(MDBQUEUE);
- spec.setSetupAttempts(0);
- //just to force using override params
- spec.setBlockOnAcknowledge(true);
- CountDownLatch latch = new CountDownLatch(1);
- DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
- DummyMessageEndpointFactory endpointFactory = new
DummyMessageEndpointFactory(endpoint, false);
- qResourceAdapter.endpointActivation(endpointFactory, spec);
- HornetQActivation activation = qResourceAdapter.getActivations().get(spec);
- HornetQConnectionFactory fac = activation.getConnectionFactory();
+ HornetQConnectionFactory fac =
qResourceAdapter.createHornetQConnectionFactory(spec);
assertEquals(fac.getServerLocator().getDiscoveryGroupConfiguration().getGroupAddress(),
"231.6.6.6");
assertEquals(fac.getServerLocator().getDiscoveryGroupConfiguration().getGroupPort(),
1234);
assertEquals(fac.getServerLocator().getDiscoveryGroupConfiguration().getRefreshTimeout(),
1l);
@@ -303,20 +295,144 @@
spec.setSetupAttempts(0);
spec.setDiscoveryAddress("231.6.6.6");
spec.setDiscoveryPort(1234);
+ spec.setDiscoveryInitialWaitTimeout(1l);
spec.setDiscoveryRefreshTimeout(1l);
- spec.setDiscoveryInitialWaitTimeout(1l);
- CountDownLatch latch = new CountDownLatch(1);
- DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
- DummyMessageEndpointFactory endpointFactory = new
DummyMessageEndpointFactory(endpoint, false);
- qResourceAdapter.endpointActivation(endpointFactory, spec);
- HornetQActivation activation = qResourceAdapter.getActivations().get(spec);
- HornetQConnectionFactory fac = activation.getConnectionFactory();
+ HornetQConnectionFactory fac =
qResourceAdapter.createHornetQConnectionFactory(spec);
assertEquals(fac.getServerLocator().getDiscoveryGroupConfiguration().getGroupAddress(),
"231.6.6.6");
assertEquals(fac.getServerLocator().getDiscoveryGroupConfiguration().getGroupPort(),
1234);
assertEquals(fac.getServerLocator().getDiscoveryGroupConfiguration().getRefreshTimeout(),
1l);
assertEquals(fac.getServerLocator().getDiscoveryGroupConfiguration().getDiscoveryInitialWaitTimeout(),
1l);
qResourceAdapter.stop();
}
+
+ public void testResourceAdapterSetupNoHAOverride() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
+ qResourceAdapter.setConnectionParameters("server-id=0");
+ qResourceAdapter.setHA(true);
+ HornetQRATestBase.MyBootstrapContext ctx = new
HornetQRATestBase.MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestinationType("javax.jms.Queue");
+ spec.setDestination(MDBQUEUE);
+
+ HornetQConnectionFactory fac =
qResourceAdapter.createHornetQConnectionFactory(spec);
+
+ assertTrue(fac.isHA());
+
+ qResourceAdapter.stop();
+ assertFalse(spec.isHasBeenUpdated());
+ }
+
+ public void testResourceAdapterSetupNoHADefault() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
+ qResourceAdapter.setConnectionParameters("server-id=0");
+ HornetQRATestBase.MyBootstrapContext ctx = new
HornetQRATestBase.MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestinationType("javax.jms.Queue");
+ spec.setDestination(MDBQUEUE);
+
+ HornetQConnectionFactory fac =
qResourceAdapter.createHornetQConnectionFactory(spec);
+
+ assertFalse(fac.isHA());
+
+ qResourceAdapter.stop();
+ assertFalse(spec.isHasBeenUpdated());
+ }
+
+
+ public void testResourceAdapterSetupHAOverride() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
+ qResourceAdapter.setConnectionParameters("server-id=0");
+ HornetQRATestBase.MyBootstrapContext ctx = new
HornetQRATestBase.MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestinationType("javax.jms.Queue");
+ spec.setDestination(MDBQUEUE);
+ spec.setHA(true);
+ HornetQConnectionFactory fac =
qResourceAdapter.createHornetQConnectionFactory(spec);
+
+ assertTrue(fac.isHA());
+
+ qResourceAdapter.stop();
+ assertTrue(spec.isHasBeenUpdated());
+ }
+
+ public void testResourceAdapterSetupNoReconnectAttemptsOverride() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
+ qResourceAdapter.setConnectionParameters("server-id=0");
+ qResourceAdapter.setReconnectAttempts(100);
+ HornetQRATestBase.MyBootstrapContext ctx = new
HornetQRATestBase.MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestinationType("javax.jms.Queue");
+ spec.setDestination(MDBQUEUE);
+
+ HornetQConnectionFactory fac =
qResourceAdapter.createHornetQConnectionFactory(spec);
+
+ assertEquals(100, fac.getReconnectAttempts());
+
+ qResourceAdapter.stop();
+ assertFalse(spec.isHasBeenUpdated());
+ }
+
+ public void testResourceAdapterSetupReconnectAttemptDefault() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
+ qResourceAdapter.setConnectionParameters("server-id=0");
+ HornetQRATestBase.MyBootstrapContext ctx = new
HornetQRATestBase.MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestinationType("javax.jms.Queue");
+ spec.setDestination(MDBQUEUE);
+
+ HornetQConnectionFactory fac =
qResourceAdapter.createHornetQConnectionFactory(spec);
+
+ assertEquals(-1, fac.getReconnectAttempts());
+
+ qResourceAdapter.stop();
+ assertFalse(spec.isHasBeenUpdated());
+ }
+
+ public void testResourceAdapterSetupReconnectAttemptsOverride() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
+ qResourceAdapter.setConnectionParameters("server-id=0");
+ HornetQRATestBase.MyBootstrapContext ctx = new
HornetQRATestBase.MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestinationType("javax.jms.Queue");
+ spec.setDestination(MDBQUEUE);
+ spec.setReconnectAttempts(100);
+ HornetQConnectionFactory fac =
qResourceAdapter.createHornetQConnectionFactory(spec);
+
+ assertEquals(100, fac.getReconnectAttempts());
+
+ qResourceAdapter.stop();
+ assertTrue(spec.isHasBeenUpdated());
+ }
@Override
public boolean isSecure()