Bug 1309020

Summary: KIE-Spring: listeners on KieSession not called when batch is used
Product: [Retired] JBoss BRMS Platform 6 Reporter: Marek Winkler <mwinkler>
Component: BREAssignee: Edson Tirelli <etirelli>
Status: CLOSED EOL QA Contact: Marek Winkler <mwinkler>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.2.0   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 19:03:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marek Winkler 2016-02-16 17:32:03 UTC
Description of problem:
When using the following configuration in Spring context, the listener is not called when the rule triggered by the batch fires:

  <kie:ksession name="ksession1">
    <kie:ruleRuntimeEventListener ref="mock-wm-listener"/>
    <kie:batch>
      <kie:insert-object ref="person"/>
      <kie:fire-all-rules/>
    </kie:batch>
  </kie:ksession>

The listener is triggered when a fact is inserted into the KieSession and fireAllRules() called in the test code (not in the batch).

The fact seems to be inserted into WM and rules fire when the batch is used. This leads to a suggestion that kie-spring might register listeners after it executes the batch (but I have not verified it).

Please see PR with unit test for details.

Version-Release number of selected component (if applicable):
BRMS 6.2.1

How reproducible:
always

Steps to Reproduce:
1. run org.kie.spring.KieSpringListenersBatchTest

Actual results:
The test fails.

Expected results:
The test succeeds.

Comment 1 Marek Winkler 2016-02-16 17:36:16 UTC
PR with reproducer: https://github.com/droolsjbpm/droolsjbpm-integration/pull/305