A SQL Repository component includes the following properties:

Property

Description

Type and Default or Sample Value

$class

class name

atg.adapter.gsa.
GSARepository

autoCommitInitialization

If setAutoCommit and localTransactionModeInitialization are both true, then JDBC connections are explicitly set with the value of autoCommitInitialization. Otherwise JDBC connections are left as is.

boolean

true

autoUpdateSubscribers

For distributed cache mode, should ATG automatically populate the das_gsa_subscriber database table?

boolean

true

cacheRestoreFile

If restoreCacheOnRestart is true, then an XML file used to reload item caches on restart is written to this location.

File

cacheSwitchHot

Should the repository caches be flushed when the data source is switched? With cacheSwitchHot=false, the repository caches are flushed when the Repository receives a SwitchingDataSourceEvent of type PREPARE from the SwitchingDataSource.

With cacheSwitchHot=true, the Repository pre-populates an on-deck set of caches with data from the next DataSource. See the ATG Installation and Configuration Guide.

boolean

false

checkTables

If set to true, then the GSARepository verifies each database table with a simple SQL query at application startup. To skip the validity check and achieve faster startups, set this to false.

boolean

false

databaseName

This property is used by the startSQLRepository script. Do not change its value.

databaseTableInfo

This property is used by the startSQLRepository script. Do not change its value.

dataSource

This refers to a Data Source to use for obtaining connections. Data Sources should typically implement resource pooling for best performance.

javax.sql.DataSource

/atg/dynamo/service/
jdbc/<
pool name>

debugLevel

An integer value that indicates the detail of debugging messages printed out when the Repository’s loggingDebug property is set to true. Higher values generate more messages. The range is from 0-15.

Note that you can also set the debug level for an individual item descriptor or property in the Dynamo Administration Interface or by using the loggingDebug attribute tag. See Debug Levels in the Development, Testing and Debugging with the SQL Repository chapter.

int

5

definitionFiles

The location of the repository definition XML files, specified as an absolute CONFIGPATH name. ATG uses XML file combination to collate multiple definition files into a single repository definition.

XMLFile[]

No default

disableItemCaches
AtStartup

If true the repository will disable all of its item caches when it starts up. This overrides all item cache size settings in the definition file. The caches can still be turned on later programmatically. This is mostly for debugging.

false

disableQueryCaches
AtStartup

If true the repository will disable all of its query caches when it starts up. This overrides all query cache size settings in the definition file. The caches can still be turned on later programmatically. This is mostly for debugging.

false

enforceRequiredProperties

If true, the repository checks to make sure all required properties are present when adding repository items and forbids the setting of a required property to null.

boolean

true

escapeWildcards

The characters % and _ are typically treated as wildcards in database queries. If this property is set to true, then the GSARepository uses an escape character before % and _ in all pattern-match queries. The one exception is where we use a pattern-match query to simulate a text search query, since in that case we want to allow wildcards to be passed through. The escape character is specified by the wildcardEscapeCharacter property and the default value is \.

true

eventServer

The GSAEventServer component that handles cache invalidation messages for item descriptors using distributed cache mode.

/atg/dynamo/server/
SQLRepositoryEventServer

groupContainer

If you want to define profile groups or content groups, set this to the RepositoryGroups component. See Setting Up Targeting Services in the ATG Personalization Programming Guide for more information about profile groups and content groups.

/atg/registry/RepositoryGroups

idGenerator

An IdGenerator to use for generating unique IDs for items.

atg.service.idgen.
IdGenerator

/atg/dynamo/service/
IdGenerator

itemDescriptorAliases

A map that you can use to allow one item descriptor to be accessed by more than one name. You configure it as a Map that maps the alias to the existing item descriptor name that is its equivalent. For example:

 itemDescriptorAliases=
    All Profiles=user

allows the name All Profiles to be used to refer to the item descriptor named user.

Properties

Map of alias to item descriptor name

loadItemBatchSize

The maximum number of items to load from the database at one time. This property is consulted by getItems() and the hot cache switching logic.

int

200

localeSensitiveSorting

If true, then sorted query results are sorted in a locale sensitive manner. More specifically, String values will be compared using java.text.Collator. Since most databases cannot handle sorting with multiple locales, setting this option to true also means that the repository will perform all sorting in memory. If false, database sorting (via ORDER BY) is used where applicable and Strings are compared using String.compareTo(). If database sorting is adequate for your purposes, leaving this property set to false will result in better performance.

boolean

false

localTransactionModeInitialization

If true, use local transaction mode for initializing the service. Some database/JDBC driver combinations require this mode for JDBC meta-data queries when the GSARepository initializes. If false, a TransactionDemarcation with mode REQUIRED is used.

boolean

true

lockManager

A ClientLockManager to use for locked mode caching. See the SQL Repository Caching chapter.

ClientLockManager

metaDataSchemaPattern

The name of the database account that was used to create the tables that underlie the repository. See Table Ownership Issues.

String

DYNAMO

metaDataCatalogName

The name of a metadata catalog. See Table Ownership Issues in the SQL Repository Queries chapter.

String

outerJoinSupport

Configures the syntax to use for outer joins. See Outer Joins in the SQL Repository Queries chapter in the SQL Repository Queries chapter.

sql92
jdbc
plus-equals 
(Oracle)
star-equals 
(Microsoft or Sybase)
informix
none

pathSeparator

If paths in your content folders use a separator other than the default /, set this property to the appropriate separator.

String

/

repositoryName

Name of repository

String

SQLRepository

restoreCacheOnRestart

If true, the repository automatically dumps the contents of its item caches when it is stopped and reloads the same items into the caches when it is started again. Tags that reload the caches are written into the file specified by the cacheRestoreFile property.

boolean

false

safeSQLTypes

A comma-separated list of SQL types for which the repository always uses the default JDBC type. You can set this property either to string values of SQL types, like varchar, or to the corresponding integer values specified in the class java.sql.Types (e.g. -4).

null

setAutoCommit

If true, the Repository calls Connection.setAutoCommit() as needed. If false, the repository will not call that API. Some JDBC drivers, due to bugs, may cause errors in the GSARepository.initialize() method unless this property is set to false. If you are using a Sybase database, this property is automatically set to true. If you need to set it to false, then set either autoCommitInitialization or localTransaction
ModeInitialization
to false.

boolean

false

simulateTextSearchQueries

If true, substitute pattern match queries for text search queries. This setting is not supported for production ATG applications. See Text Search Queries.

boolean

false

skipNullProperties

If true, multi-valued properties whose component type is RepositoryItem are guaranteed to not contain null entries. Instead, entries that would be null as a result of repository filtering are not placed into the multi-valued property and the property is marked read-only.

boolean

false

SQLLowerFunction

The name of the SQL function to use to lower-case an expression. This is used for case-insensitive querying. If this property is null, no attempt will be made to lower-case database expressions.

String

lower

storeTransientItems

If true, the getItem method returns items that are cached, but not yet added.

boolean

true

subscriberRepository

If you use distributed cache mode, ATG maintains an item descriptor for the das_gsa_subscriber table. This property specifies which repository that item descriptor belongs to. By default, this item descriptor is in the /atg/dynamo/service/jdbc/SQLRepository repository. If for any reason you desire to use a different repository instance, you must make sure that each repository that uses distributed cache mode has the same value for its subscriberRepository property.

GSARepository

/atg/dynamo/service/jdbc/SQLRepository

synchronousInvalidation
Events

For distributed cache mode, should invalidation events be sent asynchronously, for better performance, or synchronously, to avoid a slight window of stale cache?

boolean

false

transactionManager

A TransactionManager to use for all transactions. All code in the same server should typically use the same TransactionManager.

javax.transaction.
TransactionManager

/atg/dynamo/transaction/
TransactionManager

updateSchemaInfoCache

If true, then the Repository creates files that store the SQL type for each column in the database schema.

Boolean

false

useCacheForDelete

If true, then the Repository attempts to optimize certain SQL delete operations based on the values in the cache. For certain usage patterns, such as when there are many multi-valued properties, setting this to true can result in a significant performance gain. Set this property to true only when either (a) you have defined a version property for each item descriptor or (b) you are using locked cache mode. Setting this property causes it to be set in each of the item descriptors defined in the Repository.

boolean

false

userPropertyDescriptors

The Java class names of user defined property descriptors that should be loaded for this repository. User defined property descriptors register themselves in a static system-wide table. This property enables you to ensure that these classes are loaded before the repository loads any XML definitions that might refer to them.

Class[]

useSetAsciiStream

If useSetAsciiStream is set to true, then the SQL repository always uses setAsciiStream() instead of setString() in prepared statements. You can useSetAsciiStream instead of useSetUnicodeStream, but then you lose the ability to handle internationalized values in the database.

boolean

false

useSetBinaryStream

If useSetBinaryStream is set to true, then the SQL repository always uses setBinaryStream() instead of setBytes() in prepared statements. The setBinaryStream() is required for large byte arrays in some JDBC drivers.

boolean

false

useSetObject

If useSetObject is set to true, then the SQL repository always uses setObject() instead of setInt(), setFloat(), setDouble(), or setString() in prepared statements.

boolean

false

useSetUnicodeStream

If useSetUnicodeStream is set to true, then the SQL repository always uses setUnicodeStream() instead of setString() in prepared statements. The setUnicodeStream() method is required for large Strings in some JDBC drivers. Setting useSetUnicodeStream to true is recommended if you are using Oracle with internationalized content, but is not recommended if you do not have internationalized content in your database. Note that if you are using MS SQL Server, you must set useSetUnicodeStream to false.

boolean

true

useTransactionsForCached
Reads

By default, the SQL repository does not use transactions when reading from the cache. This improves performance. To disable this optimization, set this property to true.

boolean

false

wildcardEscapeCharacter

This character is used in queries to escape characters that would otherwise be treated as wildcards. See the description of the escapeWildcards property.

\

XMLToDomParser

The parser used to parse the XML definition file. This value is read-only

atg.xml.tools.
XMLToDomParser

XMLToolsFactory

An XMLToolsFactory to use in parsing XML templates.

atg.xml.tools.
XMLToolsFactory

/atg/dynamo/service/xml/
XMLToolsFactory

 
loading table of contents...