We have created a tool for Reverse Engineering any Java application, which creates dynamic UML Sequence Diagrams and Class Diagrams.
All you have to do is just run your application and sit back. Reverse Java runs in background tracing all the activities happening inside your application and creates UML diagram for you. You can get more details at