org.apache.jackrabbit.core.fs.db
Class JNDIDatabaseFileSystem

java.lang.Object
  extended by org.apache.jackrabbit.core.fs.db.DatabaseFileSystem
      extended by org.apache.jackrabbit.core.fs.db.JNDIDatabaseFileSystem
All Implemented Interfaces:
FileSystem

public class JNDIDatabaseFileSystem
extends DatabaseFileSystem

Database file system that uses JNDI to acquire the database connection. The JNDI location of the DataSource to be used in given as the dataSourceLocation configuration property. See the DbFileSystem for more configuration details.

WARNING: The acquired database connection is kept for the entire lifetime of the file system instance. The configured data source should be prepared for this.


Field Summary
 
Fields inherited from class org.apache.jackrabbit.core.fs.db.DatabaseFileSystem
con, copyFileSQL, copyFilesSQL, deleteFileSQL, deleteFolderSQL, INITIAL_BUFFER_SIZE, initialized, insertFileSQL, insertFolderSQL, schema, SCHEMA_OBJECT_PREFIX_VARIABLE, schemaObjectPrefix, selectChildCountSQL, selectDataSQL, selectExistSQL, selectFileAndFolderNamesSQL, selectFileExistSQL, selectFileNamesSQL, selectFolderExistSQL, selectFolderNamesSQL, selectLastModifiedSQL, selectLengthSQL, SLEEP_BEFORE_RECONNECT, updateDataSQL, updateLastModifiedSQL
 
Fields inherited from interface org.apache.jackrabbit.core.fs.FileSystem
SEPARATOR, SEPARATOR_CHAR
 
Constructor Summary
JNDIDatabaseFileSystem()
           
 
Method Summary
protected  Connection getConnection()
          Returns a JDBC connection from a DataSource acquired from JNDI with the configured data source location.
 String getDataSourceLocation()
          Returns the JNDI location of the data source.
 void setDataSourceLocation(String dataSourceLocation)
          Sets the JNDI location of the data source.
 
Methods inherited from class org.apache.jackrabbit.core.fs.db.DatabaseFileSystem
buildSQLStatements, checkSchema, close, closeConnection, closeResultSet, closeStatement, closeStream, copy, copyDeepFolder, copyFile, createDeepFolder, createFolder, deleteFile, deleteFolder, equals, executeStmt, exists, getInputStream, getOutputStream, getRandomAccessOutputStream, getSchema, getSchemaObjectPrefix, hasChildren, hashCode, init, initConnection, initPreparedStatements, isFile, isFolder, lastModified, length, list, listFiles, listFolders, move, prepareSchemaObjectPrefix, reestablishConnection, resetStatement, setSchema, setSchemaObjectPrefix, touch, verifyRootExists
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JNDIDatabaseFileSystem

public JNDIDatabaseFileSystem()
Method Detail

getDataSourceLocation

public String getDataSourceLocation()
Returns the JNDI location of the data source.

Returns:
data source location

setDataSourceLocation

public void setDataSourceLocation(String dataSourceLocation)
Sets the JNDI location of the data source.

Parameters:
dataSourceLocation - data source location

getConnection

protected Connection getConnection()
                            throws NamingException,
                                   SQLException
Returns a JDBC connection from a DataSource acquired from JNDI with the configured data source location.

Overrides:
getConnection in class DatabaseFileSystem
Returns:
new database connection
Throws:
NamingException - if the given data source location does not exist
SQLException - if a database access error occurs


Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.