Hello,
atm we don't support multiple transactions for the same session. If we
would ever support it, we will need to traverse the "afterCompletion"
list in DefaultKeycloakTransactionManager.begin (and also similarly in
DefaultKeycloakTransactionManager.isRollbackOnly() ). Maybe you can
create JIRA and we can take a look later? Another thing is that all
enlisted transactions would also need to support multiple transactions
per session (for example in case of JPA it is multiple transactions per
single EntityManager, which JPA supports, but there might be some
performance issues with it)
Note that until than, you can use pattern where each transaction will
run in it's own KeycloakSession. So defacto multiple KeycloakSession per
request. If you already have any KeycloakSession you can retrieve
KeycloakSessionFactory with:
KeycloakSessionFactory factory = session.getKeycloakSessionFactory();
And then you can use for example: KeycloakModelUtils.runJobInTransaction
to use separate KeycloakSession and transaction for your task. Does it
work for your usecase?
Marek
On 19.9.2014 00:13, Rodrigo Sasaki wrote:
Hello,
I have created some custom endpoints for my project, and in one of
them I need to use multiple transactions on a single request. I ran
into some issues, even though I call
session.getTransaction().begin()
It didn't work correctly saying that I didn't have an opened
transaction. I look a little deeper and saw that there are 2 lists of
transactions inside
org.keycloak.services.DefaultKeycloakTransactionManager.
One is called *transactions* and the other is *afterCompletion*
when commit() is called, both lists are traversed committing every
single transaction in them, but when begin() is called, only the
*transactions* list is traversed, and the one I needed was inside
*afterCompletion*, which remained closed.
Is this supposed to be this way? I'm not sure what these lists do, but
maybe the other one should be opened too.
Is there a problem on opening the transactions on *afterCompletion*
list as well?
Thanks!
--
Rodrigo Sasaki
_______________________________________________
keycloak-user mailing list
keycloak-user(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user