IBM Support

PI25045: USED CICS OSGI BUNDLE TO EXPORT DATA/CFG FILES BUT YOU CAN'T GET THE ACCESS TO CONFIG FILES TO WORK PROPERLY.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • This problem is caused by the classloader in effect which
    means that the config or data files cannot be seen.  This was
    never a problem with pooled JVM because everything could be
    loaded from the classpath.
    
    What the application needs to do is to switch the current
    threads ContextClassLoader to the Equinox ContextFinder
    classloader, load the file using
    classLoader.getResourceAsStream(); and then switch the
    ContextClassLoader back to what it was originally.
    .
    Development have come up with a CICS change which automatically
    sets the correct class loader so the switching around would not
    have to be done by the application.
    
    
    Additional Symptom(s) Search Keyword(s): KIXREVSVR
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect class loader is used to       *
    *                      load the data file within the same      *
    *                      OSGi bundle as the running Java         *
    *                      application code.                       *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A Java application runs in a JVM server. The application
    contains the code to read in some configuration data from a
    file within the same OSGi bundle. This file is loaded using
    the ClassLoader.getResourceAsStream method call. CICS loads
    the file using the context class loader of the current thread.
    The load fails to locate the file, and getResourceAsStream
    returns a null pointer.
    
    If the application attempts to use the pointer returned from
    getResourceAsStream then exceptions such as NullPointerException
    or FileNotFoundException may occur, and the transaction will
    abend AJ05.
    
    Additional Keywords: abendAJ05
    

Problem conclusion

  • The CICS OSGi environment has been changed to modify the
    current context class loader to be an Equinox ContextFinder
    class loader. This allows the application to load resources
    from within the current OSGi bundle
    using ClassLoader.getResourceAsStream().
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PI25045

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-09-03

  • Closed date

    2014-12-04

  • Last modified date

    2015-01-02

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

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

    PI27792 UI23600

Modules/Macros

  • DFJ@H352
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R70D PSY UI23600

       UP14/12/11 P F412

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
30 April 2020