I’m interesting in how undeploying application works related to JDBC pool. What payara does with running sql queries during undeploy? During deployment of new release, we undeployed application, but some session on oracle db stayed opened. My expectation is that undeploy of application destroy JDBC session in pool.
It seems, that payara still wait for session until session is committed. I wrote the test, to start updating one row through payara then thread.sleep(2minutes) , after 2 minutes the data are commited. During this I opened another session from SQL developer to perform the same update. Yes, of course the second session was waiting. Immediately I undeployed application (it took few seconds and application was removed from the list in payara admin console), but the second session was waiting whole 2minutes. My expectation was that the seconds session could perform update immediately after undeployment. Then I saw in payara server log this message:
[#|2021-11-16T08:42:13.173+0000|WARNING|Payara 5.201|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=766;_ThreadName=__ejb-thread-pool1;_TimeMillis=1637052133173;_LevelValue=900;|NON-NULL TX IN AFTER_EXECUTE. TX STATUS: 0|#]
Any help? Thanks.