can't put formula on Guvnor screen
by zeeshan khan
Hi Team !
Earlier I sent this mail to rules-dev(a)lists.jboss.org. Mark
Proctor asked me to mail here so I am mailing here in the hope of reply.
Since yesterday only I started learning Drools with the help of
Google and *JBOSS DROOLS BUSINESS RULES pdf file*. I faced many problems to
understand the concept but now its going smooth. But the problem is
the *version
of PDF file of the book* and the *Govener version*. *Its quite different*.
I request you all to please provide me the latest version of PDF as I am
unable to find on net. The problem I am facing is to put the formula as
given in the screen shot in the book.
I am unable to put the *formula* as described in JBOSS DROOLS
BUSINESS RULES pdf file on page no. 102.....the formula is *salesValue-10
as the box is not capable of taking cahracters. *It is taking only integer.
Thanks in Advance for all the help and material !!!!
13 years, 9 months
Guvnor Guided Editor
by Amrita Jain
Hi,
Does Guvnor provide capability to use expression editor in RHS (or then
clause)
If so, is there any setting I need to enable.
Also, I do see I can assign a formula, while modifying a field value of a
model.
But I cant enter any text in that box.
I am trying to do something like a.count = a.count+100*b.data in the action
clause.
Thanks!
13 years, 9 months
drools osgi issue
by jnorris
Hi All,
I'm trying to deploy web services wired to drools via spring into
servicemix. Everything seems to be installed and active. However, when I
deploy the application and spring tries to wire in the beans I get the
following exception:
13:46:26,359 | ERROR | ExtenderThread-1 | WaiterApplicationContextExecutor |
111 - org.springframework.osgi.extender - 1.2.1 | Unable to create
application context for [jbpm-services], unsatisfied dependencies: none
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected
exception parsing XML document from URL
[bundle://274.0:0/META-INF/spring/beans.xml]; nested exception is
*java.lang.NoClassDefFoundError: org/drools/event/DebugProcessEventListener*
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:412)[100:org.springframework.beans:3.0.7.RELEASE]
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)[100:org.springframework.beans:3.0.7.RELEASE]
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)[100:org.springframework.beans:3.0.7.RELEASE]
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)[100:org.springframework.beans:3.0.7.RELEASE]
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)[100:org.springframework.beans:3.0.7.RELEASE]
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)[100:org.springframework.beans:3.0.7.RELEASE]
at
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:164)[108:org.springframework.osgi.core:1.2.1]
at
org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext.loadBeanDefinitions(OsgiBundleXmlApplicationContext.java:136)[108:org.springframework.osgi.core:1.2.1]
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)[102:org.springframework.context:3.0.7.RELEASE]
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)[102:org.springframework.context:3.0.7.RELEASE]
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$800(AbstractDelegatedExecutionApplicationContext.java:69)[108:org.springframework.osgi.core:1.2.1]
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$3.run(AbstractDelegatedExecutionApplicationContext.java:269)[108:org.springframework.osgi.core:1.2.1]
at
org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)[108:org.springframework.osgi.core:1.2.1]
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.startRefresh(AbstractDelegatedExecutionApplicationContext.java:247)[108:org.springframework.osgi.core:1.2.1]
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.stageOne(DependencyWaiterApplicationContextExecutor.java:214)[111:org.springframework.osgi.extender:1.2.1]
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.refresh(DependencyWaiterApplicationContextExecutor.java:169)[111:org.springframework.osgi.extender:1.2.1]
at
org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.refresh(AbstractDelegatedExecutionApplicationContext.java:175)[108:org.springframework.osgi.core:1.2.1]
at
org.springframework.osgi.extender.internal.activator.ContextLoaderListener$2.run(ContextLoaderListener.java:716)[111:org.springframework.osgi.extender:1.2.1]
at java.lang.Thread.run(Thread.java:662)[:1.6.0_24]
*Caused by: java.lang.NoClassDefFoundError:
org/drools/event/DebugProcessEventListener*
at
org.drools.container.spring.namespace.KnowledgeSessionDefinitionParser.parseInternal(KnowledgeSessionDefinitionParser.java:115)
at
org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:59)
at
org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1338)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1328)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
... 18 more
*Caused by: java.lang.ClassNotFoundException:
org.drools.event.DebugProcessEventListener not found by org.drools.api
[232]*
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1467)[org.apache.felix.framework-4.0.3.fuse-7-061.jar:]
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:73)[org.apache.felix.framework-4.0.3.fuse-7-061.jar:]
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1850)[org.apache.felix.framework-4.0.3.fuse-7-061.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)[:1.6.0_24]
at
org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1324)[org.apache.felix.framework-4.0.3.fuse-7-061.jar:]
at
org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1488)[org.apache.felix.framework-4.0.3.fuse-7-061.jar:]
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1434)[org.apache.felix.framework-4.0.3.fuse-7-061.jar:]
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:73)[org.apache.felix.framework-4.0.3.fuse-7-061.jar:]
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1850)[org.apache.felix.framework-4.0.3.fuse-7-061.jar:]
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)[:1.6.0_24]
... 27 more
The class in question is in the drools-core jar which is deployed. Steps
taken to deploy the drools/jbpm jars were as follows where each line is
entered at the karaf prompt:
osgi:install -s wrap:mvn:com.google.protobuf/protobuf-java/2.4.1
osgi:install -s wrap:mvn:org.antlr/antlr-runtime/3.3
osgi:install -s wrap:mvn:javax.persistence/persistence-api/1.0.2
osgi:install -s mvn:org.mvel/mvel2/2.1.0.drools16
osgi:install -s wrap:mvn:org.drools/drools-spring/5.4.0.Final
osgi:install -s mvn:org.drools/knowledge-api/5.4.0.Final
osgi:install -s mvn:org.drools/knowledge-internal-api/5.4.0.Final
osgi:install -s mvn:org.drools/drools-core/5.4.0.Final
osgi:install -s mvn:org.drools/drools-compiler/5.4.0.Final
osgi:install -s mvn:org.drools/drools-persistence-jpa/5.4.0.Final
osgi:install -s wrap:mvn:org.drools/drools-grid-impl/5.4.0.Final
osgi:install -s wrap:mvn:org.jbpm/jbpm-persistence-jpa/5.3.0.Final
osgi:install -s wrap:mvn:org.jbpm/jbpm-workitems/5.3.0.Final
osgi:install -s mvn:org.jbpm/jbpm-flow/5.3.0.Final
osgi:install -s mvn:org.jbpm/jbpm-flow-builder/5.3.0.Final
osgi:install -s mvn:org.jbpm/jbpm-bpmn2/5.3.0.Final
osgi:install -s wrap:mvn:org.jbpm/jbpm-human-task-core/5.3.0.Final
osgi:install -s wrap:mvn:org.jbpm/jbpm-human-task-mina/5.3.0.Final
osgi:install -s wrap:mvn:org.jbpm/jbpm-human-task-hornetq/5.3.0.Final
features:install spring-dm
features:install spring-jdbc
features:install spring-orm
features:install spring-aspects
osgi:install -s mvn:com.test.jbpm/jbpm-services/0.0.1-SNAPSHOT
Any ideas on how to get past this? Is this an export issue in the
drools-core jar?
Thanks,
Jim
--
View this message in context: http://drools.46999.n3.nabble.com/drools-osgi-issue-tp4017799.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 9 months
JBPM fails to resume a rehydrated active process instance
by Alberto R. Galdo
Hi guys,
We are using JBPM 5 for long running processes in one of our products,
both, the knowledge session and WorkItemInfo & ProcessInstanceInfo are
persisted in a PostgreSQL database. Our processes involve a set of
automated tasks along with UserTasks handled inside JBPM's HumanTask
provided server ( the one that uses mina & JPA ).
For maintenance purposes, our application needs to be restarted once in
a while so we need our processes to keep running after a sucesful
rehydratation of the knowledge & JBPM contexts . We've tested a persistent
approach like this:
- We started our application and started several instances of a
process that involves at least one human task node.
- We've completed several human tasks in the current session and
things went ok, workitems got completed & processinstances desappeared as
processes came to and end.
- We left several human task in state"Ready" for our users to consume
afterwards.
- We restarted the application and let JBPM rehydrate it's context via
JPAKnowledgeService.loadStatefulKnowledgeSession()
Then we acquired and completed a "Ready" HumanTask, it got completed in
JBPM HumanTask server's database backend but the process attached never got
neither updater, nor its subsequent nodes were executed. This is weird.
We first tought it was a rehydratation problem and that the process
definition was not loaded properly, but what was our suprise when we've
been able to execute several new process instances wich we could complete
properly. So, seems that we are able to complete "current" ( as in the
current session, not the rehydrated ones ) process instances, but not able
to complete process instances that are not started in the "current" session
( the rehydrated ones ).
What's wrong here. Is it not possible to resume a process in a
rehydrated session when human tasks & JBPM's HumanTask server are involved?
Greets,
Alberto R. Galdo
argaldo(a)gmail.com
13 years, 9 months
Drools & jBPM Workshops : June : WDC NYC
by Mark Proctor
http://blog.athico.com/2012/06/drools-jbpm-workshops-june-wdc-nyc.html
----pasted from url---
JBoss BRMS (Drools and jBPM) Workshops
Drools 5, the upstream for JBoss BRMS, is a Business Logic integration
Platform, and provides a unified and integrated platform for Rules,
Workflow and Event Processing. It's been designed from the ground up so
that each aspect is a first class citizen, with no compromises. Drools
may be easily used with jBPM, a flexible business process management suite.
Want to learn more?
Join us for one of two complimentary full day, hands-on workshop on
Drools and jBPM, where we will cover:
* The ecosystem that encompasses the Drools open source project and
the JBoss BRMS
* Benefits of rules systems, business workflows, and specific challenges
* The history of rules systems, where they are going, and the current
state of the art
* Various features of the BRMS via a hands on demo
* BPMN 2.0 and the future of Business Process Management
Be prepared to work hands-on with the tools, meet the team behind the
engine, and have your questions answered. This event will give you
unparalleled access to industry-recognized leaders in the rules community.
There are two dates to choose from:
* Tuesday, June 19 2012 in New York City
<http://app.engage.redhat.com/e/er?s=1795&lid=1384&elq=d3d6d783acbc4c7382b...>
* Thursday, June 21, 2012 (Government focus) in Washington DC
<http://app.engage.redhat.com/e/er?s=1795&lid=5482&elq=d3d6d783acbc4c7382b...>
Speakers:
Jim Tyrrell
<http://app.engage.redhat.com/e/er?s=1795&lid=5483&elq=d3d6d783acbc4c7382b...>,
Principle JBoss Solution Architect, Red Hat
Mark Proctor
<http://app.engage.redhat.com/e/er?s=1795&lid=5483&elq=d3d6d783acbc4c7382b...>,
Drools Project Lead and Founder, Red Hat
Edson Tirelli
<http://app.engage.redhat.com/e/er?s=1795&lid=5483&elq=d3d6d783acbc4c7382b...>,
Senior Software Engineer, Red Hat
Kris Verlaenen
<http://app.engage.redhat.com/e/er?s=1795&lid=5483&elq=d3d6d783acbc4c7382b...>,
jBPM Lead Engineer, Red Hat
Prakash Aradhya
<http://app.engage.redhat.com/e/er?s=1795&lid=5483&elq=d3d6d783acbc4c7382b...>,
Senior Product Manager, Red Hat
/*Attendees are responsible for bringing their own laptop to this event.
Please make sure your laptop has the ability to copy files from a USB,
which will provide the software for the hands-on sessions, and have JDK
1.6 already installed./
Register now as space is limited. We look forward to seeing you there!
13 years, 9 months
Initial rule delay
by Paul R.
Hi,
I'm looking for a way to delay a rules initial execution? In the following
example, I would like to prevent the rule from firing when the first "Foo"
event is inserted into the working memory.
rule "DelayTest" when $n : Number() from accumulate( $f : Foo() over
window:time(10s) count($f) ) then // bla end
The timer attribute seems to almost support what I'm looking for, i.e. it
allows for an initial-delay to be specified; but if the repeat interval is
omitted, it uses the initial delay as the repeat interval.
timer ( int: <initial delay> <repeat interval>? )
In my case I would like to block the execution of the rule for an
"initial-delay" period, but after that time has elapsed the rule should
fire when every time a new "Foo" event is inserted into the working memory.
What is the recommended way to do this?
Thanks & Regards,
Paul
13 years, 9 months
guvnor repo with Oracle issue
by jnorris
Hi All,
I'm trying to get the drools-guvnor web-app (5.4.0.Final) to work with
Oracle. I ran the admin tool to create the repository XML file and when the
app is started the tables are created and some data is put into some of
them. However I get an error message "400 sorry, technical error occurred".
The server.log file shows that an error occurred. The first part of the
stack trace is this:
13:32:48,421 INFO [stdout] (http-localhost-127.0.0.1-8080-5) INFO 05-06
13:32:48,406 (DemoAuthenticator.java:authenticate:65) Demo login for user
(admin) succeeded.
13:32:48,640 WARN [org.jboss.seam.security.permission.SecurityRuleLoader]
(http-localhost-127.0.0.1-8080-5) No security rules configured - rule base
permissions will be unavailable.
13:32:48,984 INFO [stdout] (http-localhost-127.0.0.1-8080-3) INFO 05-06
13:32:48,984 (RulesRepositoryConfigurator.java:getInstance:46) Creating an
instance of the RulesRepositoryConfigurator.
13:32:51,484 INFO [stdout] (http-localhost-127.0.0.1-8080-3) ERROR 05-06
13:32:51,484 (ConnectionHelper.java:doTry:462) Failed to execute SQL
(stacktrace on DEBUG log level)
13:32:51,484 INFO [stdout] (http-localhost-127.0.0.1-8080-3)
java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an
existing object
13:32:51,484 INFO [stdout] (http-localhost-127.0.0.1-8080-3)
So next I tried importing the repository that is included in the
jbpm-installer. This time I get the error "unable to import into the
repository". I think this part of the log is where that occurred:
13:36:28,921 INFO [stdout] (http-localhost-127.0.0.1-8080-2) Clearing rules
repository
13:36:33,859 INFO [stdout] (http-localhost-127.0.0.1-8080-2) ERROR 05-06
13:36:33,859 (BundleWriter.java:writeState:248) Error while storing blob.
id=b27ba97b-1b3d-4069-88af-d9ea5f504e8d/{http://www.jboss.org/drools-repo...
idx=0 size=28659
13:36:33,859 INFO [stdout] (http-localhost-127.0.0.1-8080-2)
java.lang.IllegalStateException: Unable to insert index for string:
binaryContent
13:36:33,859 INFO [stdout] (http-localhost-127.0.0.1-8080-2) at
org.apache.jackrabbit.core.persistence.pool.NGKDbNameIndex.insertString(NGKDbNameIndex.java:66)
and this a bit further down:
13:36:33,875 INFO [stdout] (http-localhost-127.0.0.1-8080-2) Caused by:
java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert
NULL into ("DROOLS_JCR_USR"."PM_WS_DEFAULT_NAMES"."ID")
13:36:33,875 INFO [stdout] (http-localhost-127.0.0.1-8080-2)
13:36:33,875 INFO [stdout] (http-localhost-127.0.0.1-8080-2) at
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
I have set the heap size higher to get rid of the out of memory exception as
mentioned in another post.
The full server log and respository.xml file is attached.
http://drools.46999.n3.nabble.com/file/n4017760/serverlog.zip serverlog.zip
I'd appreciate any ideas on how to resolve this.
Cheers,
Jim
--
View this message in context: http://drools.46999.n3.nabble.com/guvnor-repo-with-Oracle-issue-tp4017760...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 9 months
calling a function before and after every rule
by Hezi Stern
Hi All,
I would like to add timestamps printout during entrance and exit of each
rule.
Is there a way to write function so that it will run before and after every
rule without needing to specifically add it to all rules?
Regards,
Hezi
13 years, 9 months