Bug 1000463 - Drools channels must specify service reference with component name
Summary: Drools channels must specify service reference with component name
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: Rules / jBPM integration, SwitchYard
Version: 6.0.0 GA
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ER3
: 6.0.0
Assignee: David Ward
QA Contact: Jiri Pechanec
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-23 13:38 UTC by Martin Vecera
Modified: 2014-06-16 23:50 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-02-06 15:26:52 UTC
Type: Bug
Embargoed:


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


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SWITCHYARD-1691 0 Major Closed Drools channels must specify service reference with component name 2014-06-16 23:50:42 UTC

Description Martin Vecera 2013-08-23 13:38:41 UTC
I have a simple drools service in SY specifying some channel.

        <rules:channels>
          <rules:channel class="org.switchyard.component.common.knowledge.service.SwitchYardServiceChannel" name="heartChannel" operation="heartBeat" reference="RulesComponent/AuditorCEPService"/>
        </rules:channels>
 
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 13:39:08 UTC
Created attachment 789602 [details]
Switchyard config

Comment 2 Keith Babo 2013-08-26 13:50:26 UTC
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 12:03:44 UTC
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 12:26:11 UTC
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:

component1/MyService
component2/MyService

The contract and policies for each component can be different.

Comment 5 Keith Babo 2013-08-29 12:29:37 UTC
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 13:01:12 UTC
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 13:07:46 UTC
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 04:29:20 UTC
David Ward <dward> made a comment on jira SWITCHYARD-1691

https://github.com/jboss-switchyard/components/pull/563

Tested app with service references both WITH and withOUT the component name in the channel reference.

Comment 9 JBoss JIRA Server 2013-09-10 13:19:41 UTC
Keith Babo <kbabo> made a comment on jira SWITCHYARD-1691

pushed

Comment 13 Jiri Pechanec 2013-12-18 07:20:19 UTC
Verified in ER7

Comment 14 JBoss JIRA Server 2014-06-16 23:50:42 UTC
Keith Babo <kbabo> 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.