Guided Editor in BRMS / Guvnor Version 5 (Snapshot of 26 June)
by Paul Browne
Folks,
For various reasons I'm trying out the Guided Editor for Business Rules in
the Guvnor Version 5 (Snapshot of 26 June from Hudson, deployed on JBoss App
Server 4.2.2GA).
I've created the Package / Category and uploaded a simple fact model (as
works in BRMS version 4). I create a new business rule using the guided
editor and the screen shows successfully with both 'When' and 'Then'
parts.Assume the next question is due to me missing something, but wanted to
double check:
When I press the green '+' to the right of the screen I am shown the message
/ dialog layer saying '
*Add a condition to the rule... *or* Add an action to the rule.
*Problem is that there doesn't appear to be a way of adding a condition or
action. The only thing I'm seeing in the logs is
* (Contexts.java:flushAndDestroyContexts:335) could not discover
transaction status
*Am I missing something or should I come back to Guvnor later in the
development Cycle?
Thanks
Paul
12 years, 9 months
Drools + Spring
by Abu Rasheed
Are there any plans to have Spring support in drools-api? The last mail that
I saw in searching the topic is dated last year, and there are no new
postings related to this.
Does anyone have any success in injecting KnowledgeBase into their apps
using Spring? Is there any examples out there that I can refer to?
Thanks
14 years, 8 months
drools compiler issue
by Abu Rasheed
I'm using the Drools 5.0.0 M5, with Guvnor, when I tried to save and
validate my configuration, I got this error:
[ERR 102] Line 5:63 mismatched input '-'
It's pointing to this line:
import <my pachage path>.package-info
Does drools support package with "-" characters? The package is part of
jaxws generated artifacts.
Thanks
14 years, 11 months
Drools in Google App Engine
by Paul Browne
Folks,
Are there any plans to tweak Drools to allow it to run in a security
constrained environment such as Google App Engine or Applets? I know some of
the other JBoss.org projects have this on the 'todo' list.
When I try to load a simple web application using drools into the Google App
Engine, I get the error below.The app itself is the sample 8 from the
following web page, but tweaked according to the Google 'howto' to get it up
and running in the app engine; http://code.google.com/p/red-piranha/
My understanding of the problem is that drools is using File access to check
if the configuration file exists the first time it is run. This is
constrained in App Engine - just like the J2EE spec says it should be
(although most other app servers allow you to get away with this!). I know
that if I tweak the source code there will be other points where similar
file access is required.
While not trivial, would it be possible to add a one-line check for that the
user has permission to do file.io before calling File.Exists (the
alternative , of catching and ignoring the AccessControlException is ugly!).
The hardest part of this is that the check would need to be added at
multiple points in the Drools source code.
Any thoughts / comments/ suggestions?
Paul
www.firstpartners.net/blog
WARNING: java.security.AccessControlException: access denied
(java.io.FilePermission /home/paul/drools.rulebase.conf read)
13-May-2009 09:04:16 com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: Nested in javax.servlet.ServletException:
java.security.AccessControlException: access denied (java.io.FilePermission
/home/paul/drools.rulebase.conf read):
java.security.AccessControlException: access denied (java.io.FilePermission
/home/paul/drools.rulebase.conf read)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at
java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at
com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:76)
at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
at java.io.File.exists(File.java:731)
at
org.drools.util.ChainedProperties.loadProperties(ChainedProperties.java:225)
at org.drools.util.ChainedProperties.<init>(ChainedProperties.java:59)
at org.drools.util.ChainedProperties.<init>(ChainedProperties.java:31)
at org.drools.util.ChainedProperties.<init>(ChainedProperties.java:25)
at org.drools.RuleBaseConfiguration.init(RuleBaseConfiguration.java:174)
at
org.drools.RuleBaseConfiguration.<init>(RuleBaseConfiguration.java:133)
at org.drools.common.AbstractRuleBase.<init>(AbstractRuleBase.java:147)
at org.drools.reteoo.ReteooRuleBase.<init>(ReteooRuleBase.java:124)
at org.drools.reteoo.ReteooRuleBase.<init>(ReteooRuleBase.java:101)
at org.drools.RuleBaseFactory.newRuleBase(RuleBaseFactory.java:57)
at org.drools.RuleBaseFactory.newRuleBase(RuleBaseFactory.java:38)
at net.firstpartners.drools.RuleRunner.loadRules(RuleRunner.java:39)
at
net.firstpartners.drools.RuleRunner.runStatelessRules(RuleRunner.java:167)
at net.firstpartners.rp2.rp2Servlet.callRules(rp2Servlet.java:96)
at net.firstpartners.rp2.rp2Servlet.service(rp2Servlet.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:54)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at
com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:306)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
15 years, 1 month
mvel memory use
by Greg Barton
I've been analyzing the performance of a little side project I'm doing with drools, and I've noticed that mvel churns through a huge number of HashMap creations when evaluating expressions. The main problem is in the org.mvel2.integration.impl.ClassImportResolverFactory constructor, which is called every time org.drools.base.mvel.MVELPredicateExpression.evaluate() is called. (Which is, of course, a LOT.) In my case I'm seeing the vast majority of activity in org.drools.rule.PredicateConstraint.isAllowedCachedRight(), so maybe this is something controllable by changing a rule, but I'm not sure. I've watched literally gigabytes per second of HashMap.Entry objects being created. Is there some way around this? I know this may be a better question for the mvel dev list, but I wanted to bring it to your attention.
15 years, 6 months
NPE in AbstractWorkingMemory.update
by Greg Barton
At seemingly random times I'm getting this exception:
Exception in thread "Thread-5" java.lang.NullPointerException
at org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1387)
at org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1350)
at org.drools.concurrent.UpdateObject.execute(UpdateObject.java:46)
at org.drools.concurrent.CommandExecutor.run(CommandExecutor.java:78)
at java.lang.Thread.run(Thread.java:619)
I've only gotten the exception when using StatefulSession.asyncUpdate() from a separate thread.
AbstractWorkingMemory.java:1387 is wrapped in an if statement that checks whether maintainTms==true, so setting that to false has apparently avoided the problem. (Can't be 100% sure, but it has been runnign for a few hours without exception.) The FactHandles I'm passing in to StatefulSession.asyncUpdate() are never null, so I can only guess that InternalFactHandle.getEqualityKey() is sometimes returning false.
Do you want a JIRA on this? I can't recreate it reliably.
15 years, 7 months
Re: [rules-dev] NPE in AbstractWorkingMemory.update
by Greg Barton
null. null. InternalFactHandle.getEqualityKey() is sometimes returning null. :)
--- On Wed, 5/27/09, Greg Barton <greg_barton(a)yahoo.com> wrote:
> From: Greg Barton <greg_barton(a)yahoo.com>
> Subject: [rules-dev] NPE in AbstractWorkingMemory.update
> To: "Rules Dev List" <rules-dev(a)lists.jboss.org>
> Date: Wednesday, May 27, 2009, 1:25 AM
>
> At seemingly random times I'm getting this exception:
>
> Exception in thread "Thread-5"
> java.lang.NullPointerException
> at
> org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1387)
> at
> org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1350)
> at
> org.drools.concurrent.UpdateObject.execute(UpdateObject.java:46)
> at
> org.drools.concurrent.CommandExecutor.run(CommandExecutor.java:78)
> at
> java.lang.Thread.run(Thread.java:619)
>
> I've only gotten the exception when using
> StatefulSession.asyncUpdate() from a separate thread.
>
>
> AbstractWorkingMemory.java:1387 is wrapped in an if
> statement that checks whether maintainTms==true, so setting
> that to false has apparently avoided the problem. (Can't be
> 100% sure, but it has been runnign for a few hours without
> exception.) The FactHandles I'm passing in to
> StatefulSession.asyncUpdate() are never null, so I can only
> guess that InternalFactHandle.getEqualityKey() is sometimes
> returning false.
>
> Do you want a JIRA on this? I can't recreate it
> reliably.
>
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
15 years, 7 months
Deadline Extension for 2nd edBPM 2009, June 7
by Adrian Paschke
###########################################################################
EXTENSION OF DEADLINE FOR PAPER SUBMISSION TO JUNE 7, 2009!! (hard deadline)
###########################################################################
Call for Papers
edBPM 09
2nd International Workshop on Event-Driven Business Process Management
7 September 2009, Ulm, Germany
http://icep-edbpm09.fzi.de
-------------------------------
Information about the workshop
-------------------------------
The recently coined term "Event-Driven Business Process Management" (EDBPM)
is nowadays an enhancement of Business Process Management (BPM) by new
concepts of Service Oriented Architecture (SOA), Event Driven Architecture
(EDA), Software as a Service (SaaS), Business Activity Monitoring (BAM) and
Complex Event Processing (CEP). In this context BPM means a software
platform which provides companies the ability to model, manage, and optimize
these processes for significant gain. As an independent system, CEP is a
parallel running platform that analyses and processes events. The BPM- and
the CEP-platform correspond via events which are produced by the
BPM-workflow engine and by the ? if distributed - IT services which are
associated with the business process steps. Also events coming from
different event sources in different forms can trigger a business process or
influence the execution of the process or a service, which can result in
another event. Even more, the correlation of these events in a particular
context can be treated as a complex, business level event, relevant for the
execution of other business processes or services. A business process -
arbitrarily fine or coarse grained - can be seen as a service again and can
be "choreographed" with other business processes or services, even between
different enterprises and organisations.
Loosely coupled event-driven architecture for BPM provides important
benefits:
- Responsiveness. Events can occur at any time from any source and Processes
respond to them immediately, whenever they happen and wherever they happen.
- Agility. New processes can be modeled, implemented, deployed, and
optimized more quickly in response to changing business requirements.
- Flexibility. Processes can span heterogeneous platforms and programming
languages. Participating applications can be upgraded or changed without
breaking the process model.
Authors are invited to submit novel contributions in the above mentioned
problem domain. Specifically, the relevant topics include, but are not
limited to:
- Event-driven BPM: Concepts e.g. Role of event processing in BPM, Business
Events: types and representation, Event stream processing in business
processes, Data- and event-driven business processes
- Design-time CEP and BPM e.g. Modelling events in human-oriented tasks,
Semantics/Ontologies for event-driven BPM, BPMN and event processing.
- Run-time CEP and BPM e.g. Event pattern detection, BPEL and event
processing, Reasoning about unknown/similar events
- Applications/Use cases for event-driven BPM e.g. Event-driven
monitoring/BAM , Event-driven SLA monitoring
-------------------------------
Submission
-------------------------------
The following types of submission are solicited:
- Long paper submissions, describing substantial contributions of novel
ongoing work. Long papers should be at most 12 pages long.
- Short paper submissions, describing work in progress. These papers should
be at most 6 pages long.
Papers should be submitted in the new LNBIP format
(http://www.springer.com/computer/lncs?SGWID=0-164-7-487211-0). Papers have
to present original research contributions not concurrently submitted
elsewhere. The title page must contain a short abstract, a classification of
the topics covered, preferably using the list of topics above, and an
indication of the submission category (Long Paper/ Short Paper). Papers can
be uploaded via the workshop page on easychair, the address can be found on
the workshop homepage (http://icep-edbpm09.fzi.de).
Selected papers will be published in the Special issue in Journal of
Software Process Improvement and Practice for selected BPM 2009 workshop
papers.
-------------------------------
Important Dates
-------------------------------
Deadline paper submissions: 22 May 2009
Notification of acceptance: 16 June 2009
Camera-ready papers: 01 July 2009
Workshops: 7 September 2009
-------------------------------
Organizing Committee
-------------------------------
Rainer von Ammon, CITT Regensburg, Germany
Opher Etzion, IBM Research Haifa,
Israel Heiko Ludwig, IBM TJ Watson Research Center, USA
Adrian Paschke, Freie Universitaet Berlin, Germany
Nenad Stojanovic, FZI Research Center for Information Technologies at the
University of Karlsruhe, Germany
-------------------------------
Program Committee
-------------------------------
- Marco Aiello, Rijksuniversiteit of Groningen, Netherlands
- Karim Ba?na, ENSIAS, Morocco
- Martin Bartonitz, Saperion AG, Germany
- Luciano Baresi, Politecnico di Milano, Italy
- Djamal Benslimane, Universit? Claude Bernard Lyon, France
- Pedro Bizarro, University of Coimbra, Portugal
- Christoph Bussler, Merced Systems, USA
- Anis Charfi, SAP Research Darmstadt, Germany
- Peter Dadam, University of Ulm, Germany
- Ernesto Damiani, University of Milan, Italy.
- Vincenzo D'Andrea, University Degli Studi di Trento, Italy
- J?rg Desel, KU Eichst?tt, Germany
- Schahram Dustdar, TU Vienna, Austria
- Christian Fillies, Semtation GmbH, Germany
- Albert Fleischmann, jCOM1 AG, Germany
- Peter Forbrig, University of Rostock, Germany
- Torsten Greiner, Bausparkasse Schw?bisch Hall, Germany
- Claude Godard, University Henri Poincar? Nancy, France
- Guido Governatori, NICTA, Queensland Research Laboratory, Australia
- Helge He?, IDS Scheer AG, Germany
- Hans-Arno Jacobsen, University of Toronto, Canada
- Dimitris Karagiannis, University of Vienna, Austria
- Gerti Kappel, TU Vienna, Austria
- Anton Kramm, Valial Solution, Germany
- Akhil Kumar, Penn State University, USA
- Shailendra Mishra, Oracle, USA
- Massimo Mecella, SAPIENZA Universit? di Roma, Italy
- Barbara Pernici, Politecnico di Milano, Italy
- Boris Petkoff, AccordSystems, Germany
- Manfred Reichert, University of Ulm, Germany
- Wolfgang Reisig, HU Berlin, Germany
- Guy Sharon, IBM Research Lab in Haifa, Israel
- Harald Schoening, Software AG, Germany
- Bernhard Seeger, University of Marburg, Germany
- York Sure, SAP Research Karlsruhe, Germany
- Azzelarabe Taleb-Bendiab, Liverpool John Moores Universtiy, UK
- Farouk Toumani, Blaise Pascale University, France
- Jan Vanthienen, Katholieke Universiteit Leuven, Belgium
- Christian Wolff, University of Regensburg, Germany
- Andreas Wombacher, University of Twente, Netherlands
-------------------------------
Additional Information
-------------------------------
A complete overview about relevant topics, detailed workshop information And
contact addresses can be found on the workshop website
http://icep-edbpm09.fzi.de
15 years, 7 months