On Fri, Feb 22, 2008 at 3:40 PM, Andrea Zoppello <[EMAIL PROTECTED]> wrote:
Hi Guillaume,
See my comments inline:
Guillaume Nodet ha scritto:
The main problem I had with your patch is that a QName for the target sevice
> may not always be sufficient. I was thinking about using a uri or something
as
>
Yes i agree with you, i've just discussed about that with other guys
from iona on spagic jira.
Any url ?
We agree the best solution could be to have an endpoint where you could
specify:
defaultTargetService *or* defaultTargetURI where defaultTargetURI have
the precedence on defaultTargetService.
Sounds good to me. It should be enough.
in the eip component.
> <eip:exchange-target service="test:routingSlip" />
> See
http://servicemix.apache.org/servicemix-eip.html#servicemix-eip-ExchangeTarget
>
> As for using the Db helper in the globals, look at this example:
>
http://servicemix.apache.org/servicemix-drools.html#servicemix-drools-Injectingadditionalbeansintherules
> The util namespace is bound to the spring namespace:
>
Just seen this, but notice that this example use the global jbi objetc
on RHS part of the rule non in LHS.
http://static.springframework.org/spring/docs/2.0.x/reference/xsd-config.html#xsd-config-body-schemas-util
>
>
Thanks i was missing this point about spring.
Btw, how did you assert this object in memory ? Is there something to
> do in the java code for that ?
>
I've simply modified the component in
DroolsEndpoint.populateWorkingMemory i add this line:
memory.assertObject(new DbHelper( ));
that's all.
Maybe a solution was to inject ( with spring ) not only the globals
object but also, the helper objects to be asserted in memory ( another
Map in DroolsEndpoint class ).
Sounds good. I don't think it needs to be a map but a simple list should
be sufficient. Anyway, this sounds very generic and useful.
I'm we will solve this problem. Will you provide another patch about those
two problems ? You can also include the defaultRoute stuff from SM-888, as
I don't have any concerns with that (provided that everything works as before).
Andrea
> On Fri, Feb 22, 2008 at 1:41 PM, Andrea Zoppello <[EMAIL PROTECTED]> wrote:
>
>> Hi Guillaume,
>>
>> It's not a *packaging problem*, my dbhelper objetct is in the classpath,
>> so in the drl file i'm
>> able to view it.
>>
>> The problem is that if i use the technique you describe ( to put the
>> dbhelper object ) in drools
>> global entry i'm not able to write rules like:
>>
>> rule "Rule1"
>> when
>> me : Exchange( status == Exchange.ACTIVE, in : in != null );
>> db : DbHelper ( );
>> eval( db.exist( in.valueOf("/ACTION/@name"), "STRING",
>> "attribute", "name", "metadb" ) );
>> then
>> jbi.fault( "<ERROR> The value is already present in db </ERROR>" );
>> end
>>
>> The only think i need is to use the dbhelper object in Left part of the
>> rule, and this seems to work very well if the dbhelper object is
>> asserted in memory, on the other side i'm not sure this is possible if
>> the object is in *global* area of working memory.
>>
>> I've just tried to have my helper as you describe, but i'm not able to
>> write a drools rule that use it in left side part.
>>
>> BTW could you pust a full xbean.xml for the example so i could see also
>> the namespace declaration for that part:
>>
>> <util:map id="globals">
>> <entry key="helper" value-ref="helper" />
>> </util:map>
>>
>>
>> BTW my diff are already here:
>>
>> https://issues.apache.org/activemq/browse/SM-888
>>
>> but it seem that were not accepted.
>>
>> Andrea
>>
>>
>>
>> Guillaume Nodet ha scritto:
>>
>>
>>
>>> Have you tried embedding your specific DbHelper in your SU instead of
>>>
>> > repackaging the component ? It may prove easier.
>> >
>> > Anyway, what does 1 lead to ? Did you had to change the DbHelper for
that ?
>> > Maybe you can post a diff so that we can review and discuss it ?
>> >
>> > On Fri, Feb 22, 2008 at 11:52 AM, Andrea Zoppello <[EMAIL PROTECTED]>
wrote:
>> >
>> >> Hi all,
>> >>
>> >> Actually i'm using a customized version of servicemix-drools for the
>> >> following reasons:
>> >>
>> >> 1) I need to use db helper objects both in LHS, and in RHS of my drl
files.
>> >>
>> >> 2) I need to specify a defaultTargetService URI if no rule would be
true.
>> >>
>> >> At the moment i'm trying to apply the approach described here, to see
if
>> >> it could feet my needs:
>> >>
>> >>
http://gnodet.blogspot.com/2007/06/accessing-databases-in-servicemix.html
>> >>
>> >> but i found some problems:
>> >>
>> >> 1) the syntax described seems to be not correct, i don't know which is
>> >> the right value for
>> >> util namespace used.
>> >>
>> >> 2) With this approach Drools Db helper cannot be used on the LHS side
of
>> >> the rules.
>> >>
>> >> Any idea??
>> >> Until i don't resolve this i'm forced to mantain my own version that
>> >> simple assert a db helper
>> >> object in the working memory..
>> >>
>> >> Andrea
>> >>
>> >>
>> >
>> >
>> >
>> >
>>
>>
>>
>
>
>
>