Bug 1000463 - Drools channels must specify service reference with component name
Drools channels must specify service reference with component name
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: Rules / jBPM integration, SwitchYard (Show other bugs)
6.0.0 GA
Unspecified Unspecified
urgent Severity urgent
: ER3
: 6.0.0
Assigned To: David Ward
Jiri Pechanec
Depends On:
  Show dependency treegraph
Reported: 2013-08-23 09:38 EDT by Martin Vecera
Modified: 2014-06-16 19:50 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2014-02-06 10:26:52 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Switchyard config (3.28 KB, text/xml)
2013-08-23 09:39 EDT, Martin Vecera
no flags Details

External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker SWITCHYARD-1691 Major Closed Drools channels must specify service reference with component name 2014-06-16 19:50:42 EDT

  None (edit)
Description Martin Vecera 2013-08-23 09:38:41 EDT
I have a simple drools service in SY specifying some channel.

          <rules:channel class="org.switchyard.component.common.knowledge.service.SwitchYardServiceChannel" name="heartChannel" operation="heartBeat" reference="RulesComponent/AuditorCEPService"/>
Formerly it was sufficient to specify just the reference name in the reference attribute. Not it must contain the component name as well. The rules component name is RulesComponent and the service reference is properly defined. I would expect it to specify just the reference name. Including the full switchyard.xml.
Comment 1 Martin Vecera 2013-08-23 09:39:08 EDT
Created attachment 789602 [details]
Switchyard config
Comment 2 Keith Babo 2013-08-26 09:50:26 EDT
Agree that the component name should not be required here.  I might have missed this in the core refactoring that requires reference names to be qualified with component name.  The code for rules should be the same as for bpm in terms of converting a reference name used in a service task to the qualified name that the bus expects.  I thought I changed this for rules as well, but maybe no ...
Comment 3 Martin Vecera 2013-08-29 08:03:44 EDT
The thing is that the references are stored in the registry with component name, which is IMHO wrong, because the references registry is component specific, isn't it?
Comment 4 Keith Babo 2013-08-29 08:26:11 EDT
Users should not care about how references are represented in the internal registry.  That said, references are qualified by component name because a reference name (e.g. "MyService") can be used across components and each reference is unique to the component.  So you could have:


The contract and policies for each component can be different.
Comment 5 Keith Babo 2013-08-29 08:29:37 EDT
I should have added that the reference registry is not component-specific.  There is one registry and that's why the local reference name used in a component is qualified by the component name in the registry.  Again, users should never have to understand or account for this in their applications - it's an internal implementation detail.
Comment 6 Martin Vecera 2013-08-29 09:01:12 EDT
It is clear that the registry is internal. I just wanted to provide some information I thought I discovered. I saw multiple instances of DomainImpl in memory during debugging. This is why I believed there are more registries. Obviously I was wrong so sorry for confusion.
Comment 7 Keith Babo 2013-08-29 09:07:46 EDT
No worries. :-)  It's actually a big change in SOA 6 that the registry is private, since the registry contents were very visible in SOA 5.  I wanted to give you a bit of background on the internals so that if you see this leaking into applications at all (as with this BZ), please flag it as an issue.
Comment 8 JBoss JIRA Server 2013-09-09 00:29:20 EDT
David Ward <dward@jboss.org> made a comment on jira SWITCHYARD-1691


Tested app with service references both WITH and withOUT the component name in the channel reference.
Comment 9 JBoss JIRA Server 2013-09-10 09:19:41 EDT
Keith Babo <kbabo@redhat.com> made a comment on jira SWITCHYARD-1691

Comment 13 Jiri Pechanec 2013-12-18 02:20:19 EST
Verified in ER7
Comment 14 JBoss JIRA Server 2014-06-16 19:50:42 EDT
Keith Babo <kbabo@redhat.com> updated the status of jira SWITCHYARD-1691 to Closed

Note You need to log in before you can comment on or make changes to this bug.