In addition to the settings that are accessible from the administrative console, you can set EJB system properties using command-line scripting.
This property is applicable to container managed persistence (CMP) 1.1 beans only. By default, the EJB container creates the entity bean representation in the database only after the method, ejbPostCreate(...), is called.
Some applications might rely on method, ejbCreate(...), to have created the entity bean in the database. For such a requirement, setting the JVM property, com.ibm.websphere.ejbcontainer.allowEarlyInsert, to true overrides the default behavior.
Specifies a server-wide setting that indicates the container should complete additional application configuration validation to ensure the application is consistent with the Java Platform, Enterprise Edition (Java EE) specification.
This property is intended for use during development of an application to assist in identifying improper configurations, which might result in unexpected behavior. For example, applying the javax.ejb.Asynchronous annotation to an interface is not supported by the specification and is typically ignored. When this property is enabled, an error is logged, and an exception occurs when the bean is processed. This failure is useful during development to understand why the methods are not working asynchronously.
Additional configuration validation is completed and might result in multiple configuration warnings and errors being logged when this property is enabled. Typically, this additional validation is for scenarios that incur extra overhead to run, which is unnecessary for stable applications on a production server. For minor deviations from the specification, only warnings are logged. For more significant issues, an error is logged, and the application cannot run until the error is corrected.
This property enables you to indicate whether exceptions that are declared on the throws clause of an EJB method should are treated as application exceptions or as system runtime exceptions. When this property is set to true, these exceptions are treated like system runtime exceptions, and causes an EJBException to be issued on the client side.
If this property is not specified, or if this property is set to false, exceptions that are declared on the throws clause of an EJB method are treated as application exceptions.
The default value for this property is false.
This property enables you to specify the default session concurrency access timeout value for all session beans on a server. The value is specified in milliseconds.
Specify a Long data type value to disable or enable session concurrency:
If this property is set, the specified session bean concurrency access timeout is used server wide instead of the default value of -1 (wait forever). This applies to both stateful and singleton session beans. At the individual session bean level, the timeout can be overridden using the @AccessTimeout annotation on the bean class or method or using the access-timeout deployment descriptor element.
Specifies a server-wide timeout for stateful session beans, which indicates how long a stateful session bean is retained by the server.
This is a system property that you can add directly to the server.xml file or as a generic JVM argument using the administrative console.
The property is specified in minutes, the only valid unit. The default value is 10 minutes. A value of zero specifies that the server uses the default value of 10 minutes. A negative value is not valid. Any zero or greater value is valid. If a non-valid value is specified, a warning is issued to SystemOut, and the default value is used.
The stateful session bean timeout duration can be specified on a per-bean basis using annotations or xml. If a timeout duration is explicitly specified for a particular bean, this takes precedence over any server-wide timeout setting.
If no bean-specific timeout duration exists for a particular bean, then the server-wide timeout setting is applied to that bean.
If no bean-specific timeout duration exists for a particular bean, and no server-wide timeout setting exists, then the default timeout setting is applied to that bean.
Specifies a server-wide setting that indicates the EJB container provides default behaviors that are consistent with the Java Enterprise Edition (Java EE) 5.0 specification.
This is a system property that you can add directly to the server.xml file or as a generic JVM argument using the administrative console.
The Java EE specification includes improvements to the EJB programming model that have resulted in minor changes to some default behaviors. In general, these changes provide more intuitive or more reliable behavior. However, if an application has been written to rely on one or more of the Java EE 5.0 behaviors, this system property might be set to revert the EJB container back to the Java EE 5.0 default behaviors.
Setting the property to true overrides the following behaviors:
This property allows the user to specify application names in which they want to have the EJBs in their EJB 3.x modules demonstrate the pre-EJB 3.0 setRollbackOnly behavior.
The pre-EJB 3.0 setRollbackOnly behavior is described in Changing applications to WebSphere "version specific" setRollbackOnly behavior.
This property allows the user to specify application names in which they want to have the EJBs in their EJB 3.x modules demonstrate the EJB 3.x setRollbackOnly behavior.
The EJB 3.x setRollbackOnly behavior is described in Changing applications to WebSphere "version specific" setRollbackOnly behavior.
Specifies the size of the pool for the specified bean type. This property applies to stateless, message-driven, and entity beans. If you do not specify a default value, the container default value, 50 and 500, are used.
beantype=[H]min,[H]max [:beantype=[H]min,[H]max...]
The beantype element is the Java EE name of the bean, formed by concatenating the application name, the # character, the module name, the # character, and the name of the bean, that is, the string assigned to the <ejb-name> field in the deployment descriptor of the bean. The min and max elements are the minimum and maximum pool sizes for that bean type. Do not specify the square brackets shown in the previous prototype; they denote optional additional bean types that you can specify after the first bean type. Each bean type specification is delimited by a colon (:).
*=30,100
SMApp#PerfModule#TunerBean=54, :SMApp#SMModule#TypeBean=100,200
You can specify the bean types in any order within the string.
You can designate the maximum configured EJB pool size as a hard limit by inserting the character, H, directly in front of the max value. Without the H character, the maximum value indicates how many EJB instances can be pooled and does not limit the number of EJB instances that can be created or in use. Inserting the H character before the max value indicates a hard limit, and the EJB container blocks creation of more instances when that limit is reached. Further threads must wait until an instance becomes available or until the transaction times out.
You can designate the minimum configured EJB pool size as a hard limit by inserting the character, H, directly in front of the min value. Without the H character, the minimum value indicates how many EJB instances are maintained in the pool when the EJB type is not actively in use, but does not preload the pool when the application is started. Typically, the minimum pool size is not reached until the minimum number of EJB instances has been accessed concurrently by the application. Inserting the H character before the min value indicates a hard limit, and the EJB container preloads the pool with the minimum number of EJB instances when the application is started.
SMApp#SMModule#TypeBean=100,H200If you want to indicate that the EJB container preloads the pool with a minimum of 100 EJB instances when the application is started, then enter:
SMApp#SMModule#TypeBean=H100,200