Many thanks, Laird.  Although, I can't seem to find the "KnowledgeBases.xml" in the repository.  Where should it be located? In drools-rar resources?

I just need the knowledge agent to check on a set of runtime changesets, and  be able to update the embedded knowledgebase on change.  Can I script a call into the RAR's configuration through JNDI and get the internal knowledge agent to do an "applyChangeSet"?

The user connection factory concept seems like a good way to go, if a bit of work.

best,

A

On Aug 26, 2010, at 3:15 PM, ljnelson wrote:

The changeset itself dictates what resources to monitor, if I understand it properly, so if you're just looking for new packages just add them to the changeset.  You probably know that already.

See the <addResource> line in KnowledgeBases.xml.

But yes, that's all within one KnowledgeBase (I should rename the default name of that changeset file to KnowledgeBase.xml or something like that.).

Anyhow, I suspect that it would be useful to allow the resource adapter to create more than one KnowledgeBase.  I'm not entirely sure, frankly, how to set that up.  I think that since a KnowledgeBase maps to the overly latinate and annoying JCA concept of a (deep breath) user connection factory {eyes glaze over}, that there's probably a way to move the KnowledgeAgent creation code out of the resource adapter bootstrap area and into...into...a better area {handwave, handwave} where several KnowledgeAgents might be able to be built.

Short answer: no.  :-)  Longer answer: yeah, there should be a way to do that.

Best,
Laird

On Thu, Aug 26, 2010 at 4:10 PM, Andrew Waterman-2 [via Drools - Java Rules Engine] <[hidden email]> wrote:
Just found the configuration in ra.xml:

    <config-property>
      <config-property-name>changeSetResourceName</config-property-name>
      <config-property-type>java.lang.String</config-property-type>
      <config-property-value>rules/KnowledgeBases.xml</config-property-value>
    </config-property>

Can I get it to support more than one changeSet?  It would be nice to pass a list to monitor.

best,

A

On Aug 26, 2010, at 3:04 PM, Andrew Waterman wrote:

Hey Laird,

How do I configure the resource adaptor to load a specific resource?   I have two changesets I would like it to monitor.  Is this handled in the ra.xml?  I couldn't seem to find what it was monitoring. :)

best wishes,

Andrew

On Aug 25, 2010, at 4:24 PM, Andrew Waterman wrote:

Huge thanks!

best,

A

On Aug 25, 2010, at 12:55 PM, ljnelson wrote:

Have a look at http://code.google.com/p/drools-jca/.

This is not (clearly) released yet; have a look at the source and see what you think.

To build it: check it out, then, with Maven 2.2.1, run mvn clean install from the root.

If you have all the right repositories set up in your settings.xml, everything should complete normally.  If you don't, Maven will tell you what artifacts are missing, and a quick Google search will unveil the repositories they're hosted in.

Best,
Laird

On Wed, Aug 25, 2010 at 1:39 PM, Andrew Waterman-2 [via Drools - Java Rules Engine] <[hidden email]> wrote:
Very useful to the JEE community Laird.  I just recently started working with the KnowledgeAgent and Drools Guvnor; so I really feel the need.  Please do let us all know when your implementation is available in the trunk and/or a standalone version. :)

best wishes,

Andrew


On Aug 24, 2010, at 9:50 PM, ljnelson wrote:

>
> Hello; I've made a JCA resource adapter for Drools.
>
> I've had to hack quite a bit to get it so that the KnowledgeAgent- and
> resource-scanning-related parts don't use Threads, but, instead, use the
> JCA-supplied WorkManager and BootstrapContext#createTimer() for asynchronous
> operations (like resource scanning and notifying).  
>
> Here are some changes it would sure be nice to see, that I needed to hack
> around in order to make it so that a KnowledgeAgent-produced KnowledgeBase
> could be shared by Java EE components in a specification compliant manner:
>
> 1. ResourceChangeNotifierImpl#ProcessChangetSet is an inner class that is
> marked as public static, but which has a package-protected constructor.  I
> have to create a new instance of this in order to create a
> ResourceChangeNotifierImpl subclass that doesn't use threads.  I hope this
> constructor could be made public instead.  Right now I'm calling
> setAccessible(true).  Yecch.
>
> 2. ResourceFactory#setFactoryService(): sure do wish this were public, or
> that there were another way to install a ResourceFactoryService.  I need to
> do this so that the scanner and notifier are under my control (and don't use
> Threads, but instead use Timers as provided by the JCA BootstrapContext
> class).  It appears that I do have some control here in Drools 5.1 with the
> (undocumented) ServiceRegistry interface (how do I get an instance of it?
> what does it do? is it used pervasively?), but I don't know, since it's
> undocumented, whether it's the preferred way to do this sort of thing or
> not.
>
> 3. All this indirection is really quite clunky, especially given the
> META-INF/services facility.  Was there a good reason this was not used?  I'm
> sure there was something, because having to consult a factory for a service
> to get a provider to produce an instance of something is a bit much.
>
> Hacking around those limitations, I was able to produce a Drools resource
> adapter that vends KnowledgeBase instances as its user connection factories.
> This means to use it in a spec-compliant manner, you do this in your
> stateless (or stateful) session bean:
>
> @Resource
> private KnowledgeBase kb;
>
> ...and you get injected a wrapper KnowledgeBase that uses the Java EE
> container's JCA machinery to invoke operations on the shared KnowledgeBase.
>
> Is this something that would be interesting to other people?  If so I am
> happy to open source it.
>
> Thanks for a great toolkit.
>
> Best,
> Laird
> --
> View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-and-Java-EE-tp1323225p1323225.html

> Sent from the Drools - User mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users







View this message in context: Re: Drools and Java EE
Sent from the Drools - User mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users


_______________________________________________
rules-users mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/rules-users







View this message in context: Re: Drools and Java EE
Sent from the Drools - User mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users