Skip to content

DecisionsDev/odm-asynchronous-trace-dw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Asynchronous Trace Capture for IBM ODM Decision Warehouse

Features

This project enhances IBM ODM on WebSphere Liberty by enabling asynchronous trace capture, which improves performance by saving rule execution traces ashynchronously in the background.

  • Asynchronous Trace Persistence: Saves trace logs asynchronously using Java EE Concurrency Utilities
  • Robust Error Handling: Handles null traces gracefully and uses fallback values
  • Detailed Logging: Logs comprehensive trace information for debugging and monitoring

Requirements

  • IBM ODM Installed
  • Java 8 or later
  • WebSphere Liberty with concurrent-1.0 feature enabled

Deployment

  1. Before building, check and update the ODM and Liberty paths in the build.xml file:

    <property name="jrules.home" value="/Applications/IBM/ODM900" />
    <property name="liberty.home" value="/Applications/wlp" />

    Make sure these paths match the installation locations on your system.

  2. Build the JAR using Apache Ant

    ant clean build
    
  3. Copy the resulting JAR file to your Liberty server's lib directory:

    cp build/jrules-asynctrace.jar /path/to/liberty/usr/servers/yourserver/lib/
    
  4. Add the managed executor service to your server.xml (the name must be "concurrent/AsyncTraceExecutor" as it's hardcoded in AsyncTraceDAOFactory):

    <managedExecutorService jndiName="concurrent/AsyncTraceExecutor" />
    
  5. Configure your server.xml to include the JAR as a library:

    <library id="AsyncTraceLib">
      <fileset dir="${server.config.dir}/lib" includes="jrules-asynctrace.jar" />
    </library>
  6. Configure your application to use the library:

    <application type="war" id="DecisionService" name="DecisionService" location="${server.config.dir}/apps/DecisionService.war">
      <classloader delegation="parentLast" privateLibraryRef="AsyncTraceLib"/> 
    </application>
  7. Enable trace logging in your server.xml:

    <logging traceSpecification="*=info:ilog.rules.support.asynctrace.*=all" />

Issues and contributions

For issues relating specifically to this repository, please use the GitHub issue tracker. We welcome contributions following our guidelines.

License

The code found in this project are licensed under the Apache License 2.0.

Notice

© Copyright IBM Corporation 2025.

About

Capture decision warehouse trace asynchronously

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages