mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)
92321: Merged 5.0.N (5.0.1) to HEAD-BUG-FIX (5.1/Cloud) 92221: Merged V4.2-BUG-FIX (4.2.5) to 5.0.N (5.0.1) 92039: Merged V4.2.1 (4.2.1.18) to V4.2-BUG-FIX (4.2.5) 91922: MNT-12903 : Outlook 2013: moving a file from a folder to another makes it a EML file - Delete delay is configurable. Logging has been added to CommandCallback git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@94866 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -189,6 +189,9 @@
|
|||||||
<value>Message-Id</value>
|
<value>Message-Id</value>
|
||||||
</list>
|
</list>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="imapServerShuffleMoveDeleteDelay">
|
||||||
|
<value>${imap.server.shuffle.move.delete.delay}</value>
|
||||||
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<!-- Public Imap Service -->
|
<!-- Public Imap Service -->
|
||||||
|
@@ -19,3 +19,5 @@ imap.server.imap.enabled=true
|
|||||||
# javax.net.ssl.keyStorePassword=123456
|
# javax.net.ssl.keyStorePassword=123456
|
||||||
imap.server.imaps.enabled=false
|
imap.server.imaps.enabled=false
|
||||||
imap.server.imaps.port=993
|
imap.server.imaps.port=993
|
||||||
|
|
||||||
|
imap.server.shuffle.move.delete.delay=10000
|
@@ -30,6 +30,8 @@ import org.alfresco.repo.imap.exception.AlfrescoImapFolderException;
|
|||||||
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
||||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.service.ServiceRegistry;
|
import org.alfresco.service.ServiceRegistry;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
import com.icegreen.greenmail.foedus.util.MsgRangeFilter;
|
import com.icegreen.greenmail.foedus.util.MsgRangeFilter;
|
||||||
import com.icegreen.greenmail.mail.MovingMessage;
|
import com.icegreen.greenmail.mail.MovingMessage;
|
||||||
@@ -48,6 +50,8 @@ public abstract class AbstractImapFolder implements MailFolder
|
|||||||
{
|
{
|
||||||
private List<FolderListener> listeners = new LinkedList<FolderListener>();
|
private List<FolderListener> listeners = new LinkedList<FolderListener>();
|
||||||
|
|
||||||
|
protected Log logger = LogFactory.getLog(getClass());
|
||||||
|
|
||||||
protected ServiceRegistry serviceRegistry;
|
protected ServiceRegistry serviceRegistry;
|
||||||
protected static int MAX_RETRIES = 20;
|
protected static int MAX_RETRIES = 20;
|
||||||
|
|
||||||
@@ -453,6 +457,12 @@ public abstract class AbstractImapFolder implements MailFolder
|
|||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Throwable cause = e.getCause();
|
Throwable cause = e.getCause();
|
||||||
|
|
||||||
|
if (logger.isDebugEnabled())
|
||||||
|
{
|
||||||
|
logger.debug("Exception is thrown : " + e + "\nCause : " + cause);
|
||||||
|
}
|
||||||
|
|
||||||
String message;
|
String message;
|
||||||
if (cause != null)
|
if (cause != null)
|
||||||
{
|
{
|
||||||
|
@@ -75,8 +75,6 @@ public class AlfrescoImapFolder extends AbstractImapFolder implements Serializab
|
|||||||
{
|
{
|
||||||
private static final long serialVersionUID = -7223111284066976111L;
|
private static final long serialVersionUID = -7223111284066976111L;
|
||||||
|
|
||||||
private static Log logger = LogFactory.getLog(AlfrescoImapFolder.class);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to the {@link FileInfo} object representing the folder.
|
* Reference to the {@link FileInfo} object representing the folder.
|
||||||
*/
|
*/
|
||||||
|
@@ -165,6 +165,7 @@ public class ImapServiceImpl implements ImapService, OnRestoreNodePolicy, OnCrea
|
|||||||
private final static Map<QName, Flags.Flag> qNameToFlag;
|
private final static Map<QName, Flags.Flag> qNameToFlag;
|
||||||
private final static Map<Flags.Flag, QName> flagToQname;
|
private final static Map<Flags.Flag, QName> flagToQname;
|
||||||
|
|
||||||
|
private long imapServerShuffleMoveDeleteDelay = 5000L;
|
||||||
private static final Timer deleteDelayTimer = new Timer();
|
private static final Timer deleteDelayTimer = new Timer();
|
||||||
|
|
||||||
private boolean imapServerEnabled = false;
|
private boolean imapServerEnabled = false;
|
||||||
@@ -352,6 +353,11 @@ public class ImapServiceImpl implements ImapService, OnRestoreNodePolicy, OnCrea
|
|||||||
{
|
{
|
||||||
this.messageHeadersToPersist = headers;
|
this.messageHeadersToPersist = headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setImapServerShuffleMoveDeleteDelay(long imapServerShuffleMoveDeleteDelay)
|
||||||
|
{
|
||||||
|
this.imapServerShuffleMoveDeleteDelay = imapServerShuffleMoveDeleteDelay;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean getImapServerEnabled()
|
public boolean getImapServerEnabled()
|
||||||
{
|
{
|
||||||
@@ -605,6 +611,11 @@ public class ImapServiceImpl implements ImapService, OnRestoreNodePolicy, OnCrea
|
|||||||
// This is the transaction-aware service
|
// This is the transaction-aware service
|
||||||
fileFolderService.delete(nodeRef);
|
fileFolderService.delete(nodeRef);
|
||||||
|
|
||||||
|
if (logger.isDebugEnabled())
|
||||||
|
{
|
||||||
|
logger.debug("Node has been async deleted " + nodeRef);
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -623,7 +634,11 @@ public class ImapServiceImpl implements ImapService, OnRestoreNodePolicy, OnCrea
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
// Schedule a real delete 5 seconds after the current time
|
// Schedule a real delete 5 seconds after the current time
|
||||||
deleteDelayTimer.schedule(deleteDelayTask, 5000L);
|
if (logger.isDebugEnabled())
|
||||||
|
{
|
||||||
|
logger.debug("Delete timer is scheduled for " + nodeRef);
|
||||||
|
}
|
||||||
|
deleteDelayTimer.schedule(deleteDelayTask, imapServerShuffleMoveDeleteDelay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user