Is serialization of kbase/package supported in BRMS 6/BPM Suite 6/RHDM 7?

Solution Verified - Updated

Environment

  • Red Hat JBoss BRMS
  • Red Hat JBoss BPM Suite
    • 6
  • Red Hat Decision Manager (RHDM)
    • 7

Issue

  • Building KieBase takes a long time. We are looking at options where a KieBase can be serialized/deserialized for subsequent use.
  • May I use DroolsObjectInputStream and DroolsObjectOutputStream?

Resolution

Serialization of kbase/package is not supported in BRMS/BPM Suite 6/RHDM 7.

From performance perspective, building kbase/package is a heavy operation but you can cache the kbase in memory (KieContainer automatically does it for you). So you will be able to re-use the kbase once built. As serialization is not supported, you cannot pass such a serialization form of kbase across JVM boots. So you need to build a kbase once after JVM boot anyway.

Note: Building a Kjar beforehand and loading it at runtime is rather a standard/recommended approach in BRMS/BPM Suite 6. It would improve the performance to some extent. But loading it may still take a long time because it's not fully serialized information. Further improvement is planned for RHDM 7.

DroolsObjectInputStream and DroolsObjectOutputStream were used in BRMS 5 but it's not supported in BRMS/BPM Suite 6/RHDM 7.


This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.