First of all I'm new to JTA.
I have a stand-alone application, no JBoss AS, not database. I just use a distributed JBoss POJO cache and JBoss JTA.
The architecture consists of a server machine and some gui clients. The clients have access to only some cache nodes (they just don't know the Fqn of others).
I've managed to manipulate the cache content in distributed transactions, which worked ok.
Because the clients don't have enough knowledge about all the data, they can't verify the integrity of the model when they commit some modifications.
I see that on a Transaction obtained from the TransactionManager I can registerSynchronization() and put some validation code there. The validation can be done only on my server machine. If I start a transaction from the client machine, can I control it before it commits?