It defined in the javax.transaction.Transaction interface.
You get the current transaction from the transaction manager via javax.TransactionManager.getTransaction
You get the transaction manager via JNDI lookup.
As far as I'm aware the JTA spec does not mandate that the TM is exposed in this way but if it is then it does not mandate what JNDI name should be used.
So you need to check the documentation for whichever JEE server you are using, for example AS7 registers it as java:jboss/TransactionManager.
thank you for your response,
i found TransactionManager.registerSynchronization method
TransactionManager utx1 =
(TransactionManager) new InitialContext().lookup("java:/TransactionManager);