12.2. Configuration File Quick Reference
A list of definitions of each of the XML elements attributes used above, and their bean counterparts for programmatic configuration. If the description of an attribute states that it is dynamic, that means it can be changed after the cache is created and started.
The <jbosscache /> Element | |
---|---|
Description
|
This is the root element for the JBoss Cache configuration file. This is the only mandatory element in a valid JBoss Cache configuration file.
|
Parent
|
none (is root element)
|
Children
|
Table 12.40, “The
<clustering /> Element”, Table 12.37, “The <customInterceptors /> Element”, Table 12.19, “The <eviction /> Element”, Table 12.15, “The <invocationBatching /> Element”, Table 12.7, “The <jmxStatistics /> Element”, Table 12.13, “The <listeners /> Element”, Table 12.27, “The <loaders /> Element”, Table 12.3, “The <locking /> Element”, Table 12.17, “The <serialization /> Element”, Table 12.11, “The <shutdown /> Element”, Table 12.9, “The <startup /> Element”, Table 12.5, “The <transaction /> Element”
|
Bean Equivalent
| Configuration
|
<jbosscache /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
xmlns | - | urn:jboss:jbosscache-core:config:3.1 | urn:jboss:jbosscache-core:config:3.1 | Defines the XML namespace for all configuration entries. |
xmlns:xsi | - | http://www.w3.org/2001/XMLSchema-instance | http://www.w3.org/2001/XMLSchema-instance | Defines the XML schema instance for the configuration. |
The <locking /> Element | |
---|---|
Description
|
This element specifies locking behavior on the cache.
|
Parent
| |
Children
| |
Bean equivalent
| Configuration
|
<locking /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
isolationLevel | isolationLevel | READ_COMMITTED, REPEATABLE_READ | REPEATABLE_READ | The isolation level used for transactions. |
lockParentForChildInsertRemove | lockParentForChildInsertRemove | true, false | false | Specifies whether parent nodes are locked when inserting or removing children. This can also be configured on a per-node basis (see Node.setLockForChildInsertRemove() |
lockAcquisitionTimeout | lockAcquisitionTimeout (dynamic) | Any positive long value | 10000 | Length of time, in milliseconds, that a thread will try and acquire a lock. A TimeoutException is usually thrown if a lock cannot be acquired in this given timeframe. Can be overridden on a per-invocation basis using Option.setLockAcquisitionTimeout() |
nodeLockingScheme (deprecated) | nodeLockingScheme | mvcc, pessimistic, optimistic | mvcc | Specifies the node locking scheme to be used. |
writeSkewCheck | writeSkewCheck | true, false | false | Specifies whether to check for write skews. Only used if nodeLockingScheme is mvcc and isolationLevel is REPEATABLE_READ . See the Section 11.1.1.2.2, “Concurrent Writers and Write-Skews” for a more detailed discussion. |
useLockStriping | useLockStriping | true, false | true | Specifies whether lock striping is used. Only used if nodeLockingScheme is mvcc . Lock striping usually offers greater performance and better memory usage, although in certain cases deadlocks may occur where several Fqns map to the same shared lock. This can be mitigated by increasing your concurrency level, though the only concrete solution is to disable lock striping altogether. |
concurrencyLevel | concurrencyLevel | Any positive integer; 0 not allowed. | 500 | Specifies the number of shared locks to use for write locks acquired. Only used if nodeLockingScheme is mvcc . See the Section 11.1.1.2, “MVCC Implementation” for a more detailed discussion. |
The <transaction /> Element | |
---|---|
Description
|
This element specifies transactional behavior on the cache.
|
Parent
| |
Children
| |
Bean equivalent
| Configuration
|
<transaction /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
transactionManagerLookupClass | transactionManagerLookupClass | A valid class that is available on the classpath | none | Specifies the TransactionManagerLookupClass implementation to use to obtain a transaction manager. If not specified (and a TransactionManager is not injected using RuntimeConfig.setTransactionManager() ), the cache will not be able to participate in any transactions. |
syncCommitPhase | syncCommitPhase (dynamic) | true, false | false | If enabled, commit messages that are broadcast around a cluster are done so synchronously. This is usually of little value since detecting a failure in broadcasting a commit means little else can be done except log a message, since some nodes in a cluster may have already committed and cannot rollback. |
syncRollbackPhase | syncRollbackPhase (dynamic) | true, false | false | If enabled, rollback messages that are broadcast around a cluster are done so synchronously. This is usually of little value since detecting a failure in broadcasting a rollback means little else can be done except log a message, since some nodes in a cluster may have already committed and cannot rollback. |
The <jmxStatistics /> Element | |
---|---|
Description
|
This element specifies whether cache statistics are gathered and reported via JMX.
|
Parent
| |
Children
| |
Bean equivalent
| Configuration
|
<jmxStatistics /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
enabled | exposeManagementStatistics | true, false | true | Controls whether cache statistics are gathered and exposed via JMX. |
The <startup /> Element | |
---|---|
Description
|
This element specifies behavior when the cache starts up.
|
Parent
| |
Children
| |
Bean equivalent
| Configuration
|
<startup /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
regionsInactiveOnStartup | inactiveOnStartup | true, false | false | If Section 7.6, “Class Loading and Regions” is enabled, this attribute controls whether new regions created are inactive on start up. |
The <shutdown /> Element | |
---|---|
Description
|
This element specifies behavior when the cache shuts down.
|
Parent
| |
Children
| |
Bean equivalent
| Configuration
|
<shutdown /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
hookBehavior | shutdownHookBehavior | DEFAULT, DONT_REGISTER, REGISTER | DEFAULT | This attribute determines whether the cache registers a JVM shutdown hook so that it can clean up resources if the JVM is receives a shutdown signal. By default a shutdown hook is registered if no MBean server (apart from the JDK default) is detected. REGISTER forces the cache to register a shutdown hook even if an MBean server is detected, and DONT_REGISTER forces the cache NOT to register a shutdown hook, even if no MBean server is detected. |
The <listeners /> Element | |
---|---|
Description
|
This element specifies behavior of registered cache listeners.
|
Parent
| |
Children
| |
Bean equivalent
| Configuration
|
<listeners /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
asyncPoolSize | listenerAsyncPoolSize | integer | 1 | The size of the thread pool used to dispatch events to cache listeners that have registered as asynchronous listeners. If this number is less than 1, all asynchronous listeners will be treated as synchronous listeners and notified synchronously. |
asyncQueueSize | listenerAsyncQueueSize | positive integer | 50000 | The size of the bounded queue used by the async listener thread pool. Only considered if asyncPoolSize is greater than 0. Increase this if you see a lot of threads blocking trying to add events to this queue. |
The <invocationBatching /> Element | |
---|---|
Description
|
This element specifies behavior of invocation batching.
|
Parent
| |
Children
| |
Bean equivalent
| Configuration
|
<invocationBatching /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
enabled | invocationBatchingEnabled | true, false | false | Whether invocation batching is enabled or not. See the chapter on Chapter 4, Batching API for details. |
The <serialization /> Element | |
---|---|
Description
|
This element specifies behavior of object serialization in JBoss Cache.
|
Parent
| |
Children
| |
Bean equivalent
| Configuration
|
<serialization /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
marshallerClass | marshallerClass | A valid class that is available on the classpath | VersionAwareMarshaller | Specifies the marshaler to use when serializing and deserializing objects, either for replication or persistence. |
useLazyDeserialization | useLazyDeserialization | true, false | false | A mechanism by which serialization and deserialization of objects is deferred till the point in time in which they are used and needed. This typically means that any deserialization happens using the thread context class loader of the invocation that requires deserialization, and is an effective mechanism to provide classloader isolation. |
useRegionBasedMarshalling (deprecated) | useRegionBasedMarshalling | true, false | false | An older mechanism by which classloader isolation was achieved, by registering classloaders on specific regions. |
version | replicationVersion | Valid JBoss Cache version string | Current version | Used by the VersionAwareMarshaller in determining which version stream parser to use by default when initiating communications in a cluster. Useful when you need to run a newer version of JBoss Cache in a cluster containing older versions, and can be used to perform rolling upgrades. |
objectInputStreamPoolSize | objectInputStreamPoolSize | Positive integer | 50 | Not used at the moment. |
objectOutputStreamPoolSize | objectOutputStreamPoolSize | Positive integer | 50 | Not used at the moment. |
The <eviction /> Element | |
---|---|
Description
|
This element controls how eviction works in the cache.
|
Parent
| |
Children
| |
Bean equivalent
| EvictionConfig
|
<eviction /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
wakeUpInterval | wakeupInterval | integer | 5000 | The frequency with which the eviction thread runs, in milliseconds. If set to less than 1, the eviction thread never runs and is effectively disabled. |
The <default /> Element | |
---|---|
Description
|
This element defines the default eviction region.
|
Parent
| |
Children
| |
Bean equivalent
| EvictionRegionConfig
|
<default /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
algorithmClass | evictionAlgorithmConfig | A valid class that is available on the classpath | none | This attribute needs to be specified if this tag is being used. Note that if being configured programmatically, the eviction algorithm's corresponding EvictionAlgorithmConfig file should be used instead. E.g., where you would use LRUAlgorithm in XML, you would use an instance of LRUAlgorithmConfig programmatically. |
actionPolicyClass | evictionActionPolicyClassName | A valid class that is available on the classpath | DefaultEvictionActionPolicy | The eviction action policy class, defining what happens when a node needs to be evicted. |
eventQueueSize | eventQueueSize (dynamic | integer | 200000 | The size of the bounded eviction event queue. |
The <region /> Element | |
---|---|
Description
|
This element defines an eviction region. Multiple instances of this tag can exist provided they have unique
name attributes.
|
Parent
| |
Children
| |
Bean equivalent
| EvictionRegionConfig
|
<region /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
name | regionFqn | A String that could be parsed using Fqn.fromString() | none | This should be a unique name that defines this region. See the Section 10.2, “Eviction Regions” for details of eviction regions. |
algorithmClass | evictionAlgorithmConfig | A valid class that is available on the classpath | none | This attribute needs to be specified if this tag is being used. Note that if being configured programmatically, the eviction algorithm's corresponding EvictionAlgorithmConfig file should be used instead. E.g., where you would use LRUAlgorithm in XML, you would use an instance of LRUAlgorithmConfig programmatically. |
actionPolicyClass | evictionActionPolicyClassName | A valid class that is available on the classpath | DefaultEvictionActionPolicy | The eviction action policy class, defining what happens when a node needs to be evicted. |
eventQueueSize | eventQueueSize (dynamic | integer | 200000 | The size of the bounded eviction event queue. |
The <property /> Element | |
---|---|
Description
|
A mechanism of passing in name-value properties to the enclosing configuration element.
|
Parent
| |
Children
| |
Bean equivalent
|
Either direct setters or
setProperties() enclosing bean
|
<property /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
name | Either direct setters or setProperties() enclosing bean | String | none | Property name |
value | Either direct setters or setProperties() enclosing bean | String | none | Property value |
The <loaders /> Element | |
---|---|
Description
|
Defines any cache loaders.
|
Parent
| |
Children
| Table 12.29, “The <preload /> Element”, Table 12.32, “The <loader /> Element” |
Bean equivalent
|
CacheLoaderConfig
|
<loaders /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
passivation | passivation | true, false | false | If true, cache loaders are used in passivation mode. See the Chapter 9, Cache Loaders for a detailed discussion on this. |
shared | shared | true, false | false | If true, cache loaders are used in shared mode. See the Chapter 9, Cache Loaders for a detailed discussion on this. |
The <preload /> Element | |
---|---|
Description
|
Defines preloading of Fqn subtrees when a cache starts up. This element has no attributes.
|
Parent
| |
Children
| Table 12.30, “The <node /> Element” |
Bean equivalent
|
CacheLoaderConfig
|
The <node /> Element | |
---|---|
Description
|
This element defines a subtree under which all content will be preloaded from the cache loaders when the cache starts. Multiple subtrees can be preloaded, although it only makes sense to define more than one subtree if they do not overlap.
|
Parent
| |
Children
| |
Bean equivalent
|
CacheLoaderConfig
|
<node /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
fqn | preload | String | none | An Fqn to preload. This should be a String that can be parsed with Fqn.fromString(). When doing this programmatically, you should create a single String containing all of the Fqns you wish to preload, separated by spaces, and pass that into CacheLoaderConfig.setPreload() . |
The <loader /> Element | |
---|---|
Description
|
This element defines a cache loader. Multiple elements may be used to create cache loader chains.
|
Parent
| |
Children
| Table 12.34, “The <properties /> Element”, Table 12.35, “The <singletonStore /> Element” |
Bean equivalent
|
IndividualCacheLoaderConfig
|
<loader /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
class | className | A valid class that is available on the classpath | none | A cache loader implementation to use. |
async | async | true, false | false | All modifications to this cache loader happen asynchronously, on a separate thread. |
fetchPersistentState | fetchPersistentState | true, false | false | When a cache starts up, retrieve persistent state from the cache loaders in other caches in the cluster. Only one loader element may set this to true. Also, only makes sense if the Table 12.40, “The <clustering /> Element” tag is present. |
purgeOnStartup | purgeOnStartup | true, false | false | Purges this cache loader when it starts up. |
The <properties /> Element | |
---|---|
Description
|
This element contains a set of properties that can be read by a
java.util.Properties instance. This tag has no attributes, and the contents of this tag will be parsed by Properties.load() .
|
Parent
| |
Children
| |
Bean equivalent
|
IndividualCacheLoaderConfig.setProperties()
|
The <singletonStore /> Element | |
---|---|
Description
|
This element configures the enclosing cache loader as a Section 9.2.1, “Singleton Store Configuration”.
|
Parent
| |
Children
| Table 12.34, “The <properties /> Element” |
Bean equivalent
|
SingletonStoreConfig
|
<singletonStore /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
class | className | A valid class that is available on the classpath | SingletonStoreCacheLoader | A singleton store wrapper implementation to use. |
enabled | enabled | true, false | false | If true, the singleton store cache loader is enabled. |
The <customInterceptors /> Element | |
---|---|
Description
|
This element allows you to define custom interceptors for the cache. This tag has no attributes.
|
Parent
| |
Children
| Table 12.38, “The <interceptor /> Element” |
Bean equivalent
|
None. At runtime, instantiate your own interceptor and pass it in to the cache using
Cache.addInterceptor() .
|
The <interceptor /> Element | |
---|---|
Description
|
This element allows you configure a custom interceptor. This tag may appear multiple times.
|
Parent
| |
Children
| Table 12.25, “The <property /> Element” |
Bean equivalent
|
None. At runtime, instantiate your own interceptor and pass it in to the cache using
Cache.addInterceptor() .
|
<interceptor /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
class | - | A valid class that is available on the classpath | none | An implementation of CommandInterceptor . |
position | - | first, last | A position at which to place this interceptor in the chain. First is the first interceptor encountered when an invocation is made on the cache, last is the last interceptor before the call is passed on to the data structure. Note that this attribute is mutually exclusive with before , after and index . | |
before | - | Fully qualified class name of an interceptor | Will place the new interceptor directly before the instance of the named interceptor. Note that this attribute is mutually exclusive with position , after and index . | |
after | - | Fully qualified class name of an interceptor | Will place the new interceptor directly after the instance of the named interceptor. Note that this attribute is mutually exclusive with position , before and index . | |
index | - | Positive integers | A position at which to place this interceptor in the chain, with 0 being the first position. Note that this attribute is mutually exclusive with position , before and after . |
The <clustering /> Element | |
---|---|
Description
|
If this element is present, the cache is started in clustered mode. Attributes and child elements define clustering characteristics.
|
Parent
| |
Children
| Table 12.46, “The <stateRetrieval /> Element”, Table 12.42, “The <sync /> Element”, Table 12.44, “The <async /> Element”, Table 12.48, “The <buddy /> Element”, Table 12.54, “The <jgroupsConfig /> Element” |
Bean equivalent
|
Configuration
|
<clustering /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
mode | cacheMode | replication, invalidation, r, i | replication | See the Chapter 8, Cache Modes and Clustering for the differences between replication and invalidation. When using the bean, synchronous and asynchronous communication is combined with clustering mode to give you the enumberation Configuration.CacheMode . |
clusterName | clusterName | String | JBossCache-cluster | A cluster name which is used to identify the cluster to join. |
The <sync /> Element | |
---|---|
Description
|
If this element is present, all communications are synchronous, in that whenever a thread sends a message sent over the wire, it blocks until it receives an acknowledgement from the recipient. This element is mutually exclusive with the Table 12.44, “The
<async /> Element” element.
|
Parent
| |
Children
| |
Bean equivalent
|
Configuration.setCacheMode()
|
<sync /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
replTimeout | syncReplTimeout (dynamic) | positive integer | 15000 | This is the timeout used to wait for an acknowledgement when making a remote call, after which an exception is thrown. |
The <async /> Element | |
---|---|
Description
|
If this element is present, all communications are asynchronous, in that whenever a thread sends a message sent over the wire, it does not wait for an acknowledgement before returning. This element is mutually exclusive with the Table 12.42, “The
<sync /> Element” element.
|
Parent
| |
Children
| |
Bean equivalent
|
Configuration.setCacheMode()
|
<async /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
serializationExecutorPoolSize | serializationExecutorPoolSize | positive integer | 25 | In addition to replication happening asynchronously, even serialization of contents for replication happens in a separate thread to allow the caller to return as quickly as possible. This setting controls the size of the serializer thread pool. Setting this to any value less than 1 means serialization does not happen asynchronously. |
serializationExecutorQueueSize | serializationExecutorQueueSize | positive integer | 50000 | This is used to define the size of the bounded queue that holds tasks for the serialization executor. This is ignored if a serialization executor is not used, such as when serializationExecutorPoolSize is less than 1. |
useReplQueue | useReplQueue | true, false | false | If true, this forces all async communications to be queued up and sent out periodically as a batch. |
replQueueInterval | replQueueInterval | positive integer | 5000 | If useReplQueue is set to true, this attribute controls how often the asynchronous thread used to flush the replication queue runs. This should be a positive integer which represents thread wake time in milliseconds. |
replQueueMaxElements | replQueueMaxElements | positive integer | 1000 | If useReplQueue is set to true, this attribute can be used to trigger flushing of the queue when it reaches a specific threshold. |
The <stateRetrieval /> Element | |
---|---|
Description
|
This tag controls ho state is retrieved from neighboring caches when this cache instance starts.
|
Parent
| |
Children
| |
Bean equivalent
|
Configuration
|
<stateRetrieval /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
fetchInMemoryState | fetchInMemoryState | true, false | true | If true, this will cause the cache to ask neighboring caches for state when it starts up, so the cache starts "warm". |
timeout | stateRetrievalTimeout | positive integer | 10000 | This is the maximum amount of time - in milliseconds - to wait for state from neighboring caches, before throwing an exception and aborting start up. |
nonBlocking | useNonBlockingStateTransfer | true, false | false | This configuration switch enables the Non-Blocking State Transfer mechanism, new in 3.1.0. Note that this requires MVCC as a node locking scheme, and that STREAMING_STATE_TRANSFER is present in the JGroups stack used. |
The <buddy /> Element | |
---|---|
Description
|
If this tag is present, then state is not replicated across the entire cluster. Instead, buddy replication is used to select cache instances to maintain backups on. See Section 8.1.2.2, “Buddy Replication” for details. Note that this is only used if the clustering mode is
replication , and not if it is invalidation .
|
Parent
| |
Children
| Table 12.50, “The <dataGravitation /> Element”, Table 12.52, “The <locator /> Element”, |
Bean equivalent
|
BuddyReplicationConfig
|
<buddy /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
enabled | enabled | true, false | false | If true, buddy replication is enabled. |
communicationTimeout | buddyCommunicationTimeout | positive integer | 10000 | This is the maximum amount of time - in milliseconds - to wait for buddy group organization communications from buddy caches. |
poolName | buddyPoolName | String | This is used as a means to identify cache instances and provide hints to the buddy selection algorithms. More information on Section 8.1.2.2, “Buddy Replication”. |
The <dataGravitation /> Element | |
---|---|
Description
|
This tag configures how data gravitation is conducted. See Section 8.1.2.2, “Buddy Replication” for details.
|
Parent
| |
Children
| |
Bean equivalent
|
BuddyReplicationConfig
|
<dataGravitation /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
auto | autoDataGravitation | true, false | true | If true, when a get() is performed on a cache and nothing is found, a gravitation from neighboring caches is attempted. If this is false, then gravitations can only occur if the Option.setForceDataGravitation() option is provided. |
removeOnFind | dataGravitationRemoveOnFind | true, false | true | If true, when gravitation occurs, the instance that requests the gravitation takes ownership of the state and requests that all other instances remove the gravitated state from memory. |
searchBackupTrees | dataGravitationSearchBackupTrees | true, false | true | If true, incoming gravitation requests will cause the cache to search not just its primary data structure but its backup structure as well. |
The <locator /> Element | |
---|---|
Description
|
This tag provides a pluggable mechanism for providing buddy location algorithms.
|
Parent
| |
Children
| Table 12.34, “The <properties /> Element” |
Bean equivalent
|
BuddyLocatorConfig
|
<locator /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
class | className | A valid class that is available on the classpath | NextMemberBuddyLocator | A BuddyLocator implementation to use when selecting buddies from the cluster. Please refer to BuddyLocator javadocs for details. |
The <jgroupsConfig /> Element | |
---|---|
Description
|
This tag provides a configuration which is used with JGroups to create a network communication channel.
|
Parent
| |
Children
| A series of elements representing JGroups protocols (see JGroups documentation). Note that there are no child elements if any of the element attributes are used instead. See section on attributes. |
Bean equivalent
|
Configuration
|
<jgroupsConfig /> Attributes | ||||
---|---|---|---|---|
Attribute | Bean Field | Allowed | Default | Description |
configFile | clusterConfig | A JGroups configuration file on the classpath | udp.xml | If this attribute is used, then any JGroups elements representing protocols within this tag are ignored. Instead, JGroups settings are read from the file specified. Note that this cannot be used with the multiplexerStack attribute. |
multiplexerStack | muxStackName | A valid multiplexer stack name that exists in the channel factory passed in to the RuntimeConfig | This can only be used with the RuntimeConfig , where you pass in a JGroups ChannelFactory instance using RuntimeConfig.setMuxChannelFactory() . If this attribute is used, then any JGroups elements representing protocols within this tag are ignored. Instead, the JGroups channel is created using the factory passed in. Note that this cannot be used with the configFile attribute. |