IBM Support

PH65895: JOB NOT BEING PROPERLY INITIALIZED USING JAVA BATCH

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • An NPE error is thrown while invoking getJobInstances() after
    a server restart.
    java.lang.NullPointerException
    	at
    com.ibm.jbatch.container.services.impl.MemoryPersistenceManagerI
    mpl.getJobInstances(MemoryPersistenceManagerImpl.java:221)
    	at
    com.ibm.jbatch.container.services.impl.MemoryPersistenceManagerI
    mpl.getJobInstances(MemoryPersistenceManagerImpl.java:214)
    	at
    com.ibm.jbatch.container.api.impl.JobOperatorImpl.getJobInstance
    s(JobOperatorImpl.java:439)
    

Local fix

  • Two options, but having both would be preferable.
    Throw a meaningful exception in case the object is null by
    adding a proper validation or initialise the object in case if
    its null.
    The second option aligns with the spec implementation in
    Liberty.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server who use Batch with JSR 352 specs     *
    ****************************************************************
    * PROBLEM DESCRIPTION: The user faces a NPE when a server is   *
    *                      restarted and tries to obtain job       *
    *                      instance data before submitting a job   *
    *                      after restart.                          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A variable named 'data' is lost once the server is restarted.
    It was only initiliased while creating a job instance before.
    So unless a job was created, even an empty list wouldn't be
    available.
    

Problem conclusion

  • The problem was that data would be initialised only when a new
    job instance is created, it has been changed to be initialised
    as an empty value while the class MemoryPersistenceManagerImpl
    is initiated, so even if a user invokes a method to obtain job
    data they wont see an NPE.
    
    The fix for this APAR is targeted for inclusion in fix pack
    9.0.5.25. For more information, see 'Recommended Updates for
    WebSphere Application Server':
    https://www.ibm.com/support/pages/node/715553
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH65895

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-03-28

  • Closed date

    2025-07-22

  • Last modified date

    2025-07-22

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]

Document Information

Modified date:
22 July 2025