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 several policy plugins. A policy plugin is an user implementation of a specific policy interface. A policy implementation is invoked by Slice runtime.
Slice recognizes following policies

  • Distribution Policy governs how new instances be distributed among the slices.
  • Replication Policy maintains the same instance in multiple slices.
  • Query Target Policy narrows the slices for a query execution.
  • Finder Target Policy narrows the slices for primary key based lookup

    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_POSTLOAD_ON_MERGE, 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
     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 getFinderTargetPolicy()
              Gets the policy, as a plugin string, that governs which slices will be targeted for a given finder.
     FinderTargetPolicy getFinderTargetPolicyInstance()
              Gets the policy that governs which slices will be targeted for a given finder.
     String getQueryTargetPolicy()
              Gets the policy, as a plugin string, that governs which slices will be targeted for a given query.
     QueryTargetPolicy getQueryTargetPolicyInstance()
              Gets the policy that governs which slices will be targeted for a given query.
     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.
     boolean isReplicated(Class<?> type)
              Affirms if the given type is replicated.
     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 setFinderTargetPolicy(String policy)
              Sets the policy, from the given plugin string, that governs which slices will be targeted for a given finder.
     void setFinderTargetPolicyInstance(FinderTargetPolicy policy)
              Sets the policy that governs which slices will be targeted for a given finder.
     void setQueryTargetPolicy(String policy)
              Sets the policy, from the given plugin string, that governs which slices will be targeted for a given query.
     void setQueryTargetPolicyInstance(QueryTargetPolicy policy)
              Sets the policy that governs which slices will be targeted for a given query.
     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, getAuditor, getAuditorInstance, 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, getInstrumentation, getInstrumentationManagerInstance, getInverseManager, getLifecycleEventManager, getLifecycleEventManagerInstance, getLockManager, getLockTimeout, getManagedRuntime, getManagedRuntimeInstance, getMapping, getMaxFetchDepth, getMetaDataFactory, getMetaDataRepository, getMetaDataRepositoryInstance, getMultithreaded, getNontransactionalRead, getNontransactionalWrite, getOptimistic, getOptimizeIdCopy, getOrphanedKeyAction, getOrphanedKeyActionInstance, getPostLoadOnMerge, 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, setAuditor, setAuditorInstance, 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, setInstrumentation, setInverseManager, setLifecycleEventManager, setLockManager, setLockTimeout, setLockTimeout, setManagedRuntime, setManagedRuntime, setMapping, setMaxFetchDepth, setMaxFetchDepth, setMetaDataFactory, setMetaDataRepository, setMetaDataRepository, setMultithreaded, setMultithreaded, setNontransactionalRead, setNontransactionalRead, setNontransactionalWrite, setNontransactionalWrite, setOptimistic, setOptimistic, setOptimizeIdCopy, setOptimizeIdCopy, setOrphanedKeyAction, setOrphanedKeyAction, setPostLoadOnMerge, setPostLoadOnMerge, 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.


    isReplicated

    boolean isReplicated(Class<?> type)
    Affirms if the given type is replicated.


    getQueryTargetPolicyInstance

    QueryTargetPolicy getQueryTargetPolicyInstance()
    Gets the policy that governs which slices will be targeted for a given query.


    getQueryTargetPolicy

    String getQueryTargetPolicy()
    Gets the policy, as a plugin string, that governs which slices will be targeted for a given query.


    setQueryTargetPolicyInstance

    void setQueryTargetPolicyInstance(QueryTargetPolicy policy)
    Sets the policy that governs which slices will be targeted for a given query.


    setQueryTargetPolicy

    void setQueryTargetPolicy(String policy)
    Sets the policy, from the given plugin string, that governs which slices will be targeted for a given query.


    getFinderTargetPolicyInstance

    FinderTargetPolicy getFinderTargetPolicyInstance()
    Gets the policy that governs which slices will be targeted for a given finder.


    getFinderTargetPolicy

    String getFinderTargetPolicy()
    Gets the policy, as a plugin string, that governs which slices will be targeted for a given finder.


    setFinderTargetPolicyInstance

    void setFinderTargetPolicyInstance(FinderTargetPolicy policy)
    Sets the policy that governs which slices will be targeted for a given finder.


    setFinderTargetPolicy

    void setFinderTargetPolicy(String policy)
    Sets the policy, from the given plugin string, that governs which slices will be targeted for a given finder.



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