org.apache.james.transport.mailets
Class RemoteDeliverySocketFactory

java.lang.Object
  extended byjavax.net.SocketFactory
      extended byorg.apache.james.transport.mailets.RemoteDeliverySocketFactory

public class RemoteDeliverySocketFactory
extends SocketFactory

It is used by RemoteDelivery in order to make possible to bind the client socket to a specific ip address. This is not a nice solution because the ip address must be shared by all RemoteDelivery instances. It would be better to modify JavaMail (current version 1.3) to support a corresonding property, e.g. mail.smtp.bindAdress. This used to not extend javax.net.SocketFactory descendant, because 1. it was not necessary because JavaMail 1.2 uses reflection when accessing this class; 2. it was not desirable because it would require java 1.4. But since James 2.3.0a1: 1. we require Java 1.4 so the dependency on SocketFactory is not really an issue; 2. Javamail 1.4 cast the object returned by getDefault to SocketFactory and fails to create the socket if we don't extend SocketFactory. Note: Javamail 1.4 should correctly support mail.smtp.localaddr so we could probably get rid of this class and simply add that property to the Session.


Constructor Summary
RemoteDeliverySocketFactory()
           
 
Method Summary
 Socket createSocket()
          the same as the similarly named javax.net.SocketFactory operation.
 Socket createSocket(InetAddress host, int port)
          the same as the similarly named javax.net.SocketFactory operation.
 Socket createSocket(InetAddress address, int port, InetAddress clientAddress, int clientPort)
          the same as the similarly named javax.net.SocketFactory operation.
 Socket createSocket(String host, int port)
          the same as the similarly named javax.net.SocketFactory operation.
 Socket createSocket(String host, int port, InetAddress clientHost, int clientPort)
          the same as the similarly named javax.net.SocketFactory operation.
static SocketFactory getDefault()
          the same as the similarly named javax.net.SocketFactory operation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteDeliverySocketFactory

public RemoteDeliverySocketFactory()
Method Detail

getDefault

public static SocketFactory getDefault()
the same as the similarly named javax.net.SocketFactory operation.


createSocket

public Socket createSocket()
                    throws IOException
the same as the similarly named javax.net.SocketFactory operation. Just to be safe, it is not used by JavaMail 1.3. This is the only method used by JavaMail 1.4.

Throws:
IOException

createSocket

public Socket createSocket(String host,
                           int port)
                    throws IOException,
                           UnknownHostException
the same as the similarly named javax.net.SocketFactory operation. This is the one which is used by JavaMail 1.3. This is not used by JavaMail 1.4.

Throws:
IOException
UnknownHostException

createSocket

public Socket createSocket(String host,
                           int port,
                           InetAddress clientHost,
                           int clientPort)
                    throws IOException,
                           UnknownHostException
the same as the similarly named javax.net.SocketFactory operation. Just to be safe, it is not used by JavaMail 1.3. This is not used by JavaMail 1.4.

Throws:
IOException
UnknownHostException

createSocket

public Socket createSocket(InetAddress host,
                           int port)
                    throws IOException
the same as the similarly named javax.net.SocketFactory operation. Just to be safe, it is not used by JavaMail 1.3. This is not used by JavaMail 1.4.

Throws:
IOException

createSocket

public Socket createSocket(InetAddress address,
                           int port,
                           InetAddress clientAddress,
                           int clientPort)
                    throws IOException
the same as the similarly named javax.net.SocketFactory operation. Just to be safe, it is not used by JavaMail 1.3. This is not used by JavaMail 1.4.

Throws:
IOException


"Copyright © 1999-2006 Apache Jakarta Project. All Rights Reserved."