JBoss Remoting SVN: r4892 - remoting2/branches/2.x/src/main/org/jboss/remoting.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-23 21:13:38 -0400 (Mon, 23 Mar 2009)
New Revision: 4892
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/ConnectionValidator.java
Log:
JBREM-1082: Removed "numberOfRetries" from createPingConfig(), and gets "NumberOfCallRetries" from metadata in createPingConfig().
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/ConnectionValidator.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/ConnectionValidator.java 2009-03-21 05:41:35 UTC (rev 4891)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/ConnectionValidator.java 2009-03-24 01:13:38 UTC (rev 4892)
@@ -179,12 +179,6 @@
{
localConfig.put("NumberOfCallRetries", o);
}
-
- o = config.get("NumberOfRetries");
- if (o != null)
- {
- localConfig.put("NumberOfRetries", o);
- }
}
if (metadata != null)
@@ -205,6 +199,11 @@
". Using default value " + DEFAULT_PING_TIMEOUT);
}
}
+ o = config.get("NumberOfCallRetries");
+ if (o != null)
+ {
+ localConfig.put("NumberOfCallRetries", o);
+ }
}
if (localConfig.get(ServerInvoker.TIMEOUT) == null)
15 years, 9 months
RE: UK Pharmacy Discount ID 752
by 1965-2009 Pfizer Inc.
About this mailing:
You are receiving this e-mail because you subscribed to MSN Featured Offers. Microsoft respects your privacy. If you do not wish to receive this MSN Featured Offers e-mail, please click the "Unsubscribe" link below. This will not unsubscribe you from e-mail communications from third-party advertisers that may appear in MSN Feature Offers. This shall not constitute an offer by MSN. MSN shall not be responsible or liable for the advertisers' content nor any of the goods or service advertised. Prices and item availability subject to change without notice.
©2009 Microsoft | Unsubscribe at http://buplukeb.cn | More news at http://buplukeb.cn | Prvacy at http://buplukeb.cn
Microsoft Corporation, One Microsoft Way, Redmond, WA 98052
15 years, 9 months
JBoss Remoting SVN: r4891 - remoting2/branches/2.2/src/main/org/jboss/remoting/marshal.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-21 01:41:35 -0400 (Sat, 21 Mar 2009)
New Revision: 4891
Modified:
remoting2/branches/2.2/src/main/org/jboss/remoting/marshal/MarshalFactory.java
Log:
JBREM-1102: getMarshaller() can look in configuration map as well as InvokerLocator.
Modified: remoting2/branches/2.2/src/main/org/jboss/remoting/marshal/MarshalFactory.java
===================================================================
--- remoting2/branches/2.2/src/main/org/jboss/remoting/marshal/MarshalFactory.java 2009-03-21 02:29:40 UTC (rev 4890)
+++ remoting2/branches/2.2/src/main/org/jboss/remoting/marshal/MarshalFactory.java 2009-03-21 05:41:35 UTC (rev 4891)
@@ -305,11 +305,37 @@
*/
public static Marshaller getMarshaller(InvokerLocator locator, ClassLoader classLoader)
{
+ return getMarshaller(locator, classLoader, null);
+ }
+
+ /**
+ * Will try to look up marshaller by first looking for data type parameter within locator and config and then using that
+ * to look up marhsaller locally. If can not find it, will then look to see if can find the 'marshaller' parameter
+ * within the locator parameters or config parameters. If found, will try to load the marshaller by the class name specified
+ * as the parameter value. If still can not find the class within the local VM, will look to see if there is a parameter for
+ * the server's marshaller loader port. If this exists, will then try calling on the remote server to load the
+ * marshaller (and its related classes) within the local VM. If still can not be found, will return null.
+ *
+ * @param locator
+ * @param classLoader
+ * @param config
+ * @return
+ */
+ public static Marshaller getMarshaller(InvokerLocator locator, ClassLoader classLoader, Map config)
+ {
String serializationType = locator.findSerializationType();
Marshaller marshaller = null;
- if(locator != null)
+ if(locator != null || config != null)
{
- Map params = locator.getParameters();
+ Map params = new HashMap();
+ if (locator.getParameters() != null)
+ {
+ params.putAll(locator.getParameters());
+ }
+ if (config != null)
+ {
+ params.putAll(config);
+ }
if(params != null)
{
// start with data type as is prefered method of getting marshaller/unmarshaller
@@ -430,11 +456,37 @@
*/
public static UnMarshaller getUnMarshaller(InvokerLocator locator, ClassLoader classLoader)
{
+ return getUnMarshaller(locator, classLoader, null);
+ }
+
+ /**
+ * Will try to look up unmarshaller by first looking for data type parameter within locator and config map and then using that
+ * to look up unmarshaller locally. If can not find it, will then look to see if can find the 'unmarshaller' parameter
+ * within the locator parameters or config map. If found, will try to load the unmarshaller by the class name specified as the
+ * parameter value. If still can not find the class within the local VM, will look to see if there is a parameter for
+ * the server's marshaller loader port. If this exists, will then try calling on the remote server to load the
+ * unmarshaller (and its related classes) within the local VM. If still can not be found, will return null.
+ *
+ * @param locator
+ * @param classLoader
+ * @param config
+ * @return
+ */
+ public static UnMarshaller getUnMarshaller(InvokerLocator locator, ClassLoader classLoader, Map config)
+ {
String serializationType = locator.findSerializationType();
UnMarshaller unmarshaller = null;
- if(locator != null)
+ if(locator != null || config != null)
{
- Map params = locator.getParameters();
+ Map params = new HashMap();
+ if (locator.getParameters() != null)
+ {
+ params.putAll(locator.getParameters());
+ }
+ if (config != null)
+ {
+ params.putAll(config);
+ }
if(params != null)
{
// start with data type as is prefered method of getting marshaller/unmarshaller
15 years, 9 months
JBoss Remoting SVN: r4890 - remoting2/branches/2.x/src/tests/org/jboss/test/remoting/locator.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-20 22:29:40 -0400 (Fri, 20 Mar 2009)
New Revision: 4890
Modified:
remoting2/branches/2.x/src/tests/org/jboss/test/remoting/locator/InvokerLocatorTestCase.java
Log:
JBREM-1110: Added testEmptyParameters().
Modified: remoting2/branches/2.x/src/tests/org/jboss/test/remoting/locator/InvokerLocatorTestCase.java
===================================================================
--- remoting2/branches/2.x/src/tests/org/jboss/test/remoting/locator/InvokerLocatorTestCase.java 2009-03-21 02:29:07 UTC (rev 4889)
+++ remoting2/branches/2.x/src/tests/org/jboss/test/remoting/locator/InvokerLocatorTestCase.java 2009-03-21 02:29:40 UTC (rev 4890)
@@ -501,4 +501,13 @@
assertEquals(host, locator.getHost());
}
+
+ /**
+ * For JBREM-1110.
+ */
+ public void testEmptyParameters() throws Exception
+ {
+ InvokerLocator locator = new InvokerLocator("socket://:7777");
+ assertNotNull(locator.getParameters());
+ }
}
\ No newline at end of file
15 years, 9 months
JBoss Remoting SVN: r4889 - remoting2/branches/2.2/src/tests/org/jboss/test/remoting/locator.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-20 22:29:07 -0400 (Fri, 20 Mar 2009)
New Revision: 4889
Modified:
remoting2/branches/2.2/src/tests/org/jboss/test/remoting/locator/InvokerLocatorTestCase.java
Log:
JBREM-1110: Added testEmptyParameters().
Modified: remoting2/branches/2.2/src/tests/org/jboss/test/remoting/locator/InvokerLocatorTestCase.java
===================================================================
--- remoting2/branches/2.2/src/tests/org/jboss/test/remoting/locator/InvokerLocatorTestCase.java 2009-03-21 02:28:16 UTC (rev 4888)
+++ remoting2/branches/2.2/src/tests/org/jboss/test/remoting/locator/InvokerLocatorTestCase.java 2009-03-21 02:29:07 UTC (rev 4889)
@@ -139,4 +139,12 @@
assertEquals(host, locator.getHost());
}
+ /**
+ * For JBREM-1110.
+ */
+ public void testEmptyParameters() throws Exception
+ {
+ InvokerLocator locator = new InvokerLocator("socket://:7777");
+ assertNotNull(locator.getParameters());
+ }
}
\ No newline at end of file
15 years, 9 months
JBoss Remoting SVN: r4888 - remoting2/branches/2.x/src/main/org/jboss/remoting.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-20 22:28:16 -0400 (Fri, 20 Mar 2009)
New Revision: 4888
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/InvokerLocator.java
Log:
JBREM-1110: getParameters() returns an empty map if there are no parameters.
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/InvokerLocator.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/InvokerLocator.java 2009-03-21 02:27:46 UTC (rev 4887)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/InvokerLocator.java 2009-03-21 02:28:16 UTC (rev 4888)
@@ -817,6 +817,10 @@
public Map getParameters()
{
+ if (parameters == null)
+ {
+ parameters = new TreeMap();
+ }
return parameters;
}
15 years, 9 months
JBoss Remoting SVN: r4887 - remoting2/branches/2.2/src/main/org/jboss/remoting.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-20 22:27:46 -0400 (Fri, 20 Mar 2009)
New Revision: 4887
Modified:
remoting2/branches/2.2/src/main/org/jboss/remoting/InvokerLocator.java
Log:
JBREM-1110: getParameters() returns an empty map if there are no parameters.
Modified: remoting2/branches/2.2/src/main/org/jboss/remoting/InvokerLocator.java
===================================================================
--- remoting2/branches/2.2/src/main/org/jboss/remoting/InvokerLocator.java 2009-03-21 01:49:19 UTC (rev 4886)
+++ remoting2/branches/2.2/src/main/org/jboss/remoting/InvokerLocator.java 2009-03-21 02:27:46 UTC (rev 4887)
@@ -535,6 +535,10 @@
public Map getParameters()
{
+ if (parameters == null)
+ {
+ parameters = new TreeMap();
+ }
return parameters;
}
15 years, 9 months
JBoss Remoting SVN: r4886 - remoting2/branches/2.x/src/main/org/jboss/remoting.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-20 21:49:19 -0400 (Fri, 20 Mar 2009)
New Revision: 4886
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/ConnectionValidator.java
Log:
JBREM-1082: Constructors initialize pingTimeout to default value.
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/ConnectionValidator.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/ConnectionValidator.java 2009-03-21 01:47:21 UTC (rev 4885)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/ConnectionValidator.java 2009-03-21 01:49:19 UTC (rev 4886)
@@ -251,6 +251,7 @@
{
this.client = client;
this.pingPeriod = pingPeriod;
+ pingTimeout = DEFAULT_PING_TIMEOUT_INT;
listeners = new ArrayList();
stopped = false;
getParameters(client, new HashMap());
@@ -583,9 +584,9 @@
{
metadata.put(ServerInvoker.TIMEOUT, Integer.toString(pingTimeout));
configMap = createPingConfig(client.getConfiguration(), metadata);
- log.debug(this + " timeout: " + pingTimeout);
- log.debug(this + " ping retries: " + configMap.get("NumberOfCallRetries"));
- log.debug(this + " connection retries: " + configMap.get("NumberOfRetries"));
+ log.debug(this + ": pingPeriod: " + this.pingPeriod);
+ log.debug(this + ": pingTimeout: " + this.pingTimeout);
+ log.debug(this + ": ping retries: " + configMap.get("NumberOfCallRetries"));
locator = client.getInvoker().getLocator();
try
15 years, 9 months
JBoss Remoting SVN: r4885 - remoting2/branches/2.2/src/main/org/jboss/remoting.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-20 21:47:21 -0400 (Fri, 20 Mar 2009)
New Revision: 4885
Modified:
remoting2/branches/2.2/src/main/org/jboss/remoting/ConnectionValidator.java
Log:
JBREM-1082: Constructors initialize pingTimeout to default value.
Modified: remoting2/branches/2.2/src/main/org/jboss/remoting/ConnectionValidator.java
===================================================================
--- remoting2/branches/2.2/src/main/org/jboss/remoting/ConnectionValidator.java 2009-03-20 06:42:49 UTC (rev 4884)
+++ remoting2/branches/2.2/src/main/org/jboss/remoting/ConnectionValidator.java 2009-03-21 01:47:21 UTC (rev 4885)
@@ -57,6 +57,9 @@
/** Default ping timeout period. Value is 1 second. */
public static final String DEFAULT_PING_TIMEOUT = "1000";
+
+ /** Default ping timeout period. Value is 1 second. */
+ public static final int DEFAULT_PING_TIMEOUT_INT = 1000;
/**
* Default number of ping retries. Value is 1.
@@ -248,6 +251,7 @@
{
this.client = client;
this.pingPeriod = pingPeriod;
+ pingTimeout = DEFAULT_PING_TIMEOUT_INT;
listeners = new ArrayList();
stopped = false;
getParameters(client, new HashMap());
@@ -258,6 +262,7 @@
{
this.client = client;
pingPeriod = DEFAULT_PING_PERIOD;
+ pingTimeout = DEFAULT_PING_TIMEOUT_INT;
listeners = new ArrayList();
stopped = false;
this.metadata = new HashMap(metadata);
15 years, 9 months
JBoss Remoting SVN: r4884 - remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params.
by jboss-remoting-commits@lists.jboss.org
Author: ron.sigal(a)jboss.com
Date: 2009-03-20 02:42:49 -0400 (Fri, 20 Mar 2009)
New Revision: 4884
Added:
remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/ConnectionValidatorConfigurationTestCase.java
Removed:
remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/UseLocatorParamsTestCase.java
Log:
JBREM-1082: Renamed UseLocatorParamsTestCase to ConnectionValidatorConfigurationTestCase.
Copied: remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/ConnectionValidatorConfigurationTestCase.java (from rev 4883, remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/UseLocatorParamsTestCase.java)
===================================================================
--- remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/ConnectionValidatorConfigurationTestCase.java (rev 0)
+++ remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/ConnectionValidatorConfigurationTestCase.java 2009-03-20 06:42:49 UTC (rev 4884)
@@ -0,0 +1,692 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.remoting.connection.params;
+
+import java.lang.reflect.Field;
+import java.net.InetAddress;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.MBeanServer;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.jboss.logging.XLevel;
+import org.jboss.remoting.Client;
+import org.jboss.remoting.ConnectionListener;
+import org.jboss.remoting.ConnectionValidator;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.ServerInvoker;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.remoting.transport.Connector;
+import org.jboss.remoting.transport.PortUtil;
+
+
+/**
+ * Unit test for JBREM-1082.
+ *
+ * @author <a href="ron.sigal(a)jboss.com">Ron Sigal</a>
+ * @version
+ * <p>
+ * Copyright Jan 17, 2009
+ * </p>
+ */
+public class ConnectionValidatorConfigurationTestCase extends TestCase
+{
+ private static Logger log = Logger.getLogger(ConnectionValidatorConfigurationTestCase.class);
+
+ private static boolean firstTime = true;
+
+ protected String host;
+ protected int port;
+ protected String locatorURI;
+ protected InvokerLocator serverLocator;
+ protected Connector connector;
+ protected TestInvocationHandler invocationHandler;
+
+
+ public void setUp() throws Exception
+ {
+ if (firstTime)
+ {
+ firstTime = false;
+ Logger.getLogger("org.jboss.remoting").setLevel(XLevel.INFO);
+ Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
+ String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
+ PatternLayout layout = new PatternLayout(pattern);
+ ConsoleAppender consoleAppender = new ConsoleAppender(layout);
+ Logger.getRootLogger().addAppender(consoleAppender);
+ }
+ }
+
+
+ public void tearDown()
+ {
+ }
+
+
+ public void testUseLocatorParamsDefault() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put("validatorPingPeriod", "333");
+ clientConfig.put("validatorPingTimeout", "444");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ HashMap metadata = new HashMap();
+ metadata.put("validatorPingTimeout", "555");
+ client.addConnectionListener(listener, metadata);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 333, 555, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUseLocatorParamsFalseInLocator() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
+ clientLocatorURI += "&" + Client.USE_ALL_PARAMS + "=false";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put("validatorPingPeriod", "333");
+ clientConfig.put("validatorPingTimeout", "444");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ HashMap metadata = new HashMap();
+ metadata.put("validatorPingTimeout", "555");
+ client.addConnectionListener(listener, metadata);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 333, 555, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUseLocatorParamsFalseInConfig() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put("validatorPingPeriod", "333");
+ clientConfig.put("validatorPingTimeout", "444");
+ clientConfig.put(Client.USE_ALL_PARAMS, "false");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ HashMap metadata = new HashMap();
+ metadata.put("validatorPingTimeout", "555");
+ client.addConnectionListener(listener, metadata);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 333, 555, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUseLocatorParamsFalseInMetadata() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put("validatorPingPeriod", "333");
+ clientConfig.put("validatorPingTimeout", "444");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ HashMap metadata = new HashMap();
+ metadata.put("validatorPingTimeout", "555");
+ metadata.put(Client.USE_ALL_PARAMS, "false");
+ client.addConnectionListener(listener, metadata);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 333, 555, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUseLocatorParamsTrueInLocator() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
+ clientLocatorURI += "&" + Client.USE_ALL_PARAMS + "=true";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put("validatorPingPeriod", "333");
+ clientConfig.put("validatorPingTimeout", "444");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ HashMap metadata = new HashMap();
+ metadata.put("validatorPingTimeout", "555");
+ client.addConnectionListener(listener, metadata);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 333, 555, false);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUseLocatorParamsTrueInConfig() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put("validatorPingPeriod", "333");
+ clientConfig.put("validatorPingTimeout", "444");
+ clientConfig.put(Client.USE_ALL_PARAMS, "true");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ HashMap metadata = new HashMap();
+ metadata.put("validatorPingTimeout", "555");
+ client.addConnectionListener(listener, metadata);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 333, 555, false);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUseLocatorParamsTrueInMetadata() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put("validatorPingPeriod", "333");
+ clientConfig.put("validatorPingTimeout", "444");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ HashMap metadata = new HashMap();
+ metadata.put("validatorPingTimeout", "555");
+ metadata.put(Client.USE_ALL_PARAMS, "true");
+ client.addConnectionListener(listener, metadata);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 333, 555, false);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUseLocatorParamsTrueInLocatorAllParamsInLocator() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
+ clientLocatorURI += "&" + Client.USE_ALL_PARAMS + "=true";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ HashMap metadata = new HashMap();
+ client.addConnectionListener(listener, metadata);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 111, 222, false);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testExplicitPingPeriodOverridesLocatorAndConfig() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put(Client.USE_ALL_PARAMS, "true");
+ clientConfig.put("validatorPingPeriod", "222");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ client.addConnectionListener(listener, 333);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 333, 1000, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUnaryLocatorOverridesWithUseAllParams() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put(Client.USE_ALL_PARAMS, "true");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ client.addConnectionListener(listener);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 111, 1000, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUnaryLocatorDoesntOverrideWithoutUseAllParams() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ clientLocatorURI += "&validatorPingPeriod=111";
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ client.addConnectionListener(listener);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 2000, 1000, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+
+ public void testUnaryConfigOverrides() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ clientConfig.put("validatorPingPeriod", "111");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ client.addConnectionListener(listener);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 111, 1000, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+ public void testUnaryDefault() throws Throwable
+ {
+ log.info("entering " + getName());
+
+ // Start server.
+ setupServer();
+
+ // Create client.
+ String clientLocatorURI = locatorURI;
+ InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
+ HashMap clientConfig = new HashMap();
+ clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
+ addExtraClientConfig(clientConfig);
+ Client client = new Client(clientLocator, clientConfig);
+ client.connect();
+ log.info("client is connected");
+
+ // Test connections.
+ assertEquals("abc", client.invoke("abc"));
+ log.info("connection is good");
+
+ // Configure ConnectionListener.
+ TestConnectionListener listener = new TestConnectionListener();
+ client.addConnectionListener(listener);
+
+ // Test setting of parameters in ConnectionListener.
+ doTestParameters(client, 2000, 1000, true);
+
+ client.removeConnectionListener(listener);
+ client.disconnect();
+ shutdownServer();
+ log.info(getName() + " PASSES");
+ }
+
+
+
+ protected void doTestParameters(Client client,
+ int pingPeriodExpected,
+ int pingTimeoutExpected,
+ boolean tieToLeaseExpected)
+ throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
+ {
+ Field field = Client.class.getDeclaredField("connectionValidator");
+ field.setAccessible(true);
+ ConnectionValidator validator = (ConnectionValidator) field.get(client);
+ field = ConnectionValidator.class.getDeclaredField("pingPeriod");
+ field.setAccessible(true);
+ long pingPeriod = ((Long)field.get(validator)).longValue();
+ field = ConnectionValidator.class.getDeclaredField("pingTimeout");
+ field.setAccessible(true);
+ int pingTimeout = ((Integer) field.get(validator)).intValue();
+ field = ConnectionValidator.class.getDeclaredField("tieToLease");
+ field.setAccessible(true);
+ boolean tieToLease = ((Boolean) field.get(validator)).booleanValue();
+ log.info("pingPeriod: " + pingPeriod);
+ log.info("pingTimeout: " + pingTimeout);
+ log.info("tieToLease: " + tieToLease);
+ assertEquals(pingPeriodExpected, pingPeriod);
+ assertEquals(pingTimeoutExpected, pingTimeout);
+ assertEquals(tieToLeaseExpected, tieToLease);
+ }
+
+
+ protected String getTransport()
+ {
+ return "socket";
+ }
+
+
+ protected void addExtraClientConfig(Map config) {}
+ protected void addExtraServerConfig(Map config) {}
+
+
+ protected void setupServer() throws Exception
+ {
+ host = InetAddress.getLocalHost().getHostAddress();
+ port = PortUtil.findFreePort(host);
+ locatorURI = getTransport() + "://" + host + ":" + port;
+ String metadata = System.getProperty("remoting.metadata");
+ if (metadata != null)
+ {
+ locatorURI += "/?" + metadata;
+ }
+ else
+ {
+ locatorURI += "/?" + "x=y";
+ }
+ serverLocator = new InvokerLocator(locatorURI);
+ log.info("Starting remoting server with locator uri of: " + locatorURI);
+ HashMap config = new HashMap();
+ config.put(InvokerLocator.FORCE_REMOTE, "true");
+ addExtraServerConfig(config);
+ connector = new Connector(serverLocator, config);
+ connector.create();
+ invocationHandler = new TestInvocationHandler();
+ connector.addInvocationHandler("test", invocationHandler);
+ connector.start();
+ }
+
+
+ protected void shutdownServer() throws Exception
+ {
+ if (connector != null)
+ connector.stop();
+ }
+
+
+ static class TestInvocationHandler implements ServerInvocationHandler
+ {
+ public void addListener(InvokerCallbackHandler callbackHandler) {}
+ public Object invoke(final InvocationRequest invocation) throws Throwable
+ {
+ return invocation.getParameter();
+ }
+ public void removeListener(InvokerCallbackHandler callbackHandler) {}
+ public void setMBeanServer(MBeanServer server) {}
+ public void setInvoker(ServerInvoker invoker) {}
+ }
+
+
+ static class TestConnectionListener implements ConnectionListener
+ {
+ public void handleConnectionException(Throwable throwable, Client client)
+ {
+ }
+ }
+}
\ No newline at end of file
Property changes on: remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/ConnectionValidatorConfigurationTestCase.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/UseLocatorParamsTestCase.java
===================================================================
--- remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/UseLocatorParamsTestCase.java 2009-03-20 06:40:57 UTC (rev 4883)
+++ remoting2/branches/2.2/src/tests/org/jboss/test/remoting/connection/params/UseLocatorParamsTestCase.java 2009-03-20 06:42:49 UTC (rev 4884)
@@ -1,692 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.test.remoting.connection.params;
-
-import java.lang.reflect.Field;
-import java.net.InetAddress;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.management.MBeanServer;
-
-import junit.framework.TestCase;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.jboss.logging.XLevel;
-import org.jboss.remoting.Client;
-import org.jboss.remoting.ConnectionListener;
-import org.jboss.remoting.ConnectionValidator;
-import org.jboss.remoting.InvocationRequest;
-import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.ServerInvocationHandler;
-import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.callback.InvokerCallbackHandler;
-import org.jboss.remoting.transport.Connector;
-import org.jboss.remoting.transport.PortUtil;
-
-
-/**
- * Unit test for JBREM-1082.
- *
- * @author <a href="ron.sigal(a)jboss.com">Ron Sigal</a>
- * @version
- * <p>
- * Copyright Jan 17, 2009
- * </p>
- */
-public class UseLocatorParamsTestCase extends TestCase
-{
- private static Logger log = Logger.getLogger(UseLocatorParamsTestCase.class);
-
- private static boolean firstTime = true;
-
- protected String host;
- protected int port;
- protected String locatorURI;
- protected InvokerLocator serverLocator;
- protected Connector connector;
- protected TestInvocationHandler invocationHandler;
-
-
- public void setUp() throws Exception
- {
- if (firstTime)
- {
- firstTime = false;
- Logger.getLogger("org.jboss.remoting").setLevel(XLevel.INFO);
- Logger.getLogger("org.jboss.test.remoting").setLevel(Level.INFO);
- String pattern = "[%d{ABSOLUTE}] [%t] %5p (%F:%L) - %m%n";
- PatternLayout layout = new PatternLayout(pattern);
- ConsoleAppender consoleAppender = new ConsoleAppender(layout);
- Logger.getRootLogger().addAppender(consoleAppender);
- }
- }
-
-
- public void tearDown()
- {
- }
-
-
- public void testUseLocatorParamsDefault() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put("validatorPingPeriod", "333");
- clientConfig.put("validatorPingTimeout", "444");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- HashMap metadata = new HashMap();
- metadata.put("validatorPingTimeout", "555");
- client.addConnectionListener(listener, metadata);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 333, 555, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUseLocatorParamsFalseInLocator() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
- clientLocatorURI += "&" + Client.USE_ALL_PARAMS + "=false";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put("validatorPingPeriod", "333");
- clientConfig.put("validatorPingTimeout", "444");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- HashMap metadata = new HashMap();
- metadata.put("validatorPingTimeout", "555");
- client.addConnectionListener(listener, metadata);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 333, 555, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUseLocatorParamsFalseInConfig() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put("validatorPingPeriod", "333");
- clientConfig.put("validatorPingTimeout", "444");
- clientConfig.put(Client.USE_ALL_PARAMS, "false");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- HashMap metadata = new HashMap();
- metadata.put("validatorPingTimeout", "555");
- client.addConnectionListener(listener, metadata);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 333, 555, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUseLocatorParamsFalseInMetadata() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put("validatorPingPeriod", "333");
- clientConfig.put("validatorPingTimeout", "444");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- HashMap metadata = new HashMap();
- metadata.put("validatorPingTimeout", "555");
- metadata.put(Client.USE_ALL_PARAMS, "false");
- client.addConnectionListener(listener, metadata);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 333, 555, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUseLocatorParamsTrueInLocator() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
- clientLocatorURI += "&" + Client.USE_ALL_PARAMS + "=true";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put("validatorPingPeriod", "333");
- clientConfig.put("validatorPingTimeout", "444");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- HashMap metadata = new HashMap();
- metadata.put("validatorPingTimeout", "555");
- client.addConnectionListener(listener, metadata);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 333, 555, false);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUseLocatorParamsTrueInConfig() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put("validatorPingPeriod", "333");
- clientConfig.put("validatorPingTimeout", "444");
- clientConfig.put(Client.USE_ALL_PARAMS, "true");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- HashMap metadata = new HashMap();
- metadata.put("validatorPingTimeout", "555");
- client.addConnectionListener(listener, metadata);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 333, 555, false);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUseLocatorParamsTrueInMetadata() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put("validatorPingPeriod", "333");
- clientConfig.put("validatorPingTimeout", "444");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- HashMap metadata = new HashMap();
- metadata.put("validatorPingTimeout", "555");
- metadata.put(Client.USE_ALL_PARAMS, "true");
- client.addConnectionListener(listener, metadata);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 333, 555, false);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUseLocatorParamsTrueInLocatorAllParamsInLocator() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111&validatorPingTimeout=222&tieToLease=false";
- clientLocatorURI += "&" + Client.USE_ALL_PARAMS + "=true";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- HashMap metadata = new HashMap();
- client.addConnectionListener(listener, metadata);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 111, 222, false);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testExplicitPingPeriodOverridesLocatorAndConfig() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put(Client.USE_ALL_PARAMS, "true");
- clientConfig.put("validatorPingPeriod", "222");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- client.addConnectionListener(listener, 333);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 333, 1000, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUnaryLocatorOverridesWithUseAllParams() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put(Client.USE_ALL_PARAMS, "true");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- client.addConnectionListener(listener);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 111, 1000, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUnaryLocatorDoesntOverrideWithoutUseAllParams() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- clientLocatorURI += "&validatorPingPeriod=111";
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- client.addConnectionListener(listener);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 2000, 1000, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
-
- public void testUnaryConfigOverrides() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- clientConfig.put("validatorPingPeriod", "111");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- client.addConnectionListener(listener);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 111, 1000, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
- public void testUnaryDefault() throws Throwable
- {
- log.info("entering " + getName());
-
- // Start server.
- setupServer();
-
- // Create client.
- String clientLocatorURI = locatorURI;
- InvokerLocator clientLocator = new InvokerLocator(clientLocatorURI);
- HashMap clientConfig = new HashMap();
- clientConfig.put(InvokerLocator.FORCE_REMOTE, "true");
- addExtraClientConfig(clientConfig);
- Client client = new Client(clientLocator, clientConfig);
- client.connect();
- log.info("client is connected");
-
- // Test connections.
- assertEquals("abc", client.invoke("abc"));
- log.info("connection is good");
-
- // Configure ConnectionListener.
- TestConnectionListener listener = new TestConnectionListener();
- client.addConnectionListener(listener);
-
- // Test setting of parameters in ConnectionListener.
- doTestParameters(client, 2000, 1000, true);
-
- client.removeConnectionListener(listener);
- client.disconnect();
- shutdownServer();
- log.info(getName() + " PASSES");
- }
-
-
-
- protected void doTestParameters(Client client,
- int pingPeriodExpected,
- int pingTimeoutExpected,
- boolean tieToLeaseExpected)
- throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException
- {
- Field field = Client.class.getDeclaredField("connectionValidator");
- field.setAccessible(true);
- ConnectionValidator validator = (ConnectionValidator) field.get(client);
- field = ConnectionValidator.class.getDeclaredField("pingPeriod");
- field.setAccessible(true);
- long pingPeriod = ((Long)field.get(validator)).longValue();
- field = ConnectionValidator.class.getDeclaredField("pingTimeout");
- field.setAccessible(true);
- int pingTimeout = ((Integer) field.get(validator)).intValue();
- field = ConnectionValidator.class.getDeclaredField("tieToLease");
- field.setAccessible(true);
- boolean tieToLease = ((Boolean) field.get(validator)).booleanValue();
- log.info("pingPeriod: " + pingPeriod);
- log.info("pingTimeout: " + pingTimeout);
- log.info("tieToLease: " + tieToLease);
- assertEquals(pingPeriodExpected, pingPeriod);
- assertEquals(pingTimeoutExpected, pingTimeout);
- assertEquals(tieToLeaseExpected, tieToLease);
- }
-
-
- protected String getTransport()
- {
- return "socket";
- }
-
-
- protected void addExtraClientConfig(Map config) {}
- protected void addExtraServerConfig(Map config) {}
-
-
- protected void setupServer() throws Exception
- {
- host = InetAddress.getLocalHost().getHostAddress();
- port = PortUtil.findFreePort(host);
- locatorURI = getTransport() + "://" + host + ":" + port;
- String metadata = System.getProperty("remoting.metadata");
- if (metadata != null)
- {
- locatorURI += "/?" + metadata;
- }
- else
- {
- locatorURI += "/?" + "x=y";
- }
- serverLocator = new InvokerLocator(locatorURI);
- log.info("Starting remoting server with locator uri of: " + locatorURI);
- HashMap config = new HashMap();
- config.put(InvokerLocator.FORCE_REMOTE, "true");
- addExtraServerConfig(config);
- connector = new Connector(serverLocator, config);
- connector.create();
- invocationHandler = new TestInvocationHandler();
- connector.addInvocationHandler("test", invocationHandler);
- connector.start();
- }
-
-
- protected void shutdownServer() throws Exception
- {
- if (connector != null)
- connector.stop();
- }
-
-
- static class TestInvocationHandler implements ServerInvocationHandler
- {
- public void addListener(InvokerCallbackHandler callbackHandler) {}
- public Object invoke(final InvocationRequest invocation) throws Throwable
- {
- return invocation.getParameter();
- }
- public void removeListener(InvokerCallbackHandler callbackHandler) {}
- public void setMBeanServer(MBeanServer server) {}
- public void setInvoker(ServerInvoker invoker) {}
- }
-
-
- static class TestConnectionListener implements ConnectionListener
- {
- public void handleConnectionException(Throwable throwable, Client client)
- {
- }
- }
-}
\ No newline at end of file
15 years, 9 months