[jboss-cvs] JBossAS SVN: r85946 - in projects/ejb3/trunk: test-remote/src/main/java/org/jboss/ejb3/testremote/server and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 16 16:51:15 EDT 2009
Author: ALRubinger
Date: 2009-03-16 16:51:15 -0400 (Mon, 16 Mar 2009)
New Revision: 85946
Modified:
projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/remoteaccess/unit/ProxyMockServer.java
projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServer.java
Log:
[EJBTHREE-1775] test-remote MockServer should do nothing more than bind to remoting, fire up MC
Modified: projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/remoteaccess/unit/ProxyMockServer.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/remoteaccess/unit/ProxyMockServer.java 2009-03-16 19:45:12 UTC (rev 85945)
+++ projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/remoteaccess/unit/ProxyMockServer.java 2009-03-16 20:51:15 UTC (rev 85946)
@@ -21,11 +21,16 @@
*/
package org.jboss.ejb3.test.proxy.impl.remoteaccess.unit;
+import java.net.URL;
+
+import org.jboss.aop.AspectManager;
+import org.jboss.aop.AspectXmlLoader;
import org.jboss.ejb3.test.proxy.impl.common.Utils;
import org.jboss.ejb3.test.proxy.impl.common.container.StatefulContainer;
import org.jboss.ejb3.test.proxy.impl.common.container.StatelessContainer;
import org.jboss.ejb3.test.proxy.impl.common.ejb.sfsb.MyStatefulBean;
import org.jboss.ejb3.test.proxy.impl.common.ejb.slsb.MyStatelessBean;
+import org.jboss.ejb3.testremote.server.JndiPropertiesToJnpserverPropertiesHackCl;
import org.jboss.ejb3.testremote.server.MockServer;
import org.jboss.logging.Logger;
@@ -46,13 +51,15 @@
private static final Logger log = Logger.getLogger(ProxyMockServer.class);
+ private static final String FILENAME_EJB3_INTERCEPTORS_AOP = "ejb3-interceptors-aop.xml";
+
// --------------------------------------------------------------------------------||
// Constructor --------------------------------------------------------------------||
// --------------------------------------------------------------------------------||
- public ProxyMockServer(final Class<?> testClass, final String serverHost, final int port)
+ public ProxyMockServer()
{
- super(testClass, serverHost, port);
+ super();
}
/**
@@ -64,6 +71,31 @@
// Call super implementation
super.initialize();
+ // Switch up to the hacky CL so that "jndi.properties" is not loaded
+ ClassLoader olderLoader = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Thread.currentThread().setContextClassLoader(new JndiPropertiesToJnpserverPropertiesHackCl());
+
+ // Deploy *-beans.xml
+ this.getBootstrap().deploy(this.getTestClass());
+
+ // Load ejb3-interceptors-aop.xml into AspectManager
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ URL url = cl.getResource(FILENAME_EJB3_INTERCEPTORS_AOP);
+ if (url == null)
+ {
+ throw new RuntimeException("Could not load " + AspectManager.class.getSimpleName()
+ + " with definitions from XML as file " + FILENAME_EJB3_INTERCEPTORS_AOP + " could not be found");
+ }
+ AspectXmlLoader.deployXML(url);
+ }
+ finally
+ {
+ // Restore old CL
+ Thread.currentThread().setContextClassLoader(olderLoader);
+ }
+
// Create a SLSB Container
final StatelessContainer slsbContainer = Utils.createSlsb(MyStatelessBean.class);
log.info("Created SLSB Container: " + slsbContainer.getName());
Modified: projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServer.java
===================================================================
--- projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServer.java 2009-03-16 19:45:12 UTC (rev 85945)
+++ projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServer.java 2009-03-16 20:51:15 UTC (rev 85946)
@@ -22,16 +22,12 @@
package org.jboss.ejb3.testremote.server;
import java.lang.reflect.Constructor;
-import java.net.URL;
-import org.jboss.aop.AspectManager;
-import org.jboss.aop.AspectXmlLoader;
import org.jboss.ejb3.common.registrar.plugin.mc.Ejb3McRegistrar;
import org.jboss.ejb3.common.registrar.spi.Ejb3RegistrarLocator;
import org.jboss.ejb3.test.mc.bootstrap.EmbeddedTestMcBootstrap;
import org.jboss.logging.Logger;
import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.ServerInvocationHandler;
import org.jboss.remoting.transport.Connector;
/**
@@ -53,14 +49,6 @@
private static final Logger log = Logger.getLogger(MockServer.class);
/**
- * Invocation request to the MockServer will be handler by this
- * invocation handler
- */
- private ServerInvocationHandler mockServerInvocationHandler;
-
- private static final String FILENAME_EJB3_INTERCEPTORS_AOP = "ejb3-interceptors-aop.xml";
-
- /**
* Various possible server status
*/
public enum MockServerStatus {
@@ -101,32 +89,11 @@
// --------------------------------------------------------------------------------||
/**
- * Constructor
- * Configures and creates a socket based {@link Connector} which will
- * accept (start/stop) requests from client
+ * Required no-arg Constructor
*/
- public MockServer(Class<?> testClass, String serverHost, int port)
+ public MockServer()
{
- this.setTestClass(testClass);
- String uri = "socket://" + serverHost + ":" + port;
- try
- {
- InvokerLocator invokerLocator = new InvokerLocator(uri);
- this.remoteConnector = new Connector(invokerLocator);
- this.remoteConnector.create();
- this.mockServerInvocationHandler = new MockServerInvocationHandler(this);
- this.remoteConnector.addInvocationHandler("EJB3Test", this.mockServerInvocationHandler);
- log.debug("Connector created for accepting MockServer requests");
-
- }
- catch (Exception e)
- {
- log.error("Could not create Mockserver for testclass = " + testClass + " serverHost= " + serverHost
- + " port= " + port, e);
- throw new RuntimeException("Could not start server at " + uri, e);
- }
-
}
// --------------------------------------------------------------------------------||
@@ -168,6 +135,10 @@
throw new RuntimeException("Specified Test Class, \"" + testClassname + "\" could not be found", cnfe);
}
+ // Get bind information
+ String bindHost = args[args.length - 2];
+ int bindPort = Integer.parseInt(args[args.length - 1]);
+
// Get Mock Server implementation
String mockServerClassName = args[1];
@@ -193,21 +164,28 @@
Constructor<?> serverCtor = null;
try
{
- serverCtor = mockServerClass.getConstructor(new Class<?>[]
- {Class.class, String.class, int.class});
+ serverCtor = mockServerClass.getConstructor();
}
catch (NoSuchMethodException e1)
{
throw new RuntimeException("MockServer implementation " + mockServerClassName
- + " must have a public ctor(Class,String,int)", e1);
+ + " must have a public no-arg ctor", e1);
}
- MockServer launcher = (MockServer) serverCtor.newInstance(new Object[]
- {testClass, args[args.length - 2], Integer.parseInt(args[args.length - 1])});
+ // Create launcher
+ MockServer launcher = (MockServer) serverCtor.newInstance();
+ // Set Test Class
+ launcher.setTestClass(testClass);
+
try
{
// Ready to receive (start/stop) requests
+ String bindUri = "socket://" + bindHost + ":" + bindPort;
+ InvokerLocator invokerLocator = new InvokerLocator(bindUri);
+ launcher.remoteConnector = new Connector(invokerLocator);
+ launcher.remoteConnector.create();
+ launcher.remoteConnector.addInvocationHandler("EJB3Test", new MockServerInvocationHandler(launcher));
launcher.acceptRequests();
}
catch (Throwable e)
@@ -236,31 +214,6 @@
// Bind the Ejb3Registrar
Ejb3RegistrarLocator.bindRegistrar(new Ejb3McRegistrar(bootstrap.getKernel()));
-
- // Switch up to the hacky CL so that "jndi.properties" is not loaded
- ClassLoader olderLoader = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(new JndiPropertiesToJnpserverPropertiesHackCl());
-
- // Deploy *-beans.xml
- this.getBootstrap().deploy(this.getTestClass());
-
- // Load ejb3-interceptors-aop.xml into AspectManager
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- URL url = cl.getResource(FILENAME_EJB3_INTERCEPTORS_AOP);
- if (url == null)
- {
- throw new RuntimeException("Could not load " + AspectManager.class.getSimpleName()
- + " with definitions from XML as file " + FILENAME_EJB3_INTERCEPTORS_AOP + " could not be found");
- }
- AspectXmlLoader.deployXML(url);
- }
- finally
- {
- // Restore old CL
- Thread.currentThread().setContextClassLoader(olderLoader);
- }
}
/**
@@ -326,17 +279,6 @@
this.remoteConnector.start();
}
- /**
- *
- * @param serverInvocationHandler The {@link ServerInvocationHandler} to
- * handle requests
- */
- protected void setInvocationHandler(ServerInvocationHandler serverInvocationHandler)
- {
- this.mockServerInvocationHandler = serverInvocationHandler;
-
- }
-
// --------------------------------------------------------------------------------||
// Accessors / Mutators -----------------------------------------------------------||
// --------------------------------------------------------------------------------||
More information about the jboss-cvs-commits
mailing list