EJB Container (ejbContainer)

Defines the behavior of the EJB container.

NameTypeDefaultDescription

bindToJavaGlobal

boolean

true

This property configures whether enterprise beans are available for lookup in the java:global, java:app, and java:module namespaces. The JNDI names that are defined in the enterprise bean specification are used.

bindToServerRoot

boolean

true

This property configures whether enterprise beans are available for lookup in the server root, ejblocal:, and local: namespaces. Default JNDI names are used unless custom JNDI names are configured in an ibm-ejb-jar-bnd.xml, ibm-ejb-jar-bnd.xmi, or server.xml file.

cacheCleanupInterval

A period of time with second precision

3s

The interval between passivating unused stateful session bean instances when the size is exceeded. Specify a positive integer followed by a unit of time, which can be hours (h), minutes (m), or seconds (s). For example, specify 30 seconds as 30s. You can include multiple values in a single entry. For example, 1m30s is equivalent to 90 seconds.

cacheSize

int
Min: 1

2053

The number of stateful session bean instances that should be cached in memory.

customBindingsOnError

  • FAIL

  • IGNORE

  • WARN

WARN

This property determines the action to take in response to configuration errors. For example, if multiple enterprise beans are configured with the same custom JNDI name, then the customBindingsOnError property determines whether to fail, raise a warning, or ignore the duplicate bindings.
FAIL
Server will issue a warning or error message on the first error occurrence and then stop the server.
IGNORE
Server will not issue any warning and error messages when it incurs a configuration error.
WARN
Server will issue warning and error messages when it incurs a configuration error.

disableShortDefaultBindings

string

This property configures whether enterprise beans are available for lookup in the server root and ejblocal: namespaces by using the short form default JNDI names. The short form default JNDI name is the enterprise bean interface name. The value is either a ':' separated list of applications to disable short default bindings for enterprise beans in that application or a '*' to disable for all enterprise beans.

poolCleanupInterval

A period of time with second precision

30s

The interval between removing unused bean instances. This setting only applies to stateless session and message-driven beans. Specify a positive integer followed by a unit of time, which can be hours (h), minutes (m), or seconds (s). For example, specify 30 seconds as 30s. You can include multiple values in a single entry. For example, 1m30s is equivalent to 90 seconds.

startEJBsAtAppStart

boolean

Specifies when EJB types will be initialized. If this property is set to true, EJB types will be initialized at the time applications are first started. If this property is set to false, EJB types will be initialized at the time the EJB type is first used by an application. If this property is not set, the behavior is determined on a bean-by-bean basis from the start-at-app-start attribute in the ibm-ejb-jar-ext.xml file. This setting does not apply to either message-driven or startup singleton beans. Message-driven and startup singleton beans will always be initialized at the time applications are started.

ejbContainer > asynchronous

Defines the behavior of EJB asynchronous methods.

NameTypeDefaultDescription

contextServiceRef

A reference to top level contextService element (string).

The context service used to manage context propagation to asynchronous EJB method threads.

maxUnclaimedRemoteResults

int
Min: 1

1000

The maximum number of unclaimed results that the server retains from all remote asynchronous method calls that return a Future object. If the maximum is exceeded, the server purges the result of the method call that completed the longest ago to prevent memory leakage.

unclaimedRemoteResultTimeout

A period of time with second precision

24h

The amount of time that the server retains the result for each remote asynchronous method call that returns a Future object. If an application does not claim the result within the specified period of time, the server purges the result of that method call to prevent memory leakage. Specify a positive integer followed by a unit of time, which can be hours (h), minutes (m), or seconds (s). For example, specify 30 seconds as 30s. You can include multiple values in a single entry. For example, 1m30s is equivalent to 90 seconds.

Expand
ejbContainer > asynchronous > contextService

The context service used to manage context propagation to asynchronous EJB method threads.

Expand
ejbContainer > asynchronous > contextService > baseContext

Expand
ejbContainer > asynchronous > contextService > baseContext > classloaderContext

Expand
ejbContainer > asynchronous > contextService > baseContext > jeeMetadataContext

Expand
ejbContainer > asynchronous > contextService > baseContext > securityContext

Expand
ejbContainer > asynchronous > contextService > classloaderContext

Expand
ejbContainer > asynchronous > contextService > jeeMetadataContext

Expand
ejbContainer > asynchronous > contextService > securityContext

ejbContainer > timerService

Defines the behavior of the EJB timer service.

NameTypeDefaultDescription

lateTimerThreshold

A period of time with minute precision

5m

Number of minutes after the scheduled expiration of a timer that the start of the timer will be considered late. When a timer does start late, a warning message will be logged indicating that the timer has started later than scheduled. The default threshold is 5 minutes and a value of 0 minutes turns off the warning message feature. Specify a positive integer followed by a unit of time, which can be hours (h) or minutes (m). For example, specify 30 minutes as 30m. You can include multiple values in a single entry. For example, 1h30m is equivalent to 90 minutes.

missedPersistentTimerAction

  • ALL

  • ONCE

Specifies the action to perform when the expiration of an interval or schedule-based persistent timer is missed. One or more expirations of a persistent timer are classified as missed if the current expiration is scheduled before application server start or the next expiration is scheduled before the current time. The default action when failover of persistent timers is enabled is ONCE, otherwise the default action is ALL.
ALL
The timeout method is invoked immediately for all missed expirations. When multiple expirations are missed for the same timer, each invocation occurs synchronously until all missed expirations are processed, then the timer resumes with the next future expiration.
ONCE
The timeout method is invoked once immediately. All other missed expirations are skipped and the timer resumes with the next future expiration.

nonPersistentContextServiceRef

A reference to top level contextService element (string).

The context service is used to manage context propagation to non-persistent timer method threads.

nonPersistentMaxRetries

int
Min: -1

-1

When a non-persistent timer expires, the timeout callback method is called. This setting controls how many times the EJB container attempts to retry the timer. If the transaction for this callback method fails or is rolled back, the EJB container must retry the timer at least once. The default value is -1, which means the EJB container retries infinitely until the timer is successful. If the value is set to 0, the EJB container does not retry the timer, however, this results in behavior that is not compliant with the EJB specification.

nonPersistentRetryInterval

A period of time with second precision

300s

When a non-persistent timer expires, the timeout callback method is called. If the transaction for this callback method fails or is rolled back, the container must retry the timer. The first retry attempt occurs immediately, and subsequent retry attempts are delayed by the number of seconds specified. If the value is set to 0, then all retries occur immediately. If you do not specify a value, the default interval is 300 seconds. Specify a positive integer followed by a unit of time, which can be hours (h), minutes (m), or seconds (s). For example, specify 30 seconds as 30s. You can include multiple values in a single entry. For example, 1m30s is equivalent to 90 seconds.

persistentExecutorRef

A reference to top level persistentExecutor element (string).

Schedules and runs EJB persistent timer tasks.

Expand
ejbContainer > timerService > nonPersistentContextService

The context service is used to manage context propagation to non-persistent timer method threads.

Expand
ejbContainer > timerService > nonPersistentContextService > baseContext

Expand
ejbContainer > timerService > nonPersistentContextService > baseContext > classloaderContext

Expand
ejbContainer > timerService > nonPersistentContextService > baseContext > jeeMetadataContext

Expand
ejbContainer > timerService > nonPersistentContextService > baseContext > securityContext

Expand
ejbContainer > timerService > nonPersistentContextService > classloaderContext

Expand
ejbContainer > timerService > nonPersistentContextService > jeeMetadataContext

Expand
ejbContainer > timerService > nonPersistentContextService > securityContext

Expand
ejbContainer > timerService > persistentExecutor

Schedules and runs EJB persistent timer tasks.

Expand
ejbContainer > timerService > persistentExecutor > contextService

Expand
ejbContainer > timerService > persistentExecutor > contextService > baseContext

Expand
ejbContainer > timerService > persistentExecutor > contextService > baseContext > classloaderContext

Expand
ejbContainer > timerService > persistentExecutor > contextService > baseContext > jeeMetadataContext

Expand
ejbContainer > timerService > persistentExecutor > contextService > baseContext > securityContext

Expand
ejbContainer > timerService > persistentExecutor > contextService > classloaderContext

Expand
ejbContainer > timerService > persistentExecutor > contextService > jeeMetadataContext

Expand
ejbContainer > timerService > persistentExecutor > contextService > securityContext