Author: ataylor
Date: 2011-02-24 07:23:57 -0500 (Thu, 24 Feb 2011)
New Revision: 10249
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/HornetQResourceAdapter.java
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/inflow/HornetQActivation.java
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java
Log:
https://issues.jboss.org/browse/JBPAPP-5987 - added test and fix for default and over
ridden discovery params
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-24
10:28:07 UTC (rev 10248)
+++
branches/Branch_2_2_EAP/src/main/org/hornetq/api/core/client/HornetQClient.java 2011-02-24
12:23:57 UTC (rev 10249)
@@ -68,6 +68,10 @@
public static final long DEFAULT_DISCOVERY_INITIAL_WAIT_TIMEOUT = 10000;
+ public static final long DEFAULT_DISCOVERY_REFRESH_TIMEOUT = 10000;
+
+ public static final int DEFAULT_DISCOVERY_PORT = 9876;
+
public static final long DEFAULT_RETRY_INTERVAL = 2000;
public static final double DEFAULT_RETRY_INTERVAL_MULTIPLIER = 1d;
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-24
10:28:07 UTC (rev 10248)
+++
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/ConnectionFactoryProperties.java 2011-02-24
12:23:57 UTC (rev 10249)
@@ -51,11 +51,11 @@
private String discoveryAddress;
- private Integer discoveryPort = 9876;
+ private Integer discoveryPort;
- private Long discoveryRefreshTimeout = new Long(10000);
+ private Long discoveryRefreshTimeout;
- private Long discoveryInitialWaitTimeout = new Long(10000);
+ private Long discoveryInitialWaitTimeout;
private String clientID;
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-24
10:28:07 UTC (rev 10248)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2011-02-24
12:23:57 UTC (rev 10249)
@@ -1321,6 +1321,10 @@
defaultHornetQConnectionFactory = createHornetQConnectionFactory(raProperties);
}
+ public Map<ActivationSpec, HornetQActivation> getActivations()
+ {
+ return activations;
+ }
public HornetQConnectionFactory getDefaultHornetQConnectionFactory() throws
ResourceException
{
if (!configured.getAndSet(true))
@@ -1377,14 +1381,28 @@
Integer discoveryPort = overrideProperties.getDiscoveryPort() != null ?
overrideProperties.getDiscoveryPort()
:
getDiscoveryPort();
+ if(discoveryPort == null)
+ {
+ discoveryPort = HornetQClient.DEFAULT_DISCOVERY_PORT;
+ }
+
DiscoveryGroupConfiguration groupConfiguration = new
DiscoveryGroupConfiguration(discoveryAddress, discoveryPort);
- long refreshTimeout = overrideProperties.getDiscoveryRefreshTimeout() != null ?
overrideProperties.getDiscoveryRefreshTimeout()
+ Long refreshTimeout = overrideProperties.getDiscoveryRefreshTimeout() != null ?
overrideProperties.getDiscoveryRefreshTimeout()
:
raProperties.getDiscoveryRefreshTimeout();
+ if (refreshTimeout == null)
+ {
+ refreshTimeout = HornetQClient.DEFAULT_DISCOVERY_REFRESH_TIMEOUT;
+ }
- long initialTimeout = overrideProperties.getDiscoveryInitialWaitTimeout() !=
null ? overrideProperties.getDiscoveryInitialWaitTimeout()
+ Long initialTimeout = overrideProperties.getDiscoveryInitialWaitTimeout() !=
null ? overrideProperties.getDiscoveryInitialWaitTimeout()
:
raProperties.getDiscoveryInitialWaitTimeout();
+ if(initialTimeout == null)
+ {
+ initialTimeout = HornetQClient.DEFAULT_DISCOVERY_INITIAL_WAIT_TIMEOUT;
+ }
+
groupConfiguration.setDiscoveryInitialWaitTimeout(initialTimeout);
groupConfiguration.setRefreshTimeout(refreshTimeout);
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/ra/inflow/HornetQActivation.java
===================================================================
---
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/inflow/HornetQActivation.java 2011-02-24
10:28:07 UTC (rev 10248)
+++
branches/Branch_2_2_EAP/src/main/org/hornetq/ra/inflow/HornetQActivation.java 2011-02-24
12:23:57 UTC (rev 10249)
@@ -560,7 +560,12 @@
inFailure.set(false);
}
}
-
+
+ public HornetQConnectionFactory getConnectionFactory()
+ {
+ return this.factory;
+ }
+
/**
* Handles the setup
*/
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-24
10:28:07 UTC (rev 10248)
+++
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java 2011-02-24
12:23:57 UTC (rev 10249)
@@ -14,6 +14,7 @@
import org.hornetq.jms.client.HornetQConnectionFactory;
import org.hornetq.ra.HornetQResourceAdapter;
+import org.hornetq.ra.inflow.HornetQActivation;
import org.hornetq.ra.inflow.HornetQActivationSpec;
import javax.resource.ResourceException;
@@ -257,6 +258,65 @@
assertFalse(spec.isHasBeenUpdated());
assertTrue(endpoint.released);
}
+
+ public void testResourceAdapterSetupNoOverrideDiscovery() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setDiscoveryAddress("231.6.6.6");
+ qResourceAdapter.setDiscoveryPort(1234);
+ qResourceAdapter.setDiscoveryRefreshTimeout(1l);
+ qResourceAdapter.setDiscoveryInitialWaitTimeout(1l);
+ 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.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();
+
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 testResourceAdapterSetupOverrideDiscovery() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setDiscoveryAddress("231.7.7.7");
+ 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.setSetupAttempts(0);
+ spec.setDiscoveryAddress("231.6.6.6");
+ spec.setDiscoveryPort(1234);
+ 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();
+
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();
+ }
@Override
public boolean isSecure()