IBM Support

PM37821: OPENJPA DOESN'T FIND VALUEHANDLER AND/OR FIELDSTRATEGY CLASS WITH AN APPLICABLE CLASS LOADER

Fixes are available

7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
8.0.0.2: WebSphere Application Server V8.0 Fix Pack 2
8.0.0.3: WebSphere Application Server V8.0 Fix Pack 3
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
8.0.0.4: WebSphere Application Server V8.0 Fix Pack 4
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
8.0.0.5: WebSphere Application Server V8.0 Fix Pack 5
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Issue making the openJpa work with WAS 6.1.0.31 + EJB3 feature
    pack.
    
    See the error thrown below:
    
    [08/04/11 15:53:37:514 UTC] 00000020 SystemOut     O
    
    <openjpa-1.0.4-SNAPSHOT-r420667:908274 fatal user error>
    org.apache.openjpa.persistence.ArgumentException: The type for
    "test.aaa.bbb" is mapped to custom
    strategy"test.DecimalWrapperValueHandler", but this strategy
    cannot beinstantiated.
    at
    org.apache.openjpa.jdbc.meta.MappingRepository.mappedStrategy(Ma
    ppingRepository.java:953)
    at
    org.apache.openjpa.jdbc.meta.MappingRepository.defaultStrategy(M
    appingRepository.java:750)
    
    ::::::::::::::
    
    
    Caused by: <openjpa-1.0.4-SNAPSHOT-r420667:908274 fatal user
    error>
    org.apache.openjpa.persistence.ArgumentException: The class name
    "test.DecimalWrapperValueHandler" used in a metadata extension
    on field"test.aaa.bbb" is not valid.
    at
    org.apache.openjpa.meta.JavaTypes.classForName(JavaTypes.java:22
    7)
    at
    org.apache.openjpa.meta.JavaTypes.classForName(JavaTypes.java:19
    4)
    

Local fix

  • candidate to be fixed in next release
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V7.0.0 and V8.0.0 who use an         *
    *                  OpenJPA                                     *
    *                  ValueHandler or FieldStrategy.              *
    ****************************************************************
    * PROBLEM DESCRIPTION: OpenJPA doesn't find a ValueHandler     *
    *                      and/or FieldStrategy class with an      *
    *                      applicable class loader.                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a user's JPA entities makes use of (implement) an OpenJPA
    'org.apache.openjpa.jdbc.meta.ValueHandler' or
    'org.apache.openjpa.jdbc.meta.FieldStrategy', a potential
    exists for said classes/implementation to not be found by the
    current classloader.  That is, take the following code as an
    example:
    package test;
    @Entity
    public class TestEntity {
    @Id
    private Long id;
    @Persistent
    @Strategy("test.MyStringValueHandler")
    private String testString;
    .....
    package test;
    public class MyStringValueHandler extends
    org.apache.openjpa.jdbc.meta.strats.AbstractValueHandler {
    .....
    When OpenJPA attempts to load the 'MyStringValueHandler'
    class (the class listed in the @Strategy annotation), it may
    not be able to load the class depending on the classloader in
    use.  In this case OpenJPA is attempting to load the class
    with the wrong classloader.  Thus the following exception
    results:
    org.apache.openjpa.persistence.ArgumentException: The type for
    "test.TestEntity.testString" is mapped to custom
    strategy "test.MyStringValueHandler", but this strategy
    cannot beinstantiated.
    

Problem conclusion

  • With this fix, code has been added to ensure that OpenJPA uses
    the correct classloader when it attempts to load a class
    which has implemented a 'ValueHandler' or 'FieldStrategy'
    interface.
    
    The fix for this APAR is currently targeted for
    inclusion in Service Levels (Fix Packs) 7.0.0.21 and 8.0.0.2 of
    WebSphere Application Server versions 7.0.0 and 8.0.0.
    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

    PM37821

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    61A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-04-26

  • Closed date

    2011-08-12

  • Last modified date

    2011-09-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PM41571 PM41573

Fix information

  • Fixed component name

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R700 PSY

       UP

  • R800 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 6.1

Reference #: PM37821

Modified date: 02 September 2011