[hornetq-commits] JBoss hornetq SVN: r9108 - in trunk: src/main/org/hornetq/api/core/client and 20 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Apr 13 11:16:49 EDT 2010
Author: timfox
Date: 2010-04-13 11:16:44 -0400 (Tue, 13 Apr 2010)
New Revision: 9108
Added:
trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml
Modified:
trunk/src/config/common/schema/hornetq-configuration.xsd
trunk/src/main/org/hornetq/api/core/client/ClientSessionFactory.java
trunk/src/main/org/hornetq/api/jms/management/ConnectionFactoryControl.java
trunk/src/main/org/hornetq/core/client/impl/ClientSessionFactoryImpl.java
trunk/src/main/org/hornetq/core/cluster/impl/DiscoveryGroupImpl.java
trunk/src/main/org/hornetq/core/config/DiscoveryGroupConfiguration.java
trunk/src/main/org/hornetq/core/deployers/impl/FileConfigurationParser.java
trunk/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java
trunk/src/main/org/hornetq/jms/client/HornetQConnectionFactory.java
trunk/src/main/org/hornetq/jms/management/impl/JMSConnectionFactoryControlImpl.java
trunk/src/main/org/hornetq/jms/server/JMSServerManager.java
trunk/src/main/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java
trunk/src/main/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java
trunk/src/main/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java
trunk/src/main/org/hornetq/jms/server/impl/JMSServerManagerImpl.java
trunk/tests/config/ConfigurationTest-full-config.xml
trunk/tests/src/org/hornetq/tests/integration/cluster/bridge/BridgeWithDiscoveryGroupStartTest.java
trunk/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java
trunk/tests/src/org/hornetq/tests/integration/discovery/DiscoveryTest.java
trunk/tests/src/org/hornetq/tests/integration/jms/server/JMSServerDeployerTest.java
trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java
trunk/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControl2Test.java
trunk/tests/src/org/hornetq/tests/integration/management/DiscoveryGroupControlTest.java
trunk/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java
Log:
https://jira.jboss.org/jira/browse/HORNETQ-342
Modified: trunk/src/config/common/schema/hornetq-configuration.xsd
===================================================================
--- trunk/src/config/common/schema/hornetq-configuration.xsd 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/config/common/schema/hornetq-configuration.xsd 2010-04-13 15:16:44 UTC (rev 9108)
@@ -228,6 +228,8 @@
<xsd:element name="discovery-group">
<xsd:complexType>
<xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-address">
+ </xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" ref="group-address">
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" ref="group-port">
Modified: trunk/src/main/org/hornetq/api/core/client/ClientSessionFactory.java
===================================================================
--- trunk/src/main/org/hornetq/api/core/client/ClientSessionFactory.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/api/core/client/ClientSessionFactory.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -474,6 +474,22 @@
void setAckBatchSize(int ackBatchSize);
/**
+ * Returns the local bind address to which the multicast socket is bound for discovery.
+ *
+ * This is null if the multicast socket is not bound, or no discovery is being used
+ *
+ * @return the local bind address to which the multicast socket is bound for discovery
+ */
+ String getLocalBindAddress();
+
+ /**
+ * Sets the local bind address to which the multicast socket is bound for discovery.
+ *
+ * @param the local bind address
+ */
+ void setLocalBindAddress(String localBindAddress);
+
+ /**
* Returns the address to listen to discover which connectors this factory can use.
* The discovery address must be set to enable this factory to discover HornetQ servers.
*
Modified: trunk/src/main/org/hornetq/api/jms/management/ConnectionFactoryControl.java
===================================================================
--- trunk/src/main/org/hornetq/api/jms/management/ConnectionFactoryControl.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/api/jms/management/ConnectionFactoryControl.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -370,7 +370,17 @@
*/
void setStaticConnectors(List<Pair<TransportConfiguration, TransportConfiguration>> staticConnectors);
+ /**
+ * @see ClientSessionFactory#getLocalBindAddress()
+ */
+ String getLocalBindAddress();
+
/**
+ * @see ClientSessionFactory#setLocalBindAddress(String)
+ */
+ void setLocalBindAddress(String localBindAddress);
+
+ /**
* @see ClientSessionFactory#getDiscoveryAddress()
*/
String getDiscoveryAddress();
@@ -379,6 +389,8 @@
* @see ClientSessionFactory#setDiscoveryAddress(String)
*/
void setDiscoveryAddress(String discoveryAddress);
+
+
/**
* @see ClientSessionFactory#getDiscoveryPort()
Modified: trunk/src/main/org/hornetq/core/client/impl/ClientSessionFactoryImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/ClientSessionFactoryImpl.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/core/client/impl/ClientSessionFactoryImpl.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -86,6 +86,8 @@
private List<Pair<TransportConfiguration, TransportConfiguration>> staticConnectors;
+ private String localBindAddress;
+
private String discoveryAddress;
private int discoveryPort;
@@ -219,9 +221,21 @@
if (discoveryAddress != null)
{
InetAddress groupAddress = InetAddress.getByName(discoveryAddress);
+
+ InetAddress lbAddress;
+
+ if (localBindAddress != null)
+ {
+ lbAddress = InetAddress.getByName(localBindAddress);
+ }
+ else
+ {
+ lbAddress = null;
+ }
discoveryGroup = new DiscoveryGroupImpl(UUIDGenerator.getInstance().generateStringUUID(),
discoveryAddress,
+ lbAddress,
groupAddress,
discoveryPort,
discoveryRefreshTimeout);
@@ -270,6 +284,8 @@
public ClientSessionFactoryImpl(final ClientSessionFactory other)
{
+ localBindAddress = other.getLocalBindAddress();
+
discoveryAddress = other.getDiscoveryAddress();
discoveryPort = other.getDiscoveryPort();
@@ -402,7 +418,18 @@
this.discoveryPort = discoveryPort;
}
+
+ public ClientSessionFactoryImpl(final String localBindAddress, final String discoveryAddress, final int discoveryPort)
+ {
+ this();
+
+ this.localBindAddress = localBindAddress;
+ this.discoveryAddress = discoveryAddress;
+
+ this.discoveryPort = discoveryPort;
+ }
+
public ClientSessionFactoryImpl(final List<Pair<TransportConfiguration, TransportConfiguration>> staticConnectors)
{
this();
@@ -724,7 +751,18 @@
checkWrite();
connectionLoadBalancingPolicyClassName = loadBalancingPolicyClassName;
}
+
+ public synchronized String getLocalBindAddress()
+ {
+ return localBindAddress;
+ }
+ public synchronized void setLocalBindAddress(final String localBindAddress)
+ {
+ checkWrite();
+ this.localBindAddress = localBindAddress;
+ }
+
public synchronized String getDiscoveryAddress()
{
return discoveryAddress;
Modified: trunk/src/main/org/hornetq/core/cluster/impl/DiscoveryGroupImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/cluster/impl/DiscoveryGroupImpl.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/core/cluster/impl/DiscoveryGroupImpl.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -16,6 +16,7 @@
import java.io.InterruptedIOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
+import java.net.InetSocketAddress;
import java.net.MulticastSocket;
import java.util.ArrayList;
import java.util.HashMap;
@@ -70,6 +71,8 @@
private volatile boolean started;
private final String nodeID;
+
+ private final InetAddress localBindAddress;
private final InetAddress groupAddress;
@@ -81,6 +84,7 @@
public DiscoveryGroupImpl(final String nodeID,
final String name,
+ final InetAddress localBindAddress,
final InetAddress groupAddress,
final int groupPort,
final long timeout) throws Exception
@@ -90,6 +94,8 @@
this.name = name;
this.timeout = timeout;
+
+ this.localBindAddress = localBindAddress;
this.groupAddress = groupAddress;
@@ -108,7 +114,16 @@
return;
}
- socket = new MulticastSocket(groupPort);
+ if (localBindAddress == null)
+ {
+ socket = new MulticastSocket(groupPort);
+ }
+ else
+ {
+ InetSocketAddress saddress = new InetSocketAddress(localBindAddress, groupPort);
+
+ socket = new MulticastSocket(saddress);
+ }
socket.joinGroup(groupAddress);
@@ -125,8 +140,11 @@
if (notificationService != null)
{
TypedProperties props = new TypedProperties();
+
props.putSimpleStringProperty(new SimpleString("name"), new SimpleString(name));
+
Notification notification = new Notification(nodeID, NotificationType.DISCOVERY_GROUP_STARTED, props);
+
notificationService.sendNotification(notification);
}
}
Modified: trunk/src/main/org/hornetq/core/config/DiscoveryGroupConfiguration.java
===================================================================
--- trunk/src/main/org/hornetq/core/config/DiscoveryGroupConfiguration.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/core/config/DiscoveryGroupConfiguration.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -15,6 +15,8 @@
import java.io.Serializable;
+import org.hornetq.core.logging.Logger;
+
/**
* A DiscoveryGroupConfiguration
*
@@ -27,8 +29,13 @@
public class DiscoveryGroupConfiguration implements Serializable
{
private static final long serialVersionUID = 8657206421727863400L;
+
+ private static final Logger log = Logger.getLogger(DiscoveryGroupConfiguration.class);
+
private String name;
+
+ private String localBindAddress;
private String groupAddress;
@@ -37,12 +44,14 @@
private long refreshTimeout;
public DiscoveryGroupConfiguration(final String name,
+ final String localBindAddress,
final String groupAddress,
final int groupPort,
final long refreshTimeout)
{
this.name = name;
this.groupAddress = groupAddress;
+ this.localBindAddress = localBindAddress;
this.groupPort = groupPort;
this.refreshTimeout = refreshTimeout;
}
@@ -51,6 +60,11 @@
{
return name;
}
+
+ public String getLocalBindAddress()
+ {
+ return localBindAddress;
+ }
public String getGroupAddress()
{
@@ -74,6 +88,14 @@
{
this.name = name;
}
+
+ /**
+ * @param localBindAddress the localBindAddress to set
+ */
+ public void setLocalBindAdress(final String localBindAddress)
+ {
+ this.localBindAddress = localBindAddress;
+ }
/**
* @param groupAddress the groupAddress to set
Modified: trunk/src/main/org/hornetq/core/deployers/impl/FileConfigurationParser.java
===================================================================
--- trunk/src/main/org/hornetq/core/deployers/impl/FileConfigurationParser.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/core/deployers/impl/FileConfigurationParser.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -894,6 +894,8 @@
{
String name = e.getAttribute("name");
+ String localBindAddress = XMLConfigurationUtil.getString(e, "local-bind-address", null, Validators.NO_CHECK);
+
String groupAddress = XMLConfigurationUtil.getString(e, "group-address", null, Validators.NOT_NULL_OR_EMPTY);
int groupPort = XMLConfigurationUtil.getInteger(e, "group-port", -1, Validators.MINUS_ONE_OR_GT_ZERO);
@@ -904,6 +906,7 @@
Validators.GT_ZERO);
DiscoveryGroupConfiguration config = new DiscoveryGroupConfiguration(name,
+ localBindAddress,
groupAddress,
groupPort,
refreshTimeout);
Modified: trunk/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -331,9 +331,23 @@
}
InetAddress groupAddress = InetAddress.getByName(config.getGroupAddress());
+
+ InetAddress localBindAddress;
+
+ if (config.getLocalBindAddress() != null)
+ {
+ localBindAddress = InetAddress.getByName(config.getLocalBindAddress());
+ }
+ else
+ {
+ localBindAddress = null;
+ }
+ log.info("local bind address " + localBindAddress);
+
DiscoveryGroup group = new DiscoveryGroupImpl(nodeUUID.toString(),
config.getName(),
+ localBindAddress,
groupAddress,
config.getGroupPort(),
config.getRefreshTimeout());
Modified: trunk/src/main/org/hornetq/jms/client/HornetQConnectionFactory.java
===================================================================
--- trunk/src/main/org/hornetq/jms/client/HornetQConnectionFactory.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/jms/client/HornetQConnectionFactory.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -209,7 +209,18 @@
checkWrite();
sessionFactory.setStaticConnectors(staticConnectors);
}
+
+ public synchronized String getLocalBindAddress()
+ {
+ return sessionFactory.getLocalBindAddress();
+ }
+ public synchronized void setLocalBindAddress(final String localBindAddress)
+ {
+ checkWrite();
+ sessionFactory.setLocalBindAddress(localBindAddress);
+ }
+
public synchronized String getDiscoveryAddress()
{
return sessionFactory.getDiscoveryAddress();
Modified: trunk/src/main/org/hornetq/jms/management/impl/JMSConnectionFactoryControlImpl.java
===================================================================
--- trunk/src/main/org/hornetq/jms/management/impl/JMSConnectionFactoryControlImpl.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/jms/management/impl/JMSConnectionFactoryControlImpl.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -297,7 +297,17 @@
{
cf.setStaticConnectors(staticConnectors);
}
+
+ public String getLocalBindAddress()
+ {
+ return cf.getLocalBindAddress();
+ }
+ public void setLocalBindAddress(String localBindAddress)
+ {
+ cf.setLocalBindAddress(localBindAddress);
+ }
+
public String getDiscoveryAddress()
{
return cf.getDiscoveryAddress();
Modified: trunk/src/main/org/hornetq/jms/server/JMSServerManager.java
===================================================================
--- trunk/src/main/org/hornetq/jms/server/JMSServerManager.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/jms/server/JMSServerManager.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -223,6 +223,7 @@
String ... jndiBindings) throws Exception;
void createConnectionFactory(String name,
+ String localBindAdress,
String discoveryAddress,
int discoveryPort,
String clientID,
Modified: trunk/src/main/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java
===================================================================
--- trunk/src/main/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -34,6 +34,10 @@
String[] getBindings();
void setBindings(String[] bindings);
+
+ String getLocalBindAddress();
+
+ void setLocalBindAddress(String localBindAddress);
String getDiscoveryAddress();
Modified: trunk/src/main/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java
===================================================================
--- trunk/src/main/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -42,6 +42,8 @@
private String[] bindings;
private String discoveryGroupName;
+
+ private String localBindAddress;
private String discoveryAddress;
@@ -129,6 +131,18 @@
this.discoveryAddress = discoveryAddress;
this.discoveryPort = discoveryPort;
}
+
+ public ConnectionFactoryConfigurationImpl(final String name,
+ final String localBindAddress,
+ final String discoveryAddress,
+ final int discoveryPort,
+ final String... bindings)
+ {
+ this(name, bindings);
+ this.localBindAddress = localBindAddress;
+ this.discoveryAddress = discoveryAddress;
+ this.discoveryPort = discoveryPort;
+ }
public ConnectionFactoryConfigurationImpl(final String name,
final TransportConfiguration liveConfig,
@@ -179,7 +193,17 @@
{
return name;
}
+
+ public String getLocalBindAddress()
+ {
+ return localBindAddress;
+ }
+ public void setLocalBindAddress(final String localBindAddress)
+ {
+ this.localBindAddress = localBindAddress;
+ }
+
public String getDiscoveryAddress()
{
return discoveryAddress;
@@ -553,6 +577,8 @@
discoveryGroupName = BufferHelper.readNullableSimpleStringAsString(buffer);
+ localBindAddress = BufferHelper.readNullableSimpleStringAsString(buffer);
+
discoveryAddress = BufferHelper.readNullableSimpleStringAsString(buffer);
discoveryPort = buffer.readInt();
@@ -642,6 +668,8 @@
BufferHelper.writeAsNullableSimpleString(buffer, discoveryGroupName);
+ BufferHelper.writeAsNullableSimpleString(buffer, localBindAddress);
+
BufferHelper.writeAsNullableSimpleString(buffer, discoveryAddress);
buffer.writeInt(discoveryPort);
@@ -746,6 +774,8 @@
BufferHelper.sizeOfNullableSimpleString(discoveryGroupName) +
+ BufferHelper.sizeOfNullableSimpleString(localBindAddress)+
+
BufferHelper.sizeOfNullableSimpleString(discoveryAddress)+
DataConstants.SIZE_INT + // discoveryPort
Modified: trunk/src/main/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java
===================================================================
--- trunk/src/main/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -366,6 +366,7 @@
if (discoveryGroupName != null)
{
+ log.info("discovery group name is " + discoveryGroupName);
cfConfig = new ConnectionFactoryConfigurationImpl(name, strbindings);
cfConfig.setInitialWaitTimeout(discoveryInitialWaitTimeout);
cfConfig.setDiscoveryGroupName(discoveryGroupName);
Modified: trunk/src/main/org/hornetq/jms/server/impl/JMSServerManagerImpl.java
===================================================================
--- trunk/src/main/org/hornetq/jms/server/impl/JMSServerManagerImpl.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/src/main/org/hornetq/jms/server/impl/JMSServerManagerImpl.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -767,6 +767,7 @@
}
public synchronized void createConnectionFactory(final String name,
+ final String localBindAddress,
final String discoveryAddress,
final int discoveryPort,
final String clientID,
@@ -801,11 +802,15 @@
final String groupId,
final String... jndiBindings) throws Exception
{
+ log.info("calling create cf " + discoveryRefreshTimeout + " lba " + localBindAddress);
+
+
checkInitialised();
HornetQConnectionFactory cf = connectionFactories.get(name);
if (cf == null)
{
ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl(name,
+ localBindAddress,
discoveryAddress,
discoveryPort);
configuration.setClientID(clientID);
@@ -903,6 +908,7 @@
}
private HornetQConnectionFactory internalCreateConnectionFactory(final String name,
+ final String localBindAddress,
final String discoveryAddress,
final int discoveryPort,
final String clientID,
@@ -942,6 +948,7 @@
{
cf = (HornetQConnectionFactory)HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort);
cf.setClientID(clientID);
+ cf.setLocalBindAddress(localBindAddress);
cf.setDiscoveryRefreshTimeout(discoveryRefreshTimeout);
cf.setClientFailureCheckPeriod(clientFailureCheckPeriod);
cf.setConnectionTTL(connectionTTL);
@@ -1141,6 +1148,7 @@
if (cfConfig.getDiscoveryAddress() != null)
{
cf = internalCreateConnectionFactory(cfConfig.getName(),
+ cfConfig.getLocalBindAddress(),
cfConfig.getDiscoveryAddress(),
cfConfig.getDiscoveryPort(),
cfConfig.getClientID(),
@@ -1416,8 +1424,10 @@
"' deployed.");
}
+ cfConfig.setLocalBindAddress(discoveryGroupConfiguration.getLocalBindAddress());
cfConfig.setDiscoveryAddress(discoveryGroupConfiguration.getGroupAddress());
cfConfig.setDiscoveryPort(discoveryGroupConfiguration.getGroupPort());
+ cfConfig.setDiscoveryRefreshTimeout(discoveryGroupConfiguration.getRefreshTimeout());
}
}
Modified: trunk/tests/config/ConfigurationTest-full-config.xml
===================================================================
--- trunk/tests/config/ConfigurationTest-full-config.xml 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/config/ConfigurationTest-full-config.xml 2010-04-13 15:16:44 UTC (rev 9108)
@@ -104,11 +104,13 @@
</broadcast-groups>
<discovery-groups>
<discovery-group name="dg1">
+ <local-bind-address>172.16.8.10</local-bind-address>
<group-address>192.168.0.120</group-address>
<group-port>11999</group-port>
<refresh-timeout>12345</refresh-timeout>
</discovery-group>
<discovery-group name="dg2">
+ <local-bind-address>172.16.8.11</local-bind-address>
<group-address>192.168.0.121</group-address>
<group-port>12999</group-port>
<refresh-timeout>23456</refresh-timeout>
Added: trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml
===================================================================
--- trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml (rev 0)
+++ trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml 2010-04-13 15:16:44 UTC (rev 9108)
@@ -0,0 +1,53 @@
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq ../../src/schemas/hornetq-jms.xsd ">
+
+ <connection-factory name="fullConfigurationConnectionFactory">
+ <entries>
+ <entry name="/fullConfigurationConnectionFactory"/>
+ <entry name="/acme/fullConfigurationConnectionFactory"/>
+ <entry name="java:/xyz/tfullConfigurationConnectionFactory"/>
+ <entry name="java:/connectionfactories/acme/fullConfigurationConnectionFactory"/>
+ </entries>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <discovery-group-ref discovery-group-name="mygroup"/>
+ <client-failure-check-period>1234</client-failure-check-period>
+ <call-timeout>5678</call-timeout>
+ <consumer-window-size>12345</consumer-window-size>
+ <consumer-max-rate>6789</consumer-max-rate>
+ <confirmation-window-size>123456</confirmation-window-size>
+ <producer-window-size>7712652</producer-window-size>
+ <producer-max-rate>789</producer-max-rate>
+ <min-large-message-size>12</min-large-message-size>
+ <client-id>TestClientID</client-id>
+ <dups-ok-batch-size>3456</dups-ok-batch-size>
+ <transaction-batch-size>4567</transaction-batch-size>
+ <block-on-acknowledge>true</block-on-acknowledge>
+ <block-on-non-durable-send>false</block-on-non-durable-send>
+ <block-on-durable-send>true</block-on-durable-send>
+ <auto-group-id>false</auto-group-id>
+ <pre-acknowledge>true</pre-acknowledge>
+ <connection-ttl>2345</connection-ttl>
+ <discovery-initial-wait-timeout>678</discovery-initial-wait-timeout>
+ <failover-on-server-shutdown>false</failover-on-server-shutdown>
+ <connection-load-balancing-policy-class-name>FooClass</connection-load-balancing-policy-class-name>
+ <reconnect-attempts>34</reconnect-attempts>
+ <retry-interval>5</retry-interval>
+ <retry-interval-multiplier>6.0</retry-interval-multiplier>
+ <max-retry-interval>300</max-retry-interval>
+ <cache-large-message-client>true</cache-large-message-client>
+ </connection-factory>
+
+ <queue name="fullConfigurationQueue">
+ <entry name="/fullConfigurationQueue"/>
+ <entry name="/queue/fullConfigurationQueue"/>
+ </queue>
+
+ <topic name="fullConfigurationTopic">
+ <entry name="/fullConfigurationTopic"/>
+ <entry name="/topic/fullConfigurationTopic"/>
+ </topic>
+
+</configuration>
\ No newline at end of file
Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/bridge/BridgeWithDiscoveryGroupStartTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/bridge/BridgeWithDiscoveryGroupStartTest.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/bridge/BridgeWithDiscoveryGroupStartTest.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -96,7 +96,7 @@
server0.getConfiguration().getBroadcastGroupConfigurations().add(bcConfig);
- DiscoveryGroupConfiguration dcConfig = new DiscoveryGroupConfiguration("dg1", groupAddress, port, 5000);
+ DiscoveryGroupConfiguration dcConfig = new DiscoveryGroupConfiguration("dg1", null, groupAddress, port, 5000);
server0.getConfiguration().getDiscoveryGroupConfigurations().put(dcConfig.getName(), dcConfig);
Modified: trunk/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -1406,12 +1406,12 @@
-1,
groupAddress,
port,
- 250,
+ 1000,
connectorPairs);
configuration.getBroadcastGroupConfigurations().add(bcConfig);
- DiscoveryGroupConfiguration dcConfig = new DiscoveryGroupConfiguration("dg1", groupAddress, port, 5000);
+ DiscoveryGroupConfiguration dcConfig = new DiscoveryGroupConfiguration("dg1", null, groupAddress, port, 5000);
configuration.getDiscoveryGroupConfigurations().put(dcConfig.getName(), dcConfig);
Modified: trunk/tests/src/org/hornetq/tests/integration/discovery/DiscoveryTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/discovery/DiscoveryTest.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/src/org/hornetq/tests/integration/discovery/DiscoveryTest.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -86,6 +86,7 @@
DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
@@ -145,6 +146,7 @@
DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
@@ -224,7 +226,7 @@
bg.addConnectorPair(connectorPair);
- DiscoveryGroup dg = new DiscoveryGroupImpl(nodeID, RandomUtil.randomString(), groupAddress, groupPort, timeout);
+ DiscoveryGroup dg = new DiscoveryGroupImpl(nodeID, RandomUtil.randomString(), null, groupAddress, groupPort, timeout);
dg.start();
@@ -317,6 +319,7 @@
DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
port2,
timeout);
@@ -364,6 +367,7 @@
DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress2,
port2,
timeout);
@@ -451,6 +455,7 @@
DiscoveryGroup dg1 = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress1,
groupPort1,
timeout);
@@ -458,6 +463,7 @@
DiscoveryGroup dg2 = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress2,
groupPort2,
timeout);
@@ -465,6 +471,7 @@
DiscoveryGroup dg3 = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress3,
groupPort3,
timeout);
@@ -539,6 +546,7 @@
DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
@@ -591,6 +599,7 @@
DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
@@ -688,6 +697,7 @@
DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
@@ -927,18 +937,21 @@
DiscoveryGroup dg1 = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
DiscoveryGroup dg2 = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
DiscoveryGroup dg3 = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
@@ -995,6 +1008,7 @@
DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
RandomUtil.randomString(),
+ null,
groupAddress,
groupPort,
timeout);
Modified: trunk/tests/src/org/hornetq/tests/integration/jms/server/JMSServerDeployerTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/jms/server/JMSServerDeployerTest.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/src/org/hornetq/tests/integration/jms/server/JMSServerDeployerTest.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -23,6 +23,7 @@
import org.hornetq.api.core.TransportConfiguration;
import org.hornetq.core.config.Configuration;
+import org.hornetq.core.config.DiscoveryGroupConfiguration;
import org.hornetq.core.config.impl.ConfigurationImpl;
import org.hornetq.core.deployers.DeploymentManager;
import org.hornetq.core.deployers.impl.FileDeploymentManager;
@@ -239,7 +240,97 @@
Assert.assertEquals("fullConfigurationTopic", topic.getTopicName());
}
}
+
+ public void testDeployFullConfiguration2() throws Exception
+ {
+ JMSServerDeployer deployer = new JMSServerDeployer(jmsServer, deploymentManager, config);
+ String conf = "hornetq-jms-for-JMSServerDeployerTest2.xml";
+ URL confURL = Thread.currentThread().getContextClassLoader().getResource(conf);
+
+ String[] connectionFactoryBindings = new String[] { "/fullConfigurationConnectionFactory",
+ "/acme/fullConfigurationConnectionFactory",
+ "java:/xyz/tfullConfigurationConnectionFactory",
+ "java:/connectionfactories/acme/fullConfigurationConnectionFactory" };
+ String[] queueBindings = new String[] { "/fullConfigurationQueue", "/queue/fullConfigurationQueue" };
+ String[] topicBindings = new String[] { "/fullConfigurationTopic", "/topic/fullConfigurationTopic" };
+
+ for (String binding : connectionFactoryBindings)
+ {
+ UnitTestCase.checkNoBinding(context, binding);
+ }
+ for (String binding : queueBindings)
+ {
+ UnitTestCase.checkNoBinding(context, binding);
+ }
+ for (String binding : topicBindings)
+ {
+ UnitTestCase.checkNoBinding(context, binding);
+ }
+
+ deployer.deploy(confURL);
+
+ for (String binding : connectionFactoryBindings)
+ {
+ UnitTestCase.checkBinding(context, binding);
+ }
+ for (String binding : queueBindings)
+ {
+ UnitTestCase.checkBinding(context, binding);
+ }
+ for (String binding : topicBindings)
+ {
+ UnitTestCase.checkBinding(context, binding);
+ }
+
+ for (String binding : connectionFactoryBindings)
+ {
+ HornetQConnectionFactory cf = (HornetQConnectionFactory)context.lookup(binding);
+ Assert.assertNotNull(cf);
+ Assert.assertEquals(1234, cf.getClientFailureCheckPeriod());
+ Assert.assertEquals(5678, cf.getCallTimeout());
+ Assert.assertEquals(12345, cf.getConsumerWindowSize());
+ Assert.assertEquals(6789, cf.getConsumerMaxRate());
+ Assert.assertEquals(123456, cf.getConfirmationWindowSize());
+ Assert.assertEquals(7712652, cf.getProducerWindowSize());
+ Assert.assertEquals(789, cf.getProducerMaxRate());
+ Assert.assertEquals(12, cf.getMinLargeMessageSize());
+ Assert.assertEquals("TestClientID", cf.getClientID());
+ Assert.assertEquals(3456, cf.getDupsOKBatchSize());
+ Assert.assertEquals(4567, cf.getTransactionBatchSize());
+ Assert.assertEquals(true, cf.isBlockOnAcknowledge());
+ Assert.assertEquals(false, cf.isBlockOnNonDurableSend());
+ Assert.assertEquals(true, cf.isBlockOnDurableSend());
+ Assert.assertEquals(false, cf.isAutoGroup());
+ Assert.assertEquals(true, cf.isPreAcknowledge());
+ Assert.assertEquals(2345, cf.getConnectionTTL());
+ Assert.assertEquals(false, cf.isFailoverOnServerShutdown());
+ Assert.assertEquals(34, cf.getReconnectAttempts());
+ Assert.assertEquals(5, cf.getRetryInterval());
+ Assert.assertEquals(6.0, cf.getRetryIntervalMultiplier());
+ Assert.assertEquals(true, cf.isCacheLargeMessagesClient());
+
+ assertEquals("243.7.7.7", cf.getDiscoveryAddress());
+ assertEquals("172.16.8.10", cf.getLocalBindAddress());
+ assertEquals(12345, cf.getDiscoveryPort());
+ assertEquals(5000, cf.getDiscoveryRefreshTimeout());
+ }
+
+ for (String binding : queueBindings)
+ {
+ Queue queue = (Queue)context.lookup(binding);
+ Assert.assertNotNull(queue);
+ Assert.assertEquals("fullConfigurationQueue", queue.getQueueName());
+ }
+
+ for (String binding : topicBindings)
+ {
+ Topic topic = (Topic)context.lookup(binding);
+ Assert.assertNotNull(topic);
+ Assert.assertEquals("fullConfigurationTopic", topic.getTopicName());
+ }
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
@@ -252,6 +343,11 @@
config = new ConfigurationImpl();
config.getConnectorConfigurations().put("netty",
new TransportConfiguration(NettyConnectorFactory.class.getName()));
+
+ DiscoveryGroupConfiguration dcg = new DiscoveryGroupConfiguration("mygroup", "172.16.8.10",
+ "243.7.7.7", 12345,
+ 5000);
+ config.getDiscoveryGroupConfigurations().put("mygroup", dcg);
HornetQServer server = createServer(false, config);
deploymentManager = new FileDeploymentManager(config.getFileDeployerScanPeriod());
Modified: trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/src/org/hornetq/tests/integration/jms/server/management/JMSServerControlTest.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -14,6 +14,13 @@
package org.hornetq.tests.integration.jms.server.management;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Queue;
@@ -53,9 +60,6 @@
import org.hornetq.tests.util.RandomUtil;
import org.hornetq.tests.util.UnitTestCase;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
-
/**
* A JMSServerControlTest
*
@@ -509,6 +513,7 @@
conf.getDiscoveryGroupConfigurations()
.put("discovery",
new DiscoveryGroupConfiguration("discovery",
+ null,
"231.7.7.7",
discoveryPort,
ConfigurationImpl.DEFAULT_BROADCAST_REFRESH_TIMEOUT));
Modified: trunk/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControl2Test.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControl2Test.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControl2Test.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -148,6 +148,7 @@
250,
connectorInfos);
DiscoveryGroupConfiguration discoveryGroupConfig = new DiscoveryGroupConfiguration(discoveryName,
+ null,
groupAddress,
groupPort,
HornetQClient.DEFAULT_DISCOVERY_REFRESH_TIMEOUT);
Modified: trunk/tests/src/org/hornetq/tests/integration/management/DiscoveryGroupControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/DiscoveryGroupControlTest.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/src/org/hornetq/tests/integration/management/DiscoveryGroupControlTest.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -52,6 +52,7 @@
public void testAttributes() throws Exception
{
DiscoveryGroupConfiguration discoveryGroupConfig = new DiscoveryGroupConfiguration(RandomUtil.randomString(),
+ null,
"231.7.7.7",
2000,
RandomUtil.randomPositiveLong());
@@ -76,6 +77,7 @@
public void testStartStop() throws Exception
{
DiscoveryGroupConfiguration discoveryGroupConfig = new DiscoveryGroupConfiguration(RandomUtil.randomString(),
+ null,
"231.7.7.7",
2000,
RandomUtil.randomPositiveLong());
Modified: trunk/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java 2010-04-13 14:46:35 UTC (rev 9107)
+++ trunk/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java 2010-04-13 15:16:44 UTC (rev 9108)
@@ -164,12 +164,14 @@
DiscoveryGroupConfiguration dc = conf.getDiscoveryGroupConfigurations().get("dg1");
Assert.assertEquals("dg1", dc.getName());
Assert.assertEquals("192.168.0.120", dc.getGroupAddress());
+ assertEquals("172.16.8.10", dc.getLocalBindAddress());
Assert.assertEquals(11999, dc.getGroupPort());
Assert.assertEquals(12345, dc.getRefreshTimeout());
dc = conf.getDiscoveryGroupConfigurations().get("dg2");
Assert.assertEquals("dg2", dc.getName());
Assert.assertEquals("192.168.0.121", dc.getGroupAddress());
+ assertEquals("172.16.8.11", dc.getLocalBindAddress());
Assert.assertEquals(12999, dc.getGroupPort());
Assert.assertEquals(23456, dc.getRefreshTimeout());
More information about the hornetq-commits
mailing list