org.apache.openjpa.slice
Interface DistributedConfiguration

All Superinterfaces:
BeanInfo, Cloneable, Closeable, Configuration, OpenJPAConfiguration, Serializable
All Known Subinterfaces:
DistributedJDBCConfiguration
All Known Implementing Classes:
DistributedJDBCConfigurationImpl

public interface DistributedConfiguration
extends OpenJPAConfiguration

A configuration for multiple data stores, each referred as slice. This configuration allows each underlying slice be configured with its own specific configuration properties such as JDBC Driver or connection user/password etc.
This configuration also extends by adding a DistributionPolicy that governs how new instances be distributed among the slices.

Author:
Pinaki Poddar

Field Summary
 
Fields inherited from interface org.apache.openjpa.conf.OpenJPAConfiguration
LOG_DATACACHE, LOG_ENHANCE, LOG_METADATA, LOG_QUERY, LOG_RUNTIME, LOG_TOOL, OPTION_DATASTORE_CONNECTION, OPTION_EMBEDDED_COLLECTION_RELATION, OPTION_EMBEDDED_MAP_RELATION, OPTION_EMBEDDED_RELATION, OPTION_ID_APPLICATION, OPTION_ID_DATASTORE, OPTION_INC_FLUSH, OPTION_JDBC_CONNECTION, OPTION_NONTRANS_READ, OPTION_NULL_CONTAINER, OPTION_OPTIMISTIC, OPTION_QUERY_SQL, OPTION_TYPE_ARRAY, OPTION_TYPE_COLLECTION, OPTION_TYPE_MAP, OPTION_VALUE_AUTOASSIGN, OPTION_VALUE_INCREMENT
 
Fields inherited from interface org.apache.openjpa.lib.conf.Configuration
ATTRIBUTE_ALLOWED_VALUES, ATTRIBUTE_CATEGORY, ATTRIBUTE_INTERFACE, ATTRIBUTE_ORDER, ATTRIBUTE_TYPE, ATTRIBUTE_XML, INIT_STATE_FREEZING, INIT_STATE_FROZEN, INIT_STATE_LIQUID
 
Fields inherited from interface java.beans.BeanInfo
ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, ICON_MONO_32x32
 
Method Summary
 Slice addSlice(String name, Map properties)
          Adds a new Slice of the given name and given properties.
 List<String> getActiveSliceNames()
          Gets the active slice identifiers.
 List<String> getAvailableSliceNames()
          Gets the available slice identifiers irrespective of their status.
 String getDistributionPolicy()
          Gets the policy, as a plugin string, that governs how new instances will be distributed across the available slices.
 DistributionPolicy getDistributionPolicyInstance()
          Gets the policy that governs how new instances will be distributed across the available slices.
 String getReplicationPolicy()
          Gets the policy, as a plugin string, that governs how new replicated instances will be replicated across the available slices.
 ReplicationPolicy getReplicationPolicyInstance()
          Gets the policy that governs how new replicated instances will be replicated across the available slices.
 Slice getSlice(String sliceName)
          Gets the Slice for a given name.
 List<Slice> getSlices(Slice.Status... statuses)
          Gets the slices of given status.
 void setDistributionPolicy(String policy)
          Sets the policy, from the given plugin string, that governs how new instances will be distributed across the available slices.
 void setDistributionPolicyInstance(DistributionPolicy policy)
          Sets the policy that governs how new instances will be distributed across the available slices.
 void setReplicationPolicy(String policy)
          Sets the policy, from the given plugin string, that governs how new replicated instances will be replicated across the available slices.
 void setReplicationPolicyInstance(ReplicationPolicy policy)
          Sets the policy that governs how new replicated instances will be replicated across the available slices.
 
Methods inherited from interface org.apache.openjpa.conf.OpenJPAConfiguration
getAggregateListenerInstances, getAggregateListeners, getAutoClear, getAutoClearConstant, getAutoDetach, getAutoDetachConstant, getBrokerFactory, getBrokerFactoryEventManager, getBrokerImpl, getCacheDistributionPolicy, getCacheDistributionPolicyInstance, getCacheMarshallerInstances, getCacheMarshallers, getCallbackOptions, getCallbackOptionsInstance, getClassResolver, getClassResolverInstance, getCompatibility, getCompatibilityInstance, getConnection2DriverName, getConnection2Password, getConnection2Properties, getConnection2URL, getConnection2UserName, getConnectionDriverName, getConnectionFactory, getConnectionFactory2, getConnectionFactory2Name, getConnectionFactory2Properties, getConnectionFactoryMode, getConnectionFactoryName, getConnectionFactoryProperties, getConnectionPassword, getConnectionProperties, getConnectionRetainMode, getConnectionRetainModeConstant, getConnectionURL, getConnectionUserName, getDataCache, getDataCacheManager, getDataCacheManagerInstance, getDataCacheMode, getDataCacheTimeout, getDetachStateInstance, getDynamicDataStructs, getDynamicEnhancementAgent, getEncryptionProvider, getFetchBatchSize, getFetchGroups, getFetchGroupsList, getFilterListenerInstances, getFilterListeners, getFinderCache, getFinderCacheInstance, getFlushBeforeQueries, getFlushBeforeQueriesConstant, getIgnoreChanges, getInverseManager, getLifecycleEventManager, getLifecycleEventManagerInstance, getLockManager, getLockTimeout, getManagedRuntime, getManagedRuntimeInstance, getMapping, getMaxFetchDepth, getMetaDataFactory, getMetaDataRepository, getMetaDataRepositoryInstance, getMultithreaded, getNontransactionalRead, getNontransactionalWrite, getOptimistic, getOrphanedKeyAction, getOrphanedKeyActionInstance, getProxyManager, getProxyManagerInstance, getQueryCache, getQueryCompilationCache, getQueryCompilationCacheInstance, getQuerySQLCache, getQuerySQLCacheInstance, getQueryTimeout, getReadLockLevel, getReadLockLevelConstant, getRefreshFromDataCache, getRemoteCommitEventManager, getRemoteCommitProvider, getRestoreState, getRestoreStateConstant, getRetainState, getRetryClassRegistration, getRuntimeUnenhancedClasses, getRuntimeUnenhancedClassesConstant, getSavepointManager, getSavepointManagerInstance, getSequence, getSequenceInstance, getSpecification, getSpecificationInstance, getStoreFacadeTypeRegistry, getTransactionMode, getValidationFactoryInstance, getValidationGroupPrePersist, getValidationGroupPreRemove, getValidationGroupPreUpdate, getValidationMode, getValidatorInstance, getWriteLockLevel, getWriteLockLevelConstant, isConnectionFactoryModeManaged, isInitializeEagerly, isTransactionModeManaged, metaDataRepositoryAvailable, newBrokerInstance, newInverseManagerInstance, newLockManagerInstance, newMetaDataFactoryInstance, newMetaDataRepositoryInstance, newRemoteCommitProviderInstance, setAggregateListeners, setAggregateListeners, setAutoClear, setAutoClear, setAutoDetach, setAutoDetach, setBrokerFactory, setBrokerImpl, setCacheDistributionPolicy, setCacheDistributionPolicyInstance, setCacheMarshallers, setCallbackOptions, setClassResolver, setClassResolver, setCompatibility, setConnection2DriverName, setConnection2Password, setConnection2Properties, setConnection2URL, setConnection2UserName, setConnectionDriverName, setConnectionFactory, setConnectionFactory2, setConnectionFactory2Name, setConnectionFactory2Properties, setConnectionFactoryMode, setConnectionFactoryModeManaged, setConnectionFactoryName, setConnectionFactoryProperties, setConnectionPassword, setConnectionProperties, setConnectionRetainMode, setConnectionRetainMode, setConnectionURL, setConnectionUserName, setDataCache, setDataCacheManager, setDataCacheManager, setDataCacheMode, setDataCacheTimeout, setDataCacheTimeout, setDetachState, setDetachState, setDynamicDataStructs, setDynamicDataStructs, setDynamicEnhancementAgent, setEncryptionProvider, setFetchBatchSize, setFetchBatchSize, setFetchGroups, setFetchGroups, setFilterListeners, setFilterListeners, setFinderCache, setFlushBeforeQueries, setFlushBeforeQueries, setIgnoreChanges, setIgnoreChanges, setInitializeEagerly, setInverseManager, setLifecycleEventManager, setLockManager, setLockTimeout, setLockTimeout, setManagedRuntime, setManagedRuntime, setMapping, setMaxFetchDepth, setMaxFetchDepth, setMetaDataFactory, setMetaDataRepository, setMetaDataRepository, setMultithreaded, setMultithreaded, setNontransactionalRead, setNontransactionalRead, setNontransactionalWrite, setNontransactionalWrite, setOptimistic, setOptimistic, setOrphanedKeyAction, setOrphanedKeyAction, setProxyManager, setProxyManager, setQueryCache, setQueryCompilationCache, setQuerySQLCache, setQuerySQLCache, setQueryTimeout, setReadLockLevel, setReadLockLevel, setRefreshFromDataCache, setRefreshFromDataCache, setRemoteCommitEventManager, setRemoteCommitProvider, setRestoreState, setRestoreState, setRetainState, setRetainState, setRetryClassRegistration, setRetryClassRegistration, setRuntimeUnenhancedClasses, setRuntimeUnenhancedClasses, setSavepointManager, setSequence, setSequence, setSpecification, setSpecification, setTransactionMode, setTransactionModeManaged, setValidationFactory, setValidationGroupPrePersist, setValidationGroupPreRemove, setValidationGroupPreUpdate, setValidationMode, setValidatorInstance, setWriteLockLevel, setWriteLockLevel, supportedOptions
 
Methods inherited from interface org.apache.openjpa.lib.conf.Configuration
addPropertyChangeListener, addValue, clone, close, fromProperties, getConfigurationLog, getId, getLog, getLog, getLogFactory, getProductName, getPropertyKeys, getPropertyKeys, getValue, getValues, instantiateAll, isReadOnly, removePropertyChangeListener, removeValue, setId, setLog, setLogFactory, setProductName, setReadOnly, toProperties
 
Methods inherited from interface java.beans.BeanInfo
getAdditionalBeanInfo, getBeanDescriptor, getDefaultEventIndex, getDefaultPropertyIndex, getEventSetDescriptors, getIcon, getMethodDescriptors, getPropertyDescriptors
 

Method Detail

getActiveSliceNames

List<String> getActiveSliceNames()
Gets the active slice identifiers. This list is determined by the configuration properties either by explicit listing in openjpa.slice.Names property or by scanning openjpa.slice.*.* properties.
The ordering of the slice identifiers is determined when they are specified explicitly in openjpa.slice.Names property or ordered alphabetically when found by scanning the properties.
This list always returns the identifiers that are active, slices that can not be connected to are not included in this list.


getAvailableSliceNames

List<String> getAvailableSliceNames()
Gets the available slice identifiers irrespective of their status.

Returns:

getSlices

List<Slice> getSlices(Slice.Status... statuses)
Gets the slices of given status.

Parameters:
statuses - list of status flags. If null, returns all slices irrespective of status.

getSlice

Slice getSlice(String sliceName)
Gets the Slice for a given name. Exception is raised if the given slice is not configured.


getDistributionPolicyInstance

DistributionPolicy getDistributionPolicyInstance()
Gets the policy that governs how new instances will be distributed across the available slices.


setDistributionPolicyInstance

void setDistributionPolicyInstance(DistributionPolicy policy)
Sets the policy that governs how new instances will be distributed across the available slices.


getDistributionPolicy

String getDistributionPolicy()
Gets the policy, as a plugin string, that governs how new instances will be distributed across the available slices.


setDistributionPolicy

void setDistributionPolicy(String policy)
Sets the policy, from the given plugin string, that governs how new instances will be distributed across the available slices.


getReplicationPolicyInstance

ReplicationPolicy getReplicationPolicyInstance()
Gets the policy that governs how new replicated instances will be replicated across the available slices.


getReplicationPolicy

String getReplicationPolicy()
Gets the policy, as a plugin string, that governs how new replicated instances will be replicated across the available slices.


setReplicationPolicyInstance

void setReplicationPolicyInstance(ReplicationPolicy policy)
Sets the policy that governs how new replicated instances will be replicated across the available slices.


setReplicationPolicy

void setReplicationPolicy(String policy)
Sets the policy, from the given plugin string, that governs how new replicated instances will be replicated across the available slices.


addSlice

Slice addSlice(String name,
               Map properties)
Adds a new Slice of the given name and given properties. The given properties must have keys with prefix openjpa.slice..* where is the new slice to be added.



Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.