hammant 02/03/12 14:57:18
Modified: lib commons-altrmi-client-impl.jar
commons-altrmi-client-interfaces.jar
commons-altrmi-common.jar
commons-altrmi-generator.jar
commons-altrmi-server-impl.jar
commons-altrmi-server-interfaces.jar
src/java/org/apache/avalon/cornerstone/blocks/transport/publishing
AbstractPublisher.java RmiPublisher.java
SocketObjectStreamConnectionHandler.java
SocketObjectStreamPublisher.java
Added:
src/java/org/apache/avalon/cornerstone/blocks/transport/publishing
AbstractStreamPublisher.java
SocketCustomStreamConnectionHandler.java
SocketCustomStreamPublisher.java
Log:
Improved transport package and AltRMI jars
Revision Changes Path
1.18 +211 -153
jakarta-avalon-cornerstone/lib/commons-altrmi-client-impl.jar
<<Binary file>>
1.18 +24 -21
jakarta-avalon-cornerstone/lib/commons-altrmi-client-interfaces.jar
<<Binary file>>
1.18 +55 -49 jakarta-avalon-cornerstone/lib/commons-altrmi-common.jar
<<Binary file>>
1.19 +47 -51
jakarta-avalon-cornerstone/lib/commons-altrmi-generator.jar
<<Binary file>>
1.19 +165 -141
jakarta-avalon-cornerstone/lib/commons-altrmi-server-impl.jar
<<Binary file>>
1.17 +26 -24
jakarta-avalon-cornerstone/lib/commons-altrmi-server-interfaces.jar
<<Binary file>>
1.11 +67 -49
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractPublisher.java
Index: AbstractPublisher.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractPublisher.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- AbstractPublisher.java 24 Feb 2002 11:06:10 -0000 1.10
+++ AbstractPublisher.java 12 Mar 2002 22:57:18 -0000 1.11
@@ -10,37 +10,37 @@
-import org.apache.commons.altrmi.server.AltrmiPublisher;
-import org.apache.commons.altrmi.server.PublicationException;
-import org.apache.commons.altrmi.server.AltrmiServer;
-import org.apache.commons.altrmi.server.ClassRetriever;
-import org.apache.commons.altrmi.server.AltrmiAuthenticator;
-import org.apache.commons.altrmi.server.MethodInvocationHandler;
-import
org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
-import
org.apache.commons.altrmi.server.impl.classretrievers.NoClassRetriever;
-import org.apache.commons.altrmi.common.MethodRequest;
-import org.apache.commons.altrmi.server.PublicationDescription;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.activity.Startable;
import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.configuration.Configurable;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.component.Composable;
-import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.configuration.Configurable;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.phoenix.Block;
import org.apache.avalon.phoenix.BlockContext;
-import org.apache.avalon.cornerstone.services.sockets.SocketManager;
+import org.apache.commons.altrmi.server.AltrmiPublisher;
+import org.apache.commons.altrmi.server.ClassRetriever;
+import org.apache.commons.altrmi.server.AltrmiAuthenticator;
+import org.apache.commons.altrmi.server.PublicationException;
+import org.apache.commons.altrmi.server.PublicationDescription;
+import org.apache.commons.altrmi.server.MethodInvocationHandler;
+import org.apache.commons.altrmi.server.impl.AbstractServer;
+import
org.apache.commons.altrmi.server.impl.classretrievers.NoClassRetriever;
+import
org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
+import org.apache.commons.altrmi.common.MethodRequest;
+
+import java.io.File;
import java.util.StringTokenizer;
import java.util.Vector;
-import java.net.MalformedURLException;
-import java.io.File;
import java.net.URL;
+import java.net.MalformedURLException;
/**
@@ -48,14 +48,14 @@
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public abstract class AbstractPublisher extends AbstractLogEnabled
- implements AltrmiPublisher, Startable, Composable, Contextualizable,
- Configurable, Initializable, Block
+ implements AltrmiPublisher, Startable, Composable, Contextualizable,
Configurable,
+ Initializable, Block
{
- protected AltrmiServer m_AltrmiServer;
+ protected AbstractServer m_AbstractServer;
private ClassRetriever m_ClassRetriever;
protected AltrmiAuthenticator m_AltrmiAuthenticator;
protected File mBaseDirectory;
@@ -81,21 +81,33 @@
while (st.hasMoreTokens())
{
- try {
+ try
+ {
String url = st.nextToken();
- if (url.startsWith("./")) {
- File file = new File(mBaseDirectory,
url.substring(2,url.length()));
+
+ if (url.startsWith("./"))
+ {
+ File file = new File(mBaseDirectory,
url.substring(2, url.length()));
+
vector.add(file.toURL());
- } else {
- vector.add(new URL(url));
}
- } catch (MalformedURLException e) {
- getLogger().debug("Can't create URL from config element
'gerneratedClassJarURLs'",e);
+ else
+ {
+ vector.add(new URL(url));
+ }
+ }
+ catch (MalformedURLException e)
+ {
+ getLogger()
+ .debug("Can't create URL from config element
'gerneratedClassJarURLs'",
+ e);
}
}
URL[] urls = new URL[vector.size()];
+
vector.copyInto(urls);
+
m_ClassRetriever = new JarFileClassRetriever(urls);
}
else if (classRetrieverType.equals("none"))
@@ -113,10 +125,12 @@
* Method contextualize
*
*
- * @param mContext
+ *
+ * @param context
*
*/
- public void contextualize(final Context context) {
+ public void contextualize(final Context context)
+ {
mBaseDirectory = ((BlockContext) context).getBaseDirectory();
}
@@ -144,8 +158,8 @@
*/
public void initialize() throws Exception
{
- m_AltrmiServer.setClassRetriever(m_ClassRetriever);
- m_AltrmiServer.setAuthenticator(m_AltrmiAuthenticator);
+ m_AbstractServer.setClassRetriever(m_ClassRetriever);
+ m_AbstractServer.setAuthenticator(m_AltrmiAuthenticator);
}
/**
@@ -156,12 +170,14 @@
* @param asName
* @param interfaceToExpose
*
- * @throws AltrmiPublicationException
+ *
+ * @throws PublicationException
*
*/
- public void publish(Object implementation, String asName, Class
interfaceToExpose) throws PublicationException
+ public void publish(Object implementation, String asName, Class
interfaceToExpose)
+ throws PublicationException
{
- m_AltrmiServer.publish(implementation, asName, interfaceToExpose);
+ m_AbstractServer.publish(implementation, asName, interfaceToExpose);
}
/**
@@ -171,15 +187,16 @@
* @param implementation
* @param asName
* @param publicationDescription
- * @param aClass1
*
- * @throws AltrmiPublicationException
+ *
+ * @throws PublicationException
*
*/
- public void publish(Object implementation, String asName,
PublicationDescription publicationDescription)
- throws PublicationException
+ public void publish(
+ Object implementation, String asName, PublicationDescription
publicationDescription)
+ throws PublicationException
{
- m_AltrmiServer.publish(implementation, asName,
publicationDescription);
+ m_AbstractServer.publish(implementation, asName,
publicationDescription);
}
/**
@@ -189,12 +206,13 @@
* @param o
* @param s
*
- * @throws AltrmiPublicationException
+ *
+ * @throws PublicationException
*
*/
public void unPublish(Object o, String s) throws PublicationException
{
- m_AltrmiServer.unPublish(o, s);
+ m_AbstractServer.unPublish(o, s);
}
/**
@@ -205,12 +223,13 @@
* @param s
* @param o1
*
- * @throws AltrmiPublicationException
+ *
+ * @throws PublicationException
*
*/
public void replacePublished(Object o, String s, Object o1) throws
PublicationException
{
- m_AltrmiServer.replacePublished(o, s, o1);
+ m_AbstractServer.replacePublished(o, s, o1);
}
/**
@@ -220,7 +239,7 @@
*/
public void start() throws Exception
{
- m_AltrmiServer.start();
+ m_AbstractServer.start();
}
/**
@@ -230,7 +249,7 @@
*/
public void stop() throws Exception
{
- m_AltrmiServer.stop();
+ m_AbstractServer.stop();
}
/**
@@ -245,7 +264,6 @@
*/
public MethodInvocationHandler getMethodInvocationHandler(MethodRequest
request, String s)
{
- return m_AltrmiServer.getMethodInvocationHandler(request, s);
+ return m_AbstractServer.getMethodInvocationHandler(request, s);
}
-
}
1.5 +2 -4
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/RmiPublisher.java
Index: RmiPublisher.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/RmiPublisher.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- RmiPublisher.java 29 Jan 2002 14:50:34 -0000 1.4
+++ RmiPublisher.java 12 Mar 2002 22:57:18 -0000 1.5
@@ -22,7 +22,7 @@
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class RmiPublisher extends AbstractPublisher
{
@@ -56,10 +56,8 @@
public void initialize() throws Exception
{
- m_AltrmiServer = new RmiServer(mHost, mPort);
+ m_AbstractServer = new RmiServer(mHost, mPort);
super.initialize();
}
-
-
}
1.4 +6 -7
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamConnectionHandler.java
Index: SocketObjectStreamConnectionHandler.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamConnectionHandler.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SocketObjectStreamConnectionHandler.java 16 Jan 2002 13:30:03 -0000
1.3
+++ SocketObjectStreamConnectionHandler.java 12 Mar 2002 22:57:18 -0000
1.4
@@ -1,11 +1,10 @@
/*
- * Created by IntelliJ IDEA.
- * User: Administrator
- * Date: Jan 9, 2002
- * Time: 10:25:12 PM
- * To change template for new class use
- * Code Style | Class Templates options (Tools | IDE Options).
+ * Copyright (C) The Apache Software Foundation. All rights reserved.
+ *
+ * This software is published under the terms of the Apache Software License
+ * version 1.1, a copy of which has been included with this distribution in
+ * the LICENSE.txt file.
*/
package org.apache.avalon.cornerstone.blocks.transport.publishing;
@@ -27,7 +26,7 @@
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class SocketObjectStreamConnectionHandler extends AbstractLogEnabled
implements Component, ConnectionHandler
1.5 +6 -72
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamPublisher.java
Index: SocketObjectStreamPublisher.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketObjectStreamPublisher.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SocketObjectStreamPublisher.java 16 Jan 2002 13:30:03 -0000 1.4
+++ SocketObjectStreamPublisher.java 12 Mar 2002 22:57:18 -0000 1.5
@@ -10,83 +10,20 @@
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.component.Composable;
-import org.apache.avalon.framework.component.ComponentManager;
-import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.cornerstone.services.sockets.SocketManager;
-import org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory;
-import org.apache.avalon.cornerstone.services.connection.ConnectionManager;
-import
org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory;
import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
import
org.apache.commons.altrmi.server.impl.socket.PartialSocketObjectStreamServer;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.net.ServerSocket;
-
/**
* Class SocketObjectStreamPublisher
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
-public class SocketObjectStreamPublisher extends AbstractPublisher
- implements ConnectionHandlerFactory
+public class SocketObjectStreamPublisher extends AbstractStreamPublisher
{
- private SocketManager m_socketManager;
- private ConnectionManager m_connectionManager;
- private int m_port;
- private InetAddress m_bindTo;
-
- /**
- * Pass the <code>Configuration</code> to the <code>Configurable</code>
- * class. This method must always be called after the constructor
- * and before any other method.
- *
- * @param configuration the class configurations.
- */
- public void configure(Configuration configuration) throws
ConfigurationException
- {
-
- super.configure(configuration);
-
- m_port = configuration.getChild("port").getValueAsInteger();
-
- try
- {
- final String bindAddress =
configuration.getChild("bind").getValue();
-
- m_bindTo = InetAddress.getByName(bindAddress);
- }
- catch (final UnknownHostException unhe)
- {
- throw new ConfigurationException("Malformed bind parameter",
unhe);
- }
- }
-
- /**
- * Method compose
- *
- *
- * @param manager
- *
- * @throws ComponentException
- *
- */
- public void compose(ComponentManager manager) throws ComponentException
- {
-
- super.compose(manager);
-
- m_socketManager = (SocketManager) manager.lookup(SocketManager.ROLE);
- m_connectionManager = (ConnectionManager)
manager.lookup(ConnectionManager.ROLE);
- }
-
/**
* Construct an appropriate ConnectionHandler.
*
@@ -98,7 +35,7 @@
final SocketObjectStreamConnectionHandler handler =
new SocketObjectStreamConnectionHandler(
- (PartialSocketObjectStreamServer) m_AltrmiServer);
+ (PartialSocketObjectStreamServer) m_AbstractServer);
setupLogger(handler);
@@ -123,13 +60,10 @@
public void initialize() throws Exception
{
- m_AltrmiServer = new PartialSocketObjectStreamServer();
+ m_AbstractServer = new PartialSocketObjectStreamServer();
+ setupLogger(m_AbstractServer);
super.initialize();
-
- final ServerSocketFactory factory =
m_socketManager.getServerSocketFactory("plain");
- final ServerSocket serverSocket = factory.createServerSocket(m_port,
5, m_bindTo);
-
- m_connectionManager.connect("SocketObjectStreamListener",
serverSocket, this);
+ m_connectionManager.connect("SocketObjectStreamListener",
makeServerSocket(), this);
}
}
1.1
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/AbstractStreamPublisher.java
Index: AbstractStreamPublisher.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.cornerstone.blocks.transport.publishing;
import
org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory;
import org.apache.avalon.cornerstone.services.connection.ConnectionManager;
import org.apache.avalon.cornerstone.services.sockets.SocketManager;
import org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.net.ServerSocket;
/**
* Class AbstractStreamPublisher
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
* @version $Revision: 1.1 $
*/
public abstract class AbstractStreamPublisher extends AbstractPublisher
implements ConnectionHandlerFactory
{
protected SocketManager m_socketManager;
protected ConnectionManager m_connectionManager;
private int m_port;
private InetAddress m_bindTo;
/**
* Pass the <code>Configuration</code> to the <code>Configurable</code>
* class. This method must always be called after the constructor
* and before any other method.
*
* @param configuration the class configurations.
*/
public final void configure(Configuration configuration) throws
ConfigurationException
{
super.configure(configuration);
m_port = configuration.getChild("port").getValueAsInteger();
try
{
final String bindAddress =
configuration.getChild("bind").getValue();
m_bindTo = InetAddress.getByName(bindAddress);
}
catch (final UnknownHostException unhe)
{
throw new ConfigurationException("Malformed bind parameter",
unhe);
}
}
/**
* Method compose
*
*
* @param manager
*
* @throws ComponentException
*
*/
public final void compose(ComponentManager manager) throws
ComponentException
{
super.compose(manager);
m_socketManager = (SocketManager) manager.lookup(SocketManager.ROLE);
m_connectionManager = (ConnectionManager)
manager.lookup(ConnectionManager.ROLE);
}
protected ServerSocket makeServerSocket()
{
final ServerSocketFactory factory =
m_socketManager.getServerSocketFactory("plain");
return factory.createServerSocket(m_port, 5, m_bindTo);
}
}
1.1
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketCustomStreamConnectionHandler.java
Index: SocketCustomStreamConnectionHandler.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.cornerstone.blocks.transport.publishing;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
import
org.apache.commons.altrmi.server.impl.socket.PartialSocketCustomStreamServer;
import java.net.Socket;
import java.net.ProtocolException;
import java.io.IOException;
/**
* Class SocketCustomStreamConnectionHandler
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
* @version $Revision: 1.1 $
*/
public class SocketCustomStreamConnectionHandler extends AbstractLogEnabled
implements Component, ConnectionHandler
{
private PartialSocketCustomStreamServer m_PartialSocketCustomStreamServer;
/**
* Constructor SocketCustomStreamConnectionHandler
*
*
* @param partialSocketCustomStreamServer
*
*/
public SocketCustomStreamConnectionHandler(
PartialSocketCustomStreamServer partialSocketCustomStreamServer)
{
m_PartialSocketCustomStreamServer = partialSocketCustomStreamServer;
}
/**
* Handle a connection.
* This handler is responsible for processing connections as they occur.
*
* @param connection the connection
* @exception IOException if an error reading from socket occurs
* @exception ProtocolException if an error handling connection occurs
*/
public void handleConnection(Socket connection) throws IOException,
ProtocolException
{
m_PartialSocketCustomStreamServer.handleConnection(connection);
}
}
1.1
jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/transport/publishing/SocketCustomStreamPublisher.java
Index: SocketCustomStreamPublisher.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.cornerstone.blocks.transport.publishing;
import org.apache.avalon.cornerstone.services.connection.ConnectionHandler;
import
org.apache.commons.altrmi.server.impl.socket.PartialSocketCustomStreamServer;
/**
* Class SocketCustomStreamPublisher
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
* @version $Revision: 1.1 $
*/
public class SocketCustomStreamPublisher extends AbstractStreamPublisher
{
/**
* Construct an appropriate ConnectionHandler.
*
* @return the new ConnectionHandler
* @exception Exception if an error occurs
*/
public ConnectionHandler createConnectionHandler() throws Exception
{
final SocketCustomStreamConnectionHandler handler =
new SocketCustomStreamConnectionHandler(
(PartialSocketCustomStreamServer) m_AbstractServer);
setupLogger(handler);
return handler;
}
/**
* Release a previously created ConnectionHandler.
* e.g. for spooling.
*/
public void releaseConnectionHandler(ConnectionHandler connectionHandler)
{
}
/**
* Initialialize the component. Initialization includes
* allocating any resources required throughout the
* components lifecycle.
*
* @exception Exception if an error occurs
*/
public void initialize() throws Exception
{
m_AbstractServer = new PartialSocketCustomStreamServer();
setupLogger(m_AbstractServer);
super.initialize();
m_connectionManager.connect("SocketCustomStreamListener",
makeServerSocket(), this);
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>