Current implementation of reference invocation is based on a channel. A channel is one-way communication mechanism. I am not sure how much is it a valid use-case to have two-way communication in Drools, but two-way communication would be nice. (04:11:20 PM) errantepiphany: trohovsk: Drools Channels are indeed one-way. We have a SwitchYard Service Channel that invokes SwitchYard service references. It's just there as a convenience. (04:11:25 PM) errantepiphany: trohovsk: If you want to do anything fancier in Drools, you should probably create a helper class, or a drools function, or similar, that executes the service reference. (04:11:55 PM) kcbabo: errantepiphany: agree - part of this is using functionality that makes sense for a given implementation type (04:12:20 PM) kcbabo: errantepiphany: we shouldn't force a round peg into a square hole for some of these use cases (04:13:31 PM) errantepiphany: kcbabo: we could create a static function that could be imported by drl code that wanted to use it. They would just have to use "import function" in their drl: http://goo.gl/NrmNCc (04:15:07 PM) errantepiphany: kcbabo: that could be a way of in-out vs. just in-only meps from drl. (04:17:04 PM) kcbabo: errantepiphany: possible - functions appear to require compilation as part of building the knowledge package (04:17:27 PM) kcbabo: errantepiphany: so class path would have to be managed in that case (04:17:43 PM) kcbabo: errantepiphany: actually, the timing of the compilation is an assumption on my part (04:17:59 PM) kcbabo: errantepiphany: I guess it could happen at runtime as well, but the same consideration applies (04:18:22 PM) errantepiphany: kcbabo: True. And really, creating a function isn't that hard to do in regular code. and people could just reuse the SwitchYardServiceInvoker (which both our Channel and WorkItemHandler impls reuse). (04:18:36 PM) kcbabo: errantepiphany: I guess the idea would be that the function returns the body of the out message (04:18:46 PM) errantepiphany: yup (04:18:49 PM) kcbabo: errantepiphany: which could grow into asking for context properties as well (04:19:06 PM) kcbabo: I don't think we could make an assumption on which parts are actually inserted as facts (04:19:08 PM) errantepiphany: kcbabo: or the function could return the Exchange (04:19:24 PM) kcbabo: so that's something that the user would have to do in their RHS code once they get the result (04:19:34 PM) errantepiphany: kcbabo: or we just stay out of making assumptions, and people write their own functions… (04:19:43 PM) kcbabo: right (04:20:08 PM) errantepiphany: kcbabo: That's the problem with creating this stuff for specific use-cases. They make sense for some people, but not everyone. And assumptions are dangerous. (04:20:31 PM) kcbabo: errantepiphany: agreed
David virgil naranjo <david.virgil.naranjo> updated the status of jira SWITCHYARD-2285 to Closed