The concurrency strategy for WebLogic specifies how the container should manage concurrent access to an entity type enterprise bean. This rule detects the presence of the <concurrency-strategy> element in the weblogic-ejb-jar.xml file.
There are four WebLogic concurrency strategies that must be migrated to WebSphere traditional:
For this rule the automated fix will migrate your concurrency strategies defined in
weblogic-ejb-jar.xml to concurrency strategies defined
in the
WebSphere EJB extension file.
Automated fix actions:
For the Exclusive WebLogic strategy, the following WebSphere(R) Application Server bean cache options are set for the corresponding bean:
These parameters avoid calls to ejbLoad function and serialize access to the bean instance. This option increases memory utilization by maintaining persistent state in the cache but can provide better response time if the bean instance is not generally accessed concurrently. This is caching Option A in the EJB specification.
ReadOnlyFor the ReadOnly WebLogic strategy, the following WebSphere Application Server Bean Cache options will be set for the corresponding bean:
For the Database WebLogic strategy, the following WebSphere Application Server bean cache options will be set for the corresponding bean:
This is the default for the WebSphere Application Server bean cache. Since it is the default, it does not have to be explicitly set it for each of the beans that use the database concurrency strategy: however, the automated fix will explicitly set it. This strategy is also referred to as caching Option C in the EJB specification.
OptimisticFor the Optimistic WebLogic strategy, optimistic locking is used in WebSphere. The access intent is set in the WebSphere extension file to wsOptimisticUpdate. Also, when the CMP map is created, the OptimisticPredicate property would be set to TRUE for all fields that are defined in the weblogic-cmp-rdbms-jar.xml file as <verify-columns>.These columns will be checked for updates before committing the changes to the database. If a change is detected, the transaction is rolled back.