getAuthenticationMechanisms()
+ {
+ return EMPTY_LIST;
+ }
+
+ public boolean auth(String clientInput, StringBuffer response) throws RejectException
+ {
+ return true;
+ }
+
+ public void resetState()
+ {
+ }
+ };
+
+ class Delivery
+ {
+ private String recipient;
+
+ public Delivery(String recipient)
+ {
+ this.recipient = recipient;
+ }
+
+ public String getRecipient()
+ {
+ return recipient;
+ }
+ };
+
+}
diff --git a/source/java/org/alfresco/service/cmr/email/EmailMessage.java b/source/java/org/alfresco/service/cmr/email/EmailMessage.java
new file mode 100644
index 0000000000..409126bf29
--- /dev/null
+++ b/source/java/org/alfresco/service/cmr/email/EmailMessage.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.service.cmr.email;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Interface to process email messages.
+ *
+ * @author maxim
+ * @since 2.2
+ */
+public interface EmailMessage extends Serializable
+{
+ /**
+ * @return FROM address.
+ */
+ public String getFrom();
+
+ /**
+ * @return TO address.
+ */
+ public String getTo();
+
+ /**
+ * @return sent date.
+ */
+ public Date getSentDate();
+
+ /**
+ * @return subject of the message.
+ */
+ public String getSubject();
+
+ /**
+ * @return part of the mail body.
+ */
+ public EmailMessagePart getBody();
+
+ /**
+ * @return parts of the mail attachments.
+ */
+ public EmailMessagePart[] getAttachments();
+
+}
diff --git a/source/java/org/alfresco/service/cmr/email/EmailMessageException.java b/source/java/org/alfresco/service/cmr/email/EmailMessageException.java
new file mode 100644
index 0000000000..6b51515b28
--- /dev/null
+++ b/source/java/org/alfresco/service/cmr/email/EmailMessageException.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.service.cmr.email;
+
+/**
+ * @since 2.2
+ */
+public class EmailMessageException extends RuntimeException
+{
+ private static final long serialVersionUID = 5039365329619219256L;
+
+ /**
+ * Empty contructor
+ */
+ public EmailMessageException()
+ {
+
+ super();
+ }
+
+ /**
+ * @param message exception message.
+ * @param cause throwable object.
+ */
+ public EmailMessageException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ /**
+ * @param message exception message.
+ */
+ public EmailMessageException(String message)
+ {
+ super(message);
+ }
+
+ /**
+ * @param cause throwable object
+ */
+ public EmailMessageException(Throwable cause)
+ {
+ super(cause);
+ }
+}
diff --git a/source/java/org/alfresco/service/cmr/email/EmailMessagePart.java b/source/java/org/alfresco/service/cmr/email/EmailMessagePart.java
new file mode 100644
index 0000000000..32a4abc974
--- /dev/null
+++ b/source/java/org/alfresco/service/cmr/email/EmailMessagePart.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.service.cmr.email;
+
+import java.io.InputStream;
+import java.io.Serializable;
+
+/**
+ * Interface to process email parts.
+ *
+ * @author maxim
+ * @since 2.2
+ */
+public interface EmailMessagePart extends Serializable
+{
+ /**
+ * @return size.
+ */
+ public int getSize();
+
+ /**
+ * @return file name.
+ */
+ public String getFileName();
+
+ /**
+ * @return encoding.
+ */
+ public String getEncoding();
+
+ /**
+ * @return content type.
+ */
+ public String getContentType();
+
+ /**
+ * @return InputStream reference.
+ */
+ public InputStream getContent();
+}
diff --git a/source/java/org/alfresco/service/cmr/email/EmailService.java b/source/java/org/alfresco/service/cmr/email/EmailService.java
new file mode 100644
index 0000000000..a04ae89471
--- /dev/null
+++ b/source/java/org/alfresco/service/cmr/email/EmailService.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.service.cmr.email;
+
+import org.alfresco.service.Auditable;
+import org.alfresco.service.PublicService;
+import org.alfresco.service.cmr.repository.NodeRef;
+
+/**
+ * Service to process email messages. The incoming messages are treated as content that need
+ * to be created or modified. The target node can be the address of the node:
+ *
+ *
+ * 14232@alfresco.mycorp.com
+ * where
+ * 14232 is a the node's unique identifier (sys:node-dbid)
+ *
+ *
+ * @since 2.2
+ * @author Derek Hulley
+ */
+@PublicService
+public interface EmailService
+{
+ /**
+ * Processes an email message. The message's content is intended for a node found by
+ * examining the email's target address.
+ *
+ * @param message the email message
+ * @throws EmailMessageRejectException if the message is rejected for any reason
+ */
+ @Auditable(parameters = { "message" })
+ void importMessage(EmailMessage message);
+
+ /**
+ * Process an email message. The message's content is intended for a specific node.
+ *
+ * @param nodeRef the node to import the message to
+ * @param message the email message
+ * @throws EmailMessageRejectException if the message is rejected for any reason
+ */
+ @Auditable(key = Auditable.Key.ARG_0, parameters = { "nodeRef", "message" })
+ void importMessage(NodeRef nodeRef, EmailMessage message);
+}
diff --git a/source/java/org/alfresco/service/namespace/NamespaceService.java b/source/java/org/alfresco/service/namespace/NamespaceService.java
index e9720fe97b..afe2973947 100644
--- a/source/java/org/alfresco/service/namespace/NamespaceService.java
+++ b/source/java/org/alfresco/service/namespace/NamespaceService.java
@@ -117,6 +117,12 @@ public interface NamespaceService extends NamespacePrefixResolver
/** WCM Application Model Prefix */
static final String WCMAPP_MODEL_PREFIX = "wca";
+
+ /** Email Server Application Model URI */
+ static final String EMAILSERVER_MODEL_URI = "http://www.alfresco.org/model/emailserver/1.0";
+
+ /** Email Server Application Model Prefix */
+ static final String EMAILSERVER_MODEL_PREFIX = "emailserver";
/** WCM Workflow Model Prefix */
static final String WCMWF_MODEL = "wcmwf";
diff --git a/source/java/org/alfresco/util/remote/RemotableInputStream.java b/source/java/org/alfresco/util/remote/RemotableInputStream.java
new file mode 100644
index 0000000000..9e580d45ca
--- /dev/null
+++ b/source/java/org/alfresco/util/remote/RemotableInputStream.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.util.remote;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.net.InetAddress;
+
+import org.alfresco.util.remote.server.RemoteInputStreamServer;
+import org.alfresco.util.remote.server.RmiRemoteInputStreamServer;
+
+/**
+ * The data consuming side of the remote connection that the InputStream
spans.
+ *
+ * @author Michael Shavnev
+ * @since Alfresco 2.2
+ */
+public class RemotableInputStream extends InputStream implements Serializable
+{
+ private static final long serialVersionUID = 2434858590717000057L;
+
+ private int port;
+ private String host;
+ private String name;
+
+ transient private RemoteInputStreamServer inputStreamServer;
+
+ public RemotableInputStream(String host, int port, InputStream inputStream)
+ {
+ this.host = host;
+ this.port = port;
+ this.inputStreamServer = new RmiRemoteInputStreamServer(inputStream);
+ }
+
+ public void close() throws IOException
+ {
+ inputStreamServer.close();
+ }
+
+ public int read() throws IOException
+ {
+ return inputStreamServer.read();
+ }
+
+ public int read(byte[] bytes) throws IOException
+ {
+ return inputStreamServer.read(bytes);
+ }
+
+ public int read(byte[] bytes, int off, int len) throws IOException
+ {
+ return inputStreamServer.read(bytes, off, len);
+ }
+
+ public long skip(long n) throws IOException
+ {
+ return inputStreamServer.skip(n);
+ }
+
+ public int available() throws IOException
+ {
+ return inputStreamServer.available();
+ }
+
+ public void mark(int readlimit)
+ {
+ inputStreamServer.mark(readlimit);
+ }
+
+ public boolean markSupported()
+ {
+ return inputStreamServer.markSupported();
+ }
+
+ public void reset() throws IOException
+ {
+ inputStreamServer.reset();
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException
+ {
+ name = inputStreamServer.start(host, port);
+ out.defaultWriteObject();
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
+ {
+ in.defaultReadObject();
+ inputStreamServer = (RemoteInputStreamServer) RmiRemoteInputStreamServer.obtain(host, port, name);
+ }
+
+ public static void main(String[] args) throws Exception
+ {
+ RemotableInputStream remotableInputStream = new RemotableInputStream(InetAddress.getLocalHost().getHostName(), 7777, new ByteArrayInputStream("test".getBytes()));
+
+ for (int b = -1; (b = remotableInputStream.read()) != -1;)
+ {
+ System.out.println((char) b);
+ }
+
+ remotableInputStream = new RemotableInputStream(InetAddress.getLocalHost().getHostName(), 7777, new ByteArrayInputStream("test".getBytes()));
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(remotableInputStream);
+
+ ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray()));
+ remotableInputStream = (RemotableInputStream) ois.readObject();
+
+ for (int b = -1; (b = remotableInputStream.read()) != -1;)
+ {
+ System.out.println((char) b);
+ }
+ remotableInputStream.close();
+ }
+}
diff --git a/source/java/org/alfresco/util/remote/server/AbstractRemoteInputStreamServer.java b/source/java/org/alfresco/util/remote/server/AbstractRemoteInputStreamServer.java
new file mode 100644
index 0000000000..d410a4339b
--- /dev/null
+++ b/source/java/org/alfresco/util/remote/server/AbstractRemoteInputStreamServer.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.util.remote.server;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * The data producing side of the remote connection that the InputStream
spans.
+ *
+ * @author Michael Shavnev
+ * @since Alfresco 2.2
+ */
+public abstract class AbstractRemoteInputStreamServer implements RemoteInputStreamServer
+{
+ protected InputStream inputStream;
+
+ protected AbstractRemoteInputStreamServer(InputStream inputStream)
+ {
+ this.inputStream = inputStream;
+ }
+
+ public int read() throws IOException
+ {
+ return inputStream.read();
+ }
+
+ public int read(byte[] bytes) throws IOException
+ {
+ return inputStream.read(bytes);
+ }
+
+ public int read(byte[] bytes, int off, int len) throws IOException
+ {
+ return inputStream.read(bytes, off, len);
+ }
+
+ public long skip(long n) throws IOException
+ {
+ return inputStream.skip(n);
+ }
+
+ public int available() throws IOException
+ {
+ return inputStream.available();
+ }
+
+ public void mark(int readlimit)
+ {
+ inputStream.mark(readlimit);
+ }
+
+ public boolean markSupported()
+ {
+ return inputStream.markSupported();
+ }
+
+ public void reset() throws IOException
+ {
+ inputStream.reset();
+ }
+
+ public void close() throws IOException
+ {
+ inputStream.close();
+ }
+}
diff --git a/source/java/org/alfresco/util/remote/server/RemoteInputStreamServer.java b/source/java/org/alfresco/util/remote/server/RemoteInputStreamServer.java
new file mode 100644
index 0000000000..8b52369f0a
--- /dev/null
+++ b/source/java/org/alfresco/util/remote/server/RemoteInputStreamServer.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.util.remote.server;
+
+import java.io.IOException;
+import java.rmi.RemoteException;
+
+/**
+ * Interface for remote input stream support.
+ *
+ * @author Michael Shavnev
+ * @since Alfresco 2.2
+ */
+public interface RemoteInputStreamServer
+{
+ public String start(String host, int port) throws RemoteException;
+
+ public int read() throws IOException;
+
+ public int read(byte[] bytes) throws IOException;
+
+ public int read(byte[] bytes, int off, int len) throws IOException;
+
+ public long skip(long n) throws IOException;
+
+ public int available() throws IOException;
+
+ public void mark(int readlimit);
+
+ public boolean markSupported();
+
+ public void reset() throws IOException;
+
+ public void close() throws IOException;
+}
diff --git a/source/java/org/alfresco/util/remote/server/RmiRemoteInputStreamServer.java b/source/java/org/alfresco/util/remote/server/RmiRemoteInputStreamServer.java
new file mode 100644
index 0000000000..8b1def432f
--- /dev/null
+++ b/source/java/org/alfresco/util/remote/server/RmiRemoteInputStreamServer.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.util.remote.server;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.rmi.RemoteException;
+import java.util.UUID;
+
+import org.springframework.remoting.rmi.RmiProxyFactoryBean;
+import org.springframework.remoting.rmi.RmiServiceExporter;
+
+/**
+ * Concrete implementation of a remoting InputStream based on RMI.
+ *
+ * @author Michael Shavnev
+ * @since Alfresco 2.2
+ */
+public class RmiRemoteInputStreamServer extends AbstractRemoteInputStreamServer
+{
+ private RmiServiceExporter rmiServiceExporter;
+
+ public RmiRemoteInputStreamServer(InputStream inputStream)
+ {
+ super(inputStream);
+ }
+
+ public String start(String host, int port) throws RemoteException
+ {
+ String name = inputStream.getClass().getName() + UUID.randomUUID();
+ rmiServiceExporter = new RmiServiceExporter();
+ rmiServiceExporter.setServiceName(name);
+ rmiServiceExporter.setRegistryPort(port);
+ rmiServiceExporter.setRegistryHost(host);
+ rmiServiceExporter.setServiceInterface(RemoteInputStreamServer.class);
+ rmiServiceExporter.setService(this);
+ rmiServiceExporter.afterPropertiesSet();
+ return name;
+ }
+
+ /**
+ * Closes the stream and the RMI connection to the peer.
+ */
+ public void close() throws IOException
+ {
+ try
+ {
+ inputStream.close();
+ }
+ finally
+ {
+ if (rmiServiceExporter != null)
+ {
+ try
+ {
+ rmiServiceExporter.destroy();
+ }
+ catch (Throwable e)
+ {
+ throw new IOException(e.getMessage(), e);
+ }
+ }
+ }
+ }
+
+ /**
+ * Utility method to lookup a remote stream peer over RMI.
+ */
+ public static RemoteInputStreamServer obtain(String host, int port, String name) throws RemoteException
+ {
+ RmiProxyFactoryBean rmiProxyFactoryBean = new RmiProxyFactoryBean();
+ rmiProxyFactoryBean.setServiceUrl("rmi://" + host + ":" + port + "/" + name);
+ rmiProxyFactoryBean.setServiceInterface(RemoteInputStreamServer.class);
+ rmiProxyFactoryBean.setRefreshStubOnConnectFailure(true);
+ try
+ {
+ rmiProxyFactoryBean.afterPropertiesSet();
+ }
+ catch (Exception e)
+ {
+ throw new RemoteException("Error create rmi proxy");
+ }
+ return (RemoteInputStreamServer) rmiProxyFactoryBean.getObject();
+ }
+}