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 > >> >> > >> >> > >> > > >> > > >> > > >> > > >> > >> > >> > > > > > > > > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
