Transaction management Apache Karaf with myBatis

I’m developing an OSGi app with Apache Karaf and myBatis. I have a problem with transaction management – how to achieve the following:

  1. Start transaction.
  2. Some business methods
  3. Some DB calls.
  4. Transaction commit.

Now if anything happens in point 3. I want to rollback everything (DB and business method actions).

Should I use pure JTA or other framework?

I’ve asked Google but most examples are based on JPA + JTA or Spring which I want to omit.

Thanks in advance!