[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting ...
Ron Sigal
ron_sigal at yahoo.com
Wed Jan 17 00:10:17 EST 2007
User: rsigal
Date: 07/01/17 00:10:17
Modified: src/main/org/jboss/remoting Tag: remoting_2_x
ServerInvoker.java
Log:
JBREM-298: Added ability to create socket creation listener from class name.
Revision Changes Path
No revision
No revision
1.52.2.17 +27 -4 JBossRemoting/src/main/org/jboss/remoting/ServerInvoker.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ServerInvoker.java
===================================================================
RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/ServerInvoker.java,v
retrieving revision 1.52.2.16
retrieving revision 1.52.2.17
diff -u -b -r1.52.2.16 -r1.52.2.17
--- ServerInvoker.java 16 Jan 2007 23:28:46 -0000 1.52.2.16
+++ ServerInvoker.java 17 Jan 2007 05:10:17 -0000 1.52.2.17
@@ -65,7 +65,7 @@
*
* @author <a href="mailto:jhaynie at vocalocity.net">Jeff Haynie</a>
* @author <a href="mailto:tom.elrod at jboss.com">Tom Elrod</a>
- * @version $Revision: 1.52.2.16 $
+ * @version $Revision: 1.52.2.17 $
*/
public abstract class ServerInvoker extends AbstractInvoker implements ServerInvokerMBean
{
@@ -524,10 +524,33 @@
return ssf;
Object o = config.get(Remoting.SOCKET_CREATION_SERVER_LISTENER);
- if (o != null && o instanceof SocketCreationListener)
- return new CreationListenerServerSocketFactory(ssf, (SocketCreationListener) o);
+ if (o == null)
return ssf;
+
+ if (o instanceof SocketCreationListener)
+ {
+ return new CreationListenerServerSocketFactory(ssf, (SocketCreationListener) o);
+ }
+ else if (o instanceof String)
+ {
+ try
+ {
+ Class c = ClassLoaderUtility.loadClass((String) o, ServerInvoker.class);
+ SocketCreationListener listener = (SocketCreationListener) c.newInstance();
+ return new CreationListenerServerSocketFactory(ssf, listener);
+ }
+ catch (Exception e)
+ {
+ log.error("unable to instantiate class: " + o, e);
+ return ssf;
+ }
+ }
+ else
+ {
+ log.error("unrecognized type for socket creation server listener: " + o);
+ return ssf;
+ }
}
More information about the jboss-cvs-commits
mailing list