Today I migrated to 3.0.0 version and there seems to be an issue with Service pooling for the Jt400PgmpProducer.
Here's what I have:
When concurrentConsumers attribute of seda endpoint is set to 1 everything works fine, but when it is greater than 1 then it looks like the evict method from MultiplePool class calls stop method on a Jt400PgmProducer instance that is still being used (the process method on it is still getting called). This results in nulling the iSeries object inside Jt400PgmProducer instance:
and when the process method gets called later on this instance, it fails with NPE while constructing ServiceProgramCall:
I believe this may be related to producer caching in ServicePool class, some sort of key issue in the cache Map maybe?