Documentation‎ > ‎

Getting started

All you have to do is to annotate your transactional methods with @atomic, i.e.:

@Atomic
public void myTransaction(){
...
}

Then all you need to in order to run it, is to add to your java command line: -javaagent:bin/deuceAgent.jar
e.g. java -javaagent:bin/deuceAgent.jar -cp my.jar myMain
Using this javaagent Deuce is doing an Online Instrumentation, meaning instrumenting the application bytecode in runtime.

Flow control
Deuce support two mechanism to control the Transaction flow:

Offline instrumentation

In few case Online instrumentation is not good enough due to some limitation (e.g. classes that are loaded in the boot classloader).
Therefor, Deuce provides an offline mode e.g.
 
java -jar deuceAgent.jar my.jar out_my.jar
 
This will instrument my.jar and create a new instrumented out_my.jar.