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
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:
  
http://static.springframework.org/spring/docs/2.0.x/reference/xsd-config.html#xsd-config-body-schemas-util

Btw, how did you assert this object in memory ? Is there something to
do in the java code for that ?

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/

Reply via email to