public ConcurrentFileSystemManager() { setConfiguration( this.getClass().getResource( CONFIG_RESOURCE ) ); }
@Test public void testNcCloseEmbeddedFileSystem() throws Exception { ConcurrentFileSystemManager concurrentFileSystemManager = new ConcurrentFileSystemManager(); MockNamedClusterProvider mockFileProvider = mock( MockNamedClusterProvider.class ); concurrentFileSystemManager.addProvider( new String[] { "hc" }, mockFileProvider ); concurrentFileSystemManager.closeEmbeddedFileSystem( "key" ); verify( mockFileProvider ).closeFileSystem( "key" ); }
private KettleVFS() { fsm = new ConcurrentFileSystemManager(); try { fsm.setFilesCache( new WeakRefFilesCache() ); fsm.init(); } catch ( FileSystemException e ) { e.printStackTrace(); } // Install a shutdown hook to make sure that the file system manager is closed // This will clean up temporary files in vfs_cache Runtime.getRuntime().addShutdownHook( new Thread( new Runnable() { @Override public void run() { if ( fsm != null ) { try { fsm.close(); } catch ( Exception ignored ) { // Exceptions can be thrown due to a closed classloader } } } } ) ); }
public static void closeEmbeddedFileSystem( String embeddedMetastoreKey ) { if ( getInstance().getFileSystemManager() instanceof ConcurrentFileSystemManager ) { ( (ConcurrentFileSystemManager) getInstance().getFileSystemManager() ) .closeEmbeddedFileSystem( embeddedMetastoreKey ); } }
@Test public void testNonNcCloseEmbeddedFileSystem() throws Exception { ConcurrentFileSystemManager concurrentFileSystemManager = new ConcurrentFileSystemManager(); MockNamedClusterProvider mockFileProvider = mock( MockNamedClusterProvider.class ); concurrentFileSystemManager.addProvider( new String[] { "notnc" }, mockFileProvider ); concurrentFileSystemManager.closeEmbeddedFileSystem( "key" ); verify( mockFileProvider, times( 0 ) ).closeFileSystem( "key" ); }