mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Added monitoring of node service to generate CIFS change notifications and update file server state cache, ALFCOM-1205. Should also fix ALFCOM-1021, ALFCOM-1052 and JLAN-9.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10287 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -26,8 +26,11 @@ package org.alfresco.filesys.repo;
|
||||
|
||||
import org.alfresco.filesys.alfresco.AlfrescoContext;
|
||||
import org.alfresco.filesys.alfresco.IOControlHandler;
|
||||
import org.alfresco.jlan.server.core.DeviceContextException;
|
||||
import org.alfresco.jlan.server.filesys.DiskInterface;
|
||||
import org.alfresco.jlan.server.filesys.DiskSharedDevice;
|
||||
import org.alfresco.jlan.server.filesys.FileSystem;
|
||||
import org.alfresco.jlan.smb.server.notify.NotifyChangeHandler;
|
||||
import org.alfresco.service.cmr.repository.*;
|
||||
|
||||
/**
|
||||
@@ -48,6 +51,10 @@ public class ContentContext extends AlfrescoContext
|
||||
|
||||
private NodeRef m_rootNodeRef;
|
||||
|
||||
// Node monitor
|
||||
|
||||
private NodeMonitor m_nodeMonitor;
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
@@ -114,6 +121,11 @@ public class ContentContext extends AlfrescoContext
|
||||
* Close the filesystem context
|
||||
*/
|
||||
public void CloseContext() {
|
||||
|
||||
// Stop the node monitor, if enabled
|
||||
|
||||
if ( m_nodeMonitor != null)
|
||||
m_nodeMonitor.shutdownRequest();
|
||||
|
||||
// Call the base class
|
||||
|
||||
@@ -130,4 +142,32 @@ public class ContentContext extends AlfrescoContext
|
||||
{
|
||||
return new ContentIOControlHandler();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the node monitor
|
||||
*
|
||||
* @param filesysDriver ContentDiskDriver
|
||||
*/
|
||||
protected void createNodeMonitor( ContentDiskDriver filesysDriver) {
|
||||
m_nodeMonitor = new NodeMonitor( filesysDriver, this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Start the filesystem
|
||||
*
|
||||
* @param share DiskSharedDevice
|
||||
* @exception DeviceContextException
|
||||
*/
|
||||
public void startFilesystem(DiskSharedDevice share)
|
||||
throws DeviceContextException {
|
||||
|
||||
// Call the base class
|
||||
|
||||
super.startFilesystem(share);
|
||||
|
||||
// Start the node monitor, if enabled
|
||||
|
||||
if ( m_nodeMonitor != null)
|
||||
m_nodeMonitor.startMonitor();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user