Custom finder SQL dynamic enhancement properties

Use this page to modify custom finder SQL dynamic enhancement properties settings.

To ensure that the Structured Query Language (SQL) dynamic enhancements occur correctly for custom finders defined on an EJB 1.1 Home interface that uses a backend data store that requires the special SQL locking clauses, the following Java™ virtual machine (JVM) and bean (module) properties are provided. These properties enable you to indicate which custom finders to enhance, assuming the backend data store supports the SQL clauses.

[IBM i][AIX Solaris HP-UX Linux Windows]For i5/OS™ and distributed platforms, to view this administrative console page, click Servers > Server Types > WebSphere application servers > server_name > Java and process management > Process definition > Java virtual machine > Custom properties

[z/OS]For z/OS, to view this administrative console page, click Servers > Server Types > WebSphere application servers > server_name > Control (to define the property in the Control) or Servant (to define the property in the Servant) > Java and process management > Process definition > Java virtual machine > Custom properties.

com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent

Used to indicate which enterprise beans should have custom finder SQL dynamic enhancement enabled at runtime.

This property takes effect at the server level. Any EJB 1.1 home interface-defined custom finder (prefix named find) that has Update as an access intent is a candidate for custom finder SQL dynamic enhancement based on its specified isolation level. If the backend data store requires special SQL semantics, they are applied. The particular SQL used varies according to the isolation level you choose for beans in the application, as well the backend data base being used. If set to all, custom finder SQL dynamic enhancement is enabled for all custom finders defined in any beans that are installed into the container. If set to J2EENAME[:J2EENAME], where J2EENAME is a fully qualified package or bean name, custom finder SQL dynamic enhancement is enabled for only the custom finders defined in the beans that are installed into the container and represented by the bean names denoted.

Information Value
Data type String
Range Valid values are all or J2EENAME[:J2EENAME]
Default Enhancement behavior not active
Note: Some of your applications might use custom finders that have been manually coded and already contain the SQL locking clauses, or keywords ORDER BY and DISTINCT on the SELECT operation. In these instances, if the run time attempts SQL dynamic enhancement, the possibility exists of introducing malformed SQL statements to the underlying backend data store. If an application contains these custom finders, then you must be careful when specifying the value for the JVM property com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent. A value of all causes custom finder SQL dynamic enhancement to occur for every custom finder method defined with an access intent of Update found in all beans that are installed in the application server, thus introducing malformed SQL for that subset of custom finders.

To prevent this from happening, do not set the server-wide setting to all. Instead, use the bean method level property, com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent.methodLevel to indicate on a per bean basis only those custom finder methods that should have the custom finder SQL dynamic enhancement executed on them at run time.

com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent.methodLevel

Used to indicate custom finder SQL dynamic enhancement be enabled at the method level on a particular bean.

When a bean is defined with this property set to a list of one or more custom finder methods, any custom finder (prefix named find) defined on the home interface that has a matching method name and parameter signature has SQL locking semantics applied at run time. This occurs only if the custom finder method has an access intent of Update specified and the backend data store supports the SQL clauses. The particular SQL used varies according to the isolation level chosen for the application as well as the backend data store being used.

Information Value
Data type String
Range Valid value is a string of this form: method1(parm1,parm2,..parmn):method2(parm1,parm2,..parmn):methodn(...)
[z/OS]

com.ibm.websphere.persistence.bean.managed.custom.finder.access.intent

Used by WebSphere® Application Server for z/OS® Version 4.x users to indicate that the SQL enhancement capability should not be applied to applications installed in the WebSphere Application Server for z/OS product.

The default behavior of the WebSphere Application Server for z/OS Version 4.x product is to perform the dynamic SQL enhancements. For those z/OS users choosing not to participate in dynamic SQL enhancement of custom finders in the Version 4.x product, this attribute is used to make this indication at both the bean and the server level.

At the bean level, a name/value pair consisting of this attribute name and a value of true disables the SQL enhancement of any custom finder defined on the given bean's home interface.

At the server level, an entry into the WebSphere Application Server for z/OS server property file with a value of true disables the SQL enhancement of all beans installed in the given server.

This custom finder enhancement attribute continues to be supported by the runtime at the bean level in the product. Its use as a server wide indicator has been deprecated by the fact that the default behavior of earlier versions is to not dynamically enhance custom finder SQL.

Note: If your WebSphere Application Server for z/OS installation relies on the automatic dynamic enhancement of all custom finders in all applications installed, you should set the com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent indicator to all. If an application contains a bean that has the com.ibm.websphere.persistence.bean.managed.custom.finder.access.intent indicator set into its env-var settings, that indicator continues to be used, provided the dynamic SQL enhancement features of the product are enabled as previously described.
Information Value
Data type String
Range Valid values are true and false

Some notes about precedence:

  • The com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent.methodLevel attribute overrides any server-wide or bean level attribute setting
  • Any bean listed through a J2EE Name in the com.ibm.websphere.ejbcontainer.customfinder.honorAccessIntent indicator causes dynamic enhancement to occur for custom finders defined for that bean, even if the default behavior is in effect for the server in question.
  • The com.ibm.websphere.persistence.bean.managed.custom.finder.access.intent attribute disables a particular bean's use of this feature if the server-wide setting or bean setting is enabled and no method level settings are specified.

指出主題類型的圖示 參照主題



時間戳記圖示 前次更新: July 9, 2016 11:19
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=udat_sqllock
檔名:udat_sqllock.html