Drools 5.1 M2 or final availability
by Metral Florent
Hi All,
I've seen on forums that Drools 5.1 M2 should be available end of March
and final should follow closely.
I can't find any informations on the status of these releases and I
can't find any roadmap for Drools project.
I'm particularily interested by BRMS feature.
Could you please provide me informations on the availability of next 5.1
release.
Regards,
Florent Metral
14 years, 8 months
Access to globals from WorkItemHandlers?
by Ed Staub
Do WorkItemHandlers not have access to globals by intent?
In Flow, at least from my perspective, most of the usefulness of globals
would be in WorkItemHandlers.
They'd probably need their own map - or a way of flagging names in the
"variable" map as globals - e.g., "*foo" means "the global foo".
If there's no counter-argument, I'll put a request in Jira.
BTW... thanks to the folks who contribute regularly here!
--
View this message in context: http://n3.nabble.com/Access-to-globals-from-WorkItemHandlers-tp732460p732...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 8 months
Guvnor Test Scenario Expectations
by AndreaLee
I am evaluating Drools 5 and Guvnor for a project and have a question
regarding Test Scenarios created in Guvnor.
Is it possible to configure a Test Scenario in Guvnor to fail if a rule that
is not explicitly expected is fired? I can not find a way of achieving this
without creating another expectation that specifies Rule X is not fired.
Example:
I have rules Rule A, Rule B, Rule C.
I have a Test Scenario which has the following expectation: Expect Rule A to
fire once.
I want this Test Scenario to fail if any other rule in addition to Rule A is
fired without having to specify the following additional expectations:
Expect Rule B to not fire, Expect Rule C to not fire.
--
View this message in context: http://n3.nabble.com/Guvnor-Test-Scenario-Expectations-tp722429p722429.html
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 8 months
Number of rules
by Bertrand Grottier
Hello,
What is the number of rules that can be integrated in Drools (using Excel for example) ?
I defined a template rules file, "fed" by an Excel file: a few thousand of rules already takes a while to "compile"...
Benoît
_________________________________________________________________
Hotmail arrive sur votre téléphone ! Compatible Iphone, Windows Phone, Blackberry, …
http://www.messengersurvotremobile.com/?d=Hotmail
14 years, 8 months
Guvnor in Websphere 6.1 setup, repository problem
by Tatonka2000
Hi all,
I've been trying to install Drools 5 in websphere 6.1, and followed some
documentation available on the wiki at:
http://community.jboss.org/wiki/DeployingGuvnor5OnWebSphere
That page did solve a lot of the issues I was having, but now I'm faced with
something that seems a little unique. Maybe I'm not understanding something
basic, maybe not... Anyway, my repository home directory is set to:
<property name="homeDirectory">/data/GuvnorRepo/</property>
First noob question is where should I put the data directory? The reason I
ask is that no matter where I put it, when I start up the web application, I
get the following (summarized and annotated) stack trace:
[4/19/10 8:38:16:863 CDT] 00000016 WebGroup A SRVE0169I: Loading Web
Module: JBoss Drools Guvnor.
[4/19/10 8:38:50:052 CDT] 00000016 WebApp E Exception caught while
initializing context
org.jboss.seam.InstantiationException: Could not instantiate Seam component:
repositoryConfiguration
at org.jboss.seam.Component.newInstance(Component.java:2066)
(**edit: a bunch more seam related**)
(**edit: a bunch more ibm.ws.webcontainer related**)
(**edit: a bunch more ibm.ws.runtime related**)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
Caused by: org.drools.repository.RulesRepositoryException:
javax.jcr.RepositoryException: Automatic repository configuration failed:
\data\GuvnorRepo\repository.xml (The system cannot find the path
specified.): \data\GuvnorRepo\repository.xml (The system cannot find the
path specified.)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration.newSession(BRMSRepositoryConfiguration.java:116)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration.create(BRMSRepositoryConfiguration.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
(**edit: a bunch more reflect related**)
(**edit: a bunch more seam related **)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration_$$_javassist_0.create(BRMSRepositoryConfiguration_$$_javassist_0.java)
(**edit: a bunch more seam related**)
... 22 more
Caused by: javax.jcr.RepositoryException: Automatic repository configuration
failed: \data\GuvnorRepo\repository.xml (The system cannot find the path
specified.): \data\GuvnorRepo\repository.xml (The system cannot find the
path specified.)
at
org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:247)
at
org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
at
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
at
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:363)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration.newSession(BRMSRepositoryConfiguration.java:112)
... 47 more
Caused by: java.io.FileNotFoundException: \data\GuvnorRepo\repository.xml
(The system cannot find the path specified.)
at java.io.FileOutputStream.<init>(FileOutputStream.java:205)
at java.io.FileOutputStream.<init>(FileOutputStream.java:157)
at
org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:218)
... 51 more
Is this something that should be available in my application server setup
already as in Tomcat's data directory? Websphere does not provide it as far
as I know, but there's an alternative, my Websphere application directory,
and if I put data there, I get the same error. I've also tried my Eclipse
project's root and the WEB-INF.
While debugging it, I tried to take all folder structure out and see where
the repository.xml file would appear, but not only it did not, it gave me a
different error on startup. So, with this in components.xml:
<property name="homeDirectory"></property>
I get:
[4/19/10 8:49:48:773 CDT] 00000026 WebGroup A SRVE0169I: Loading Web
Module: JBoss Drools Guvnor.
[4/19/10 8:49:53:992 CDT] 00000026 WebApp E Exception caught while
initializing context
org.jboss.seam.InstantiationException: Could not instantiate Seam component:
repositoryConfiguration
at org.jboss.seam.Component.newInstance(Component.java:2066)
(**edit: a bunch more seam related**)
(**edit: a bunch more ibm.ws related**)
(DeployedApplicationImpl.java:1138)
(**edit: a bunch more reflect related**)
(**edit: a bunch more ibm.ws related**)
at java.lang.Thread.run(Thread.java:810)
Caused by: org.drools.repository.RulesRepositoryException:
javax.jcr.RepositoryException: Invalid repository configuration:
/repository.xml: Configuration file syntax error.: Premature end of file.:
Configuration file syntax error.: Premature end of file.: Premature end of
file. at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration.newSession(BRMSRepositoryConfiguration.java:116)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration.create(BRMSRepositoryConfiguration.java:56)
(**edit: a bunch more reflect and seam related**)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration_$$_javassist_0.create(BRMSRepositoryConfiguration_$$_javassist_0.java)
(**edit: a bunch more reflect and seam related**)
at org.jboss.seam.Component.newInstance(Component.java:2054)
... 62 more
Caused by: javax.jcr.RepositoryException: Invalid repository configuration:
/repository.xml: Configuration file syntax error.: Premature end of file.:
Configuration file syntax error.: Premature end of file.: Premature end of
file. at
org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:250)
at
org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
at
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
at
org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:363)
at
org.drools.guvnor.server.repository.BRMSRepositoryConfiguration.newSession(BRMSRepositoryConfiguration.java:112)
... 87 more
Caused by: org.apache.jackrabbit.core.config.ConfigurationException:
Configuration file syntax error.: Premature end of file.: Premature end of
file.
at
org.apache.jackrabbit.core.config.ConfigurationParser.parseXML(ConfigurationParser.java:199)
at
org.apache.jackrabbit.core.config.RepositoryConfigurationParser.parseWorkspaceConfig(RepositoryConfigurationParser.java:343)
at
org.apache.jackrabbit.core.config.RepositoryConfig.loadWorkspaceConfig(RepositoryConfig.java:368)
at
org.apache.jackrabbit.core.config.RepositoryConfig.init(RepositoryConfig.java:323)
at
org.apache.jackrabbit.core.config.RepositoryConfig.create(RepositoryConfig.java:142)
at
org.apache.jackrabbit.core.config.RepositoryConfig.create(RepositoryConfig.java:83)
at
org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:244)
... 91 more
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
org.apache.jackrabbit.core.config.ConfigurationParser.parseXML(ConfigurationParser.java:193)
... 97 more
[4/19/10 8:49:53:977 CDT] 00000026 SystemErr R [Fatal Error] :-1:-1:
Premature end of file.
It says premature end of file, but it's not anywhere... Soooo.... any ideas?
What am I missing, and what should I do?
Any help is appreciated, thanks!
Mauricio
--
View this message in context: http://n3.nabble.com/Guvnor-in-Websphere-6-1-setup-repository-problem-tp7...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 8 months
Re: [rules-users] Drools Planner - How often are the Move Factory classes called?
by Samuel Deballon
Hi,
If your class extends CachedMoveFactory, the drools planner will call your
move factory only once at start.
But if it extends AbstractMoveFactory, the drools planner will be call at
each step
Samuel
CSC • This is a PRIVATE message. If you are not the intended recipient,
please delete without copying and kindly advise us by e-mail of the mistake
in delivery. NOTE: Regardless of content, this e-mail shall not operate to
bind CSC to any order or other contract unless pursuant to explicit written
agreement or government initiative expressly permitting the use of e-mail
for such purpose • CSC Computer Sciences SAS • Registered Office: Immeuble
Le Balzac, 10 Place des Vosges, 92072 Paris La Défense Cedex, France •
Registered in France: RCS Nanterre B 315 268 664
|------------>
| From: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|"awuttke [via Drools - Java Rules Engine]" <ml-node+723534-485842754-91648(a)n3.nabble.com> |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|Samuel Deballon/FRA/CSC@CSC |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|16/04/2010 11:22 |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|Drools Planner - How often are the Move Factory classes called? |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
I've been working with the Drools Planner for some time now and found that
the Move Factory Classes seem to be called only once just before the first
solver iteration. Each iteration seems to get it's moves from this initial
'move pool' generated by the move factories.
However, in the documentation it is mentioned that the move factory would
be called for each iteration and would therefore allow me to modify the
move generation algorithm for each iteration.
So what is true for the current version of the planner 5.1.0? Can I
configure different ways of using the move factories during the solution
process?
I'm using a standard tabu search configuration, based on the lesson
schedule example.
Thank you,
Andreas Wuttke
View message @
http://n3.nabble.com/Drools-Planner-How-often-are-the-Move-Factory-classe...
To start a new topic under Drools - User, email ml-node
+47000-1429425662-91648(a)n3.nabble.com
To unsubscribe from Drools - User, click here.
--
View this message in context: http://n3.nabble.com/Drools-Planner-How-often-are-the-Move-Factory-classe...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 8 months
Newbie: Why Only One Rule Firing
by Greg.Zoller@aviall.com
Hello,
Silly newbie question. I'm trying to write my first rule set to handle
permissions and I'm running into a problem where Drools is not executing
the 'then' clause of all my rules, even though they all resolve to true.
Here's my sample file:
rule "Docs1"
activation-group "permissions"
no-loop true
when
Resources( $resList : resourceList )
$res : Resource(name=="CUSTOMER", allowed==false) from
$resList
then
System.out.println("Foo");
end
rule "Docs2"
activation-group "permissions"
no-loop true
when
Resources( $resList : resourceList )
$res : Resource(name=="INVOICES", allowed==false) from
$resList
then
System.out.println("Wow");
end
I'm using a StatelessKnowledgeSession something like this:
ArrayList ruleObjs = new ArrayList();
ruleObjs.add(resources);
kbase.newStatelessKnowledgeSession().execute(ruleObjs);
So here's my problem. Both of the rules above resolve to true. But only
"Wow" is output to the console. If I comment out the Docs2 rule entirely
then "Foo" is output to the console (proving it also resolves true).
Why wouldn't I get "Wow" and "Foo" output to the console (in no particular
order) when both are run?
To see whether both rules are actually being evaluated I also tried
creating a simple message function that prints something to the console
and returning true. Then I eval() my function as the last line of the when
clause in Docs1. "Wow" from Docs2 is output as before, as is my
function's message (proving that Docs1 was evaluated and resolved
truthfully), but... Docs1 'then' clause is not executed and Foo is not
output. Why?
This scenario holds true if I have lots of rules. Only the 'then' clause
of last one resolved true is executed even though there may have been
several other rules that resolved true.
Thanks in advance for any ideas or help!
Best regards,
Greg
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_
This e-mail message, including attachments, may contain confidential,
proprietary, or export controlled information.
Any unauthorized disclosure, distribution, or other use is prohibited,
unless expressly authorized.
If you receive this e-mail in error, please notify the sender, and delete
all copies of the original message from your systems.
14 years, 8 months
The Eclipse JDT Core jar is not in the classpath
by ahrimann@gmail.com
Hi, I try to create Eclipse RCP & use drools.
Eclipse Galileo: Build id: 20100218-1602 ( Eclipse for RCP/Plug-in Developers)
Drools 5.0 downloaded with the eclipse plugin from official site.
If I create JavaApplication I have to add org.eclipse.jdt.core*.jar by
myself in the build path... but it works.
If I create RCP-Application I become all the time this error:
org.drools.RuntimeDroolsException: Unable to load dialect
'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:274)
at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:259)
at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:176)
at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:153)
at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:242)
at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:142)
at org.drools.builder.impl.KnowledgeBuilderProviderImpl.newKnowledgeBuilder(KnowledgeBuilderProviderImpl.java:29)
at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilder(KnowledgeBuilderFactory.java:29)
at de.intranda.qtitest.model.DroolsEvaluator.readKnowledgeBase(DroolsEvaluator.java:81)
at de.intranda.qtitest.model.DroolsEvaluator.getNewItemRef(DroolsEvaluator.java:56)
at de.intranda.qtitest.model.DroolsEvaluator.setNextItemRef(DroolsEvaluator.java:38)
at de.intranda.qtitest.gui.TestView.loadNextItem(TestView.java:224)
at de.intranda.qtitest.gui.TestView.access$3(TestView.java:220)
at de.intranda.qtitest.gui.TestView$1.widgetSelected(TestView.java:159)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at de.intranda.qtitest.Application.start(Application.java:27)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not
in the classpath
at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.setCompiler(JavaDialectConfiguration.java:94)
at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.init(JavaDialectConfiguration.java:55)
at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:270)
... 39 more
I've added eclipse.core.jdt* as dependency in plugin & product. I've
added it to the build path ... but it just doesn't work :(
Please help :)
14 years, 8 months
Fwd: Double Handling
by Edson Tirelli
Sorry, I meant to send this to the list.
Ade, let us know if that solves the problem.
Edson
---------- Forwarded message ----------
From: Edson Tirelli <tirelli(a)post.com>
Date: 2010/4/15
Subject: Re: [rules-users] Double Handling
To: Ade Timi <adeyinka.timi(a)nathean.com>
Ade,
There you go:
https://jira.jboss.org/jira/browse/JBRULES-2424
You have:
public String setErrorMessage() {
This problem was fixed in M2 (trunk). Meanwhile, you can rename your
method or use a trunk snapshot.
Edson
14 years, 8 months