From the error message, you are doing some work inside a local transaction and not doing it . Unoccupied work gets rolled back by the container at the end of the method (by default).
This answer The rollback of data in WAS6.0 sums it all up pretty well, and since it makes no sense to rephrase it, I will quote it below.
A LocalTransactionContainment is what you get in the absence of a global (XA). The message indicates that you performed some local transaction as part of this scope (method or activity session), and then did not commit . default behavior (unauthorized action is controlled) - rollback of any unreasonable work at the end of the volume. You have several options:
Explicitly commit a local transaction
connection.commit();
Change the data source to use auto-commit
connection.setAutoCommit(true);
before the connection is used
Put work in a global transaction
Context ic = new InitialContext(); UserTransaction ut = (UserTransaction) ic.lookup("java:comp/UserTransaction"); ut.begin();
Change the unresolved action to complete. Select the Servlets tab of the deployment descriptor editor and then select the servlet in the question. In the "WebSphere Extensions" section and then "Local Transaction" set "Unauthorized Actions" to "commit" in the drop-down menu.
I suggest doing the work explicitly (and read the whole answer).
source share