RepositoryConfig Class

com.bea.content.manager
RepositoryConfig Class

public class RepositoryConfig

    extends Object

Represents the configuration of a content repository. Each Repository may have specific properties that are necessary in order to be properly configured. Please see the specific repositories documentation for configuration information.

****************WARNING****************

When getting binaries from the BEA Repository (including both a binary Node Property and also a binary PropertyChoice) the default is to return the InputStream as a ByteArrayInputStream, thus consuming server memory until the bytes are released. If your application will be reading in very large files, you may switch to streaming mode. This means that the InputStream returned may read directly from a database resource, depending on the database or driver. This is accomplished by creating a property on the RepositoryConfig called "STREAMING_ENABLED" with the value set to "true". To disable streaming you must remove the "STREAMING_ENABLED" property entirely. Switching to streaming mode must be done with caution as it places additional requirements on developers using the api. The issue is that the InputStream through a BLOB, may be attached to a database connection (or other transactional resource). The use of this stream must therefore be within the context of a transaction to ensure that it is isolated from uses by other threads, etc. If you don't begin a UserTransaction before calling this method and then either commit or rollback the tx after you close the InputStream, the connection may go back to the WLS connection Pool and will be reused by another thread. This will lead to deadlocking the server. All of the BEA code that uses the api (tags, servlets, portlets and admin tools) are all protected through the use of a transaction. For those that are calling the API directly, here is an example of wrapping the call in a tx with exception handling left out

 try {
     Context initCtx = new InitialContext();
     tx = (UserTransaction)initCtx.lookup( "java:comp/UserTransaction" );
     tx.setTransactionTimeout( transactionTimeout );
     tx.begin();
     bytes = nodeOps.getPropertyBytes(nodeId, propertyId);
     // empty the bytes
 }
 finally {
     // make sure to close InputStream
     if ( bytes != null ) {
         bytes.close();
     }
     if ( tx != null ) {
         switch ( tx.getStatus() ) {
             case Status.STATUS_ACTIVE:
                 tx.commit();
                 break;
             case Status.STATUS_MARKED_ROLLBACK:
                 tx.rollback();
                 break;
             default:
                 // this is bad - an unexpected status
                 // throw exception
                 break;
         }
    }
 }
 


Hierarchy
Object
  RepositoryConfig

Field Summary

public static final boolean
DEFAULT_BINARY_CACHE_IS_ENABLED
boolean
public static final int
DEFAULT_BINARY_CACHE_MAX_ENTRIES
int
public static final long
DEFAULT_BINARY_CACHE_MAX_ENTRY_SIZE
long
public static final long
DEFAULT_BINARY_CACHE_TTL
long
public static final String
DEFAULT_CLASS_NAME
String
public static final boolean
DEFAULT_NODE_CACHE_IS_ENABLED
boolean
public static final int
DEFAULT_NODE_CACHE_MAX_ENTRIES
int
public static final long
DEFAULT_NODE_CACHE_TTL
long
public static final String
DEFAULT_NODE_OPS_HOME
String
public static final String
DEFAULT_OBJECT_CLASS_OPS_HOME
String
public static final boolean
DEFAULT_READ_ONLY
boolean
public static final String
DEFAULT_SEARCH_OPS_HOME
String
public static final String
FILESYSTEM_CLASS_NAME
String
public static final String
FILESYSTEM_DIRECTORY_KEY
String
public static final String
FILESYSTEM_IS_LINKED
String
public static final String
FILESYSTEM_NIO
String
public static final String
FILESYSTEM_WEBAPP_KEY
String
public static final String
MANAGEMENT_ENABLED_KEY
String
public static final String
STREAMING_ENABLED_KEY
String
 

Constructor Summary

RepositoryConfig(String name, String className, Properties properties, String userName, String password, boolean readOnly, int nodeCacheMaxEntries, long nodeCacheTtl, boolean nodeCacheIsEnabled, int binaryCacheMaxEntries, long binaryCacheMaxEntrySize, long binaryCacheTtl, boolean binaryCacheIsEnabled)

Constructs an instance using all attributes.
RepositoryConfig(String name, String className, Properties properties)

Constructs an instance with just name, className and properties using the defined DEFAULTS for other attributes.
RepositoryConfig(String name)

Constructs an instance with just name using the defined DEFAULTS for other attributes.
 

Method Summary

public boolean
getBinaryCacheIsEnabled()
Gets the active state for the binary cache of a repository.
public int
getBinaryCacheMaxEntries()
Gets the max entries for the binary cache of a repository.
public long
getBinaryCacheMaxEntrySize()
Gets the max size for the binary cache of a repository.
public long
getBinaryCacheTtl()
Gets the time-to-live for entries in a binary cache of a repository.
public String
getClassName()
The class that implements com.bea.content.repostiory.Repository.
public String
getName()
The name of the Repository.
public boolean
getNodeCacheIsEnabled()
Gets the active state for the node cache of a repository.
public int
getNodeCacheMaxEntries()
Gets the max entries for the node cache of a repository.
public long
getNodeCacheTtl()
Gets the time-to-live for entries in a node cache of a repository.
public String
getPassword()
Gets the password for the repository.
public Properties
getProperties()
Gets the configuration properties for the repository.
public boolean
getReadOnly()
Gets the read-only attribute for the repository.
public String
getUserName()
Gets the username for the repository.
public boolean
isManaged()
True if this repository is versionable, false otherwise.
public boolean
isStreamable()
True if this repository is versionable, false otherwise.
public String
toString()
Gets attributes as String.
 
Methods from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
   

Field Detail

DEFAULT_BINARY_CACHE_IS_ENABLED

public static final boolean DEFAULT_BINARY_CACHE_IS_ENABLED


DEFAULT_BINARY_CACHE_MAX_ENTRIES

public static final int DEFAULT_BINARY_CACHE_MAX_ENTRIES


DEFAULT_BINARY_CACHE_MAX_ENTRY_SIZE

public static final long DEFAULT_BINARY_CACHE_MAX_ENTRY_SIZE


DEFAULT_BINARY_CACHE_TTL

public static final long DEFAULT_BINARY_CACHE_TTL


DEFAULT_CLASS_NAME

public static final String DEFAULT_CLASS_NAME


DEFAULT_NODE_CACHE_IS_ENABLED

public static final boolean DEFAULT_NODE_CACHE_IS_ENABLED


DEFAULT_NODE_CACHE_MAX_ENTRIES

public static final int DEFAULT_NODE_CACHE_MAX_ENTRIES


DEFAULT_NODE_CACHE_TTL

public static final long DEFAULT_NODE_CACHE_TTL


DEFAULT_NODE_OPS_HOME

public static final String DEFAULT_NODE_OPS_HOME


DEFAULT_OBJECT_CLASS_OPS_HOME

public static final String DEFAULT_OBJECT_CLASS_OPS_HOME


DEFAULT_READ_ONLY

public static final boolean DEFAULT_READ_ONLY


DEFAULT_SEARCH_OPS_HOME

public static final String DEFAULT_SEARCH_OPS_HOME


FILESYSTEM_CLASS_NAME

public static final String FILESYSTEM_CLASS_NAME


FILESYSTEM_DIRECTORY_KEY

public static final String FILESYSTEM_DIRECTORY_KEY


FILESYSTEM_IS_LINKED

public static final String FILESYSTEM_IS_LINKED


FILESYSTEM_NIO

public static final String FILESYSTEM_NIO


FILESYSTEM_WEBAPP_KEY

public static final String FILESYSTEM_WEBAPP_KEY


MANAGEMENT_ENABLED_KEY

public static final String MANAGEMENT_ENABLED_KEY


STREAMING_ENABLED_KEY

public static final String STREAMING_ENABLED_KEY

 

Constructor Detail

RepositoryConfig

public RepositoryConfig(String name, 
                        String className, 
                        Properties properties, 
                        String userName, 
                        String password, 
                        boolean readOnly, 
                        int nodeCacheMaxEntries, 
                        long nodeCacheTtl, 
                        boolean nodeCacheIsEnabled, 
                        int binaryCacheMaxEntries, 
                        long binaryCacheMaxEntrySize, 
                        long binaryCacheTtl, 
                        boolean binaryCacheIsEnabled)
Constructs an instance using all attributes.

RepositoryConfig

public RepositoryConfig(String name, 
                        String className, 
                        Properties properties)
Constructs an instance with just name, className and properties using the defined DEFAULTS for other attributes.

RepositoryConfig

public RepositoryConfig(String name)
Constructs an instance with just name using the defined DEFAULTS for other attributes.
 

Method Detail

getBinaryCacheIsEnabled() Method

public boolean getBinaryCacheIsEnabled()
Gets the active state for the binary cache of a repository.


getBinaryCacheMaxEntries() Method

public int getBinaryCacheMaxEntries()
Gets the max entries for the binary cache of a repository.


getBinaryCacheMaxEntrySize() Method

public long getBinaryCacheMaxEntrySize()
Gets the max size for the binary cache of a repository.


getBinaryCacheTtl() Method

public long getBinaryCacheTtl()
Gets the time-to-live for entries in a binary cache of a repository.


getClassName() Method

public String getClassName()
The class that implements com.bea.content.repostiory.Repository.


getName() Method

public String getName()
The name of the Repository.


getNodeCacheIsEnabled() Method

public boolean getNodeCacheIsEnabled()
Gets the active state for the node cache of a repository.


getNodeCacheMaxEntries() Method

public int getNodeCacheMaxEntries()
Gets the max entries for the node cache of a repository.


getNodeCacheTtl() Method

public long getNodeCacheTtl()
Gets the time-to-live for entries in a node cache of a repository.


getPassword() Method

public String getPassword()
Gets the password for the repository.


getProperties() Method

public Properties getProperties()
Gets the configuration properties for the repository.


getReadOnly() Method

public boolean getReadOnly()
Gets the read-only attribute for the repository.


getUserName() Method

public String getUserName()
Gets the username for the repository.


isManaged() Method

public boolean isManaged()
True if this repository is versionable, false otherwise.


isStreamable() Method

public boolean isStreamable()
True if this repository is versionable, false otherwise.


toString() Method

public String toString()
Gets attributes as String.

Overrides
Object.toString()