JEXIN Overview

Jexin implements error simulation using exception injection. Exception injection means a method call is intercepted and a user defined exception is thrown by Jexin to simulate some error. For example, say there is a method called sendMessage that sends a message to a JMS queue. A Jexin user could configure sendMessage to throw an exception when it is called to simulate the queue being unavailable. Jexin uses Java annotations and aspects to identify methods that allow exceptions to be injected. The actual exception to be injected (if any) is determined at runtime using the Jexin web application.

Jexin supports several views of stack traces including side-by-side comparison and merging of traces from different threads/JVMs into a single trace. This also makes Jexin a useful debugging tool. Jexin does not run tests; it monitors the application and injects exceptions. The tests may be run manually or using a testing framework.

Jexin includes a web application and client jar. The web application is packaged as a WAR file and should function in any web container (Tomcat 6 was used for testing). Only one server instance is needed to work with several applications and/or environments. The web application supports Firefox and Internet Explorer. The client jar is included in the application(s) under test. Using Jexin in the application under test consists of annotating methods and creating the trace server. The Traceable annotation determines which methods are included in the Jexin stack traces and developer recommendations regarding exceptions likely to occur within the method. The TraceServer communicates with the Jexin web application. The TraceServer may be easily configured using Spring or configured directly in code.

Main Features: