Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-945

Can't passivate WorkingMemory with JBoss cache because ActivationGroupImpl is not serializable

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: 3.0.6
    • Fix Version/s: 4.0.0.MR3
    • Component/s: None
    • Labels:
      None
    • Environment:

      JBoss AS 4.2 + JBoss Cache + JBoss Rules 3.0.6

      Description

      When attempting to put a WorkingMemory that contains rules relying on activation groups into a TreeCache (which passivates with a JDBC connection), the following happens:

      16:55:00,925 ERROR [JDBCCacheLoader] Failed to insert node: org.drools.common.ActivationGroupImpl
      java.io.NotSerializableException: org.drools.common.ActivationGroupImpl
      ...
      Surely enough, checking the javadoc (4.0 included) shows that indeed ActivationGroupImpl is not serializable.
      And strangely its "cousin" AgendaGroupImpl is serializable.

      Any particular reason why ActivationGroupImpl is not serializable?
      It prevents us from caching our working memories, we'll have to passivate the rule bases instead, which has a big performance impact on our rule-heavy system. I hope there's an easy fix to that.

      In the meantime, I'll try to simply modify the source code to add "implements Serializable" to that class and see what happens. I'll add findings here.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                mark.proctor Mark Proctor
                Reporter:
                kouiskas Gilles Dubuc
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: