Different Behaviour Of Introspection On Different JREs On Windows With Oracle Application Server 10.1.3.5
(Doc ID 1286054.1)
Last updated on OCTOBER 17, 2023
Applies to:
Oracle Containers for J2EE - Version 10.1.3.5.0 and laterInformation in this document applies to any platform.
Symptoms
When introspecting bof.TransactionVO in SUN JRE 1.6.0_19-b04 in an Oracle 10.1.3.5 application server on a windows environment (Microsoft(R) Windows(R) Server 2003 Standard x64 Edition) , the following output is obtained:
Printing PropertyDescriptors of class : bof.TransactionVO
-------------------------------------
props[i].getName(): class
props[i].getPropertyType():class java.lang.Class
props[i].getShortDescription() :class
props[i].getReadMethod(): public final native java.lang.Class java.lang.Object.getClass()
props[i].getWriteMethod(): null
IndexedPropertyDescriptor : false
props[i].getName(): transactionType
props[i].getPropertyType():class java.lang.String
props[i].getShortDescription() :transactionType
props[i].getReadMethod(): public java.lang.String bss.TransactionVO.getTransactionType()
props[i].getWriteMethod(): public void bss.TransactionVO.setTransactionType(java.lang.String)
IndexedPropertyDescriptor : false
In this output, the “readmethod” and the “propertytpe” for trasactionType property are correctly getting evaluated to getTransactionType() and java.lang.String respectively. So the application works perfectly fine in this environment.
But when introspecting bof.TransactionVO in IBM JRE 1.6 in an Oracle 10.1.3.5 application server on an AIX environment (AIX 6.1.4.0), a different output is obtained as shown below:
Printing PropertyDescriptors of class : bof.TransactionVO
-------------------------------------
props[i].getName(): class
props[i].getPropertyType():class java.lang.Class
props[i].getShortDescription() :class
props[i].getReadMethod(): public final native java.lang.Class java.lang.Object.getClass()
props[i].getWriteMethod(): null
IndexedPropertyDescriptor : false
props[i].getName(): transactionType
props[i].getPropertyType():null
props[i].getShortDescription() :transactionType
props[i].getReadMethod(): null
props[i].getWriteMethod(): null
IndexedPropertyDescriptor : true
Notice the null values present for getPropertyType(), getReadMethod(), and getWriteMethod(). Also notice that this propertyDescritpor type is showing up as an indexedPropertyDescriptor. Looks like the getter public TransactionTypeVO getTransactionType(int index) in the backoffice TrasactionVo is considered as a valid read method for the property “transactionType”.
Because of this the JXpath query to find out the value of trasactionType property fails and this is blocking the application upgrade Java 1.5 to 1.6.
The same code base is working perfectly fine in JRE 1.5 environments on both AIX and Windows on Oracle Application Server 10.1.3.3.
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |