Fixes are available
8.0.0.5: WebSphere Application Server V8.0 Fix Pack 5
8.5.0.2: WebSphere Application Server V8.5 Fix Pack 2
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
APAR status
Closed as program error.
Error description
When a value strategy implemented by a subclass of AbstractValuehandler overrides the map() method, an exception occurs on a find() if the strategy is implemented on an id field. The method returns a Column[]. <openjpa-2.1.2-SNAPSHOT-r422266:1297100 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: The specified parameter of type "class [Ljava.lang.Object;" is not a valid query parameter. FailedObject: id1 [org.apache.openjpa.util.StringId] [java.lang.String] at org.apache.openjpa.jdbc.sql.DBDictionary.setUnknown(DBDictionary .java:1465) at org.apache.openjpa.jdbc.sql.DBDictionary.setUnknown(DBDictionary .java:1391) at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.ja va:656) at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer .java:565) at org.apache.openjpa.jdbc.sql.SQLBuffer.prepareStatement(SQLBuffer .java:541) at org.apache.openjpa.jdbc.sql.SelectImpl.prepareStatement(SelectIm pl.java:479) at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:4 20) at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:3 82) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getInitializeSta teResult(JDBCStoreManager.java:576) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState( JDBCStoreManager.java:378) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCS toreManager.java:333) at org.apache.openjpa.kernel.DelegatingStoreManager.initialize(Dele gatingStoreManager.java:112) at org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreMan ager.java:57) at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java: 1027) at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:985) at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:902) at org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker .java:231) at org.apache.openjpa.persistence.EntityManagerImpl.find(EntityMana gerImpl.java:486) at org.apache.openjpa.persistence.strategy.value.TestValueStrategy. testIt(TestValueStrategy.java:37) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:88) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:154) at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase. runTest(AbstractPersistenceTestCase.java:579) at junit.framework.TestCase.runBare(TestCase.java:127) at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase. runBare(AbstractPersistenceTestCase.java:566) at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase. runBare(AbstractPersistenceTestCase.java:542) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase. run(AbstractPersistenceTestCase.java:206) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference .run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExec ution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests( RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests( RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(Remot eTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(Remo teTestRunner.java:197) Presumably the exception would occur on other fields if they were part of the query. The DBDictionary setUnknown() method needs to handle input of an Object[].
Local fix
No local fix or work around
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server * **************************************************************** * PROBLEM DESCRIPTION: An ArgumentException is thrown when an * * application attempts to utilize a * * custom * * value strategy class. * **************************************************************** * RECOMMENDATION: * **************************************************************** When a value strategy implemented by a subclass of AbstractValuehandler overrides the map() method, an exception occurs on a find() if the strategy is implemented on an id field. The DBDictionary setUnknown() method needs to handle input of an Object[]. Sample Exception: <openjpa-2.1.2-SNAPSHOT-r422266:1297100 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: The specified parameter of type "class [Ljava.lang.Object;" is not a valid query parameter. FailedObject: id1 [org.apache.openjpa.util.StringId] [java.lang.String] at org.apache.openjpa.jdbc.sql.DBDictionary.setUnknown(DBDictionary .java:1465) at org.apache.openjpa.jdbc.sql.DBDictionary.setUnknown(DBDictionary .java:1391) at org.apache.openjpa.jdbc.sql.SQLBuffer.setParameters(SQLBuffer.ja va:656) ...
Problem conclusion
The DBDictionary.setUnknown() method has been updated to properly handle an Object[] input. The fix for this APAR is currently targeted for inclusion in fix pack 8.0.0.5 and 8.5.0.2. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PM67875
Reported component name
WEBSPHERE APP S
Reported component ID
5724J0800
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-06-28
Closed date
2012-09-25
Last modified date
2012-09-25
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WEBSPHERE APP S
Fixed component ID
5724J0800
Applicable component levels
R800 PSY
UP
R850 PSY
UP
Document Information
Modified date:
29 October 2021