Skip to content

Commit ea5870c

Browse files
authored
Update README.md
1 parent 23bb962 commit ea5870c

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,27 @@ As an alternative to compile-time bytecode instrumentation, you MAY use [Tascala
8888
The agent JAR file includes all necessary dependencies and requires no additional CLASSPATH settings. It's recommended to use this agent in conjunction with either Maven or Ant build tools supplied to minimize the associated overhead of the instrumentation during class-loading process at run-time.
8989

9090
Another useful application of the instrumentation agent is to apply it for debugging code within your IDE of choice. Just specify the "-javaagent" option listed above in your IDE debug/run configuration and you will be able to perform quick "debug-fix" loops without executing full project rebuild.
91+
92+
# Command-line tools
93+
It's possible to use a stand-alone command-line utility [JavaFlowRewriteJar.jar](https://github.com/vsilaev/tascalate-javaflow/releases/download/2.0/JavaFlowRewriteJar.jar) to instrument JAR archives containing continuable classes. Please use the following command:
94+
95+
```bash
96+
java -jar JavaFlowRewriteJar.jar src1.jar dst1.jar src2.jar dst2.jar...
97+
```
98+
Note, that the source and the destination should be different files.
99+
100+
# CDI Support
101+
To work correctly in CDI environment continuable methods should be advised only by continuation-aware CDI proxies (interceptors, scope proxies, etc). Obviously, generation of these proxies is out of our control. Plus, major CDI containers (JBoss Weld and Apache OpenWebBeans) generates such proxies dynamically at run-time. Therefore if you plan to use Tascalate JavaFlow continuations with managed beans' methods then it's necessary to instrument CDI-specific proxies with [javaflow.instrument-cdi-proxy.jar](https://github.com/vsilaev/tascalate-javaflow/releases/download/2.0/javaflow.instrument-cdi-proxy.jar) Java Agent:
102+
```bash
103+
java -javaagent:<path-to-jar>/javaflow.instrument-cdi-proxy.jar <rest-of arguments>
104+
```
105+
Please note, that CDI-specific agent neither requires javaflow.instrument-continuations.jar to operate correctly nor provides class file transformers for continuable methods. So if your project runs with CDI environment AND uses Java 8 lambdas then you have to add 2 Java agents, every serving different purpose:
106+
```bash
107+
java -javaagent:<path-to-jar>/javaflow.instrument-continuations.jar \
108+
-javaagent:<path-to-jar>/javaflow.instrument-cdi-proxy.jar \
109+
<rest-of arguments>
110+
```
111+
CDI functionality is tested with JBoss Weld 2.x (up to 2.4.2) and Apache OpenWebBeans 1.6.x / 1.7.x (up to 1.7.2). Contribution for other CDI/CDI-like containers (Spring, Google Guice, etc) is welcome.
112+
113+
# More documentation
114+
For additional documentation, tutorials and guidelines please visit my [blog](http://vsilaev.com)

0 commit comments

Comments
 (0)