Guvnor 5.3 on WebSphere 8.5: detailed question
by drdaveg
I've been trying to run Guvnor on WebSphere at an IBM shop. I'm using Guvnor
5.3GA for help under our support contract with RedHat. In previous posts,
people have recommended to get Guvnor to work, nearly unmodified, under
WebSphere by disabling servlets, getting particular versions of the software
to run on specific versions of WebSphere by coincidence, etc. These
approaches have not gotten very much Guvnor functionality running so I am
trying:
1. To remove the Seam-specific calls from Guvnor and
2. Inject objects using appropriate WebSphere-based libraries.
In doing (1) I've removed the Seam-specific annotations but don't see any
references to "remote.js" in the source code. Am I missing references that
are there by searching incorrectly, am not including the correct files - or
are these automatically generated by the GWT-based dynamic code generation?
Also, any thoughts on improving my approach would be welcome!
--
View this message in context: http://drools.46999.n3.nabble.com/Guvnor-5-3-on-WebSphere-8-5-detailed-qu...
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 4 months
Spam
by rjr201
Sorry to keep going on about this.. I realise that the nabble interface is
only a mirror of the mailing list, but currently it's completely swamped by
spam. I'm sure a lot of people using drools for the first time come to this
forum for help/guidance, and it's not very inspiring when there is roughly 1
real post to every 8 spam posts.
I'm guessing it's not an easy task just to filter it out, but is there a way
that I can manually delete it? I check this forums most mornings, and it
would take me very little time to remove it..
--
View this message in context: http://drools.46999.n3.nabble.com/Spam-tp4024841.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 4 months
[jBPM] Can guvnor maintain multiple versions of a BPMN definition with same id?
by Michiel Vermandel
Hi,
In jBPM4.4 you can deploy a jPDL with the same name multiple times. The
different versions automatically get a different version number and
processInstances will keep using the version that was current when the
processInstance started.
You do not need to select specified Process Definitions upon engine startup. All is retrieved from the database as needed.
In jBPM5.4 things seem to be different. If I am correct the Knowledge base needs to be filled at startup with all Process Definitions which are
needed by any running process.
If I need multiple versions of the
same Process Definition in the kBase to complete process instances
started with a different version, it seems I cannot use the same id for
the different "versions" of the "same" process definition.
Adding two process definitions with the same id but a different version number does not seem to work.
1) Am I right so far?
If (1) == yes then
2) what it the use of the version number?
3) will everything work if I change the ProcessDefinitions with as id the
original processDefinition id concattenated with the version number?
4) does Guvnor support automatic version management?: create BPMN with id
a.b.c , start processInstance for this BPMN, change BPMN (keep id, but
increment version), start second processInstance. ProcessInstance 1 will keep using version 1 of BPMN, ProcessInstance 2 will use the updated
version of the BPMN
If (4) == no then how does Guvnor handle changes to BPMN definitions?
Are you supposed to upgrade all running versions of a Process Definition?
Thanks a lot!
Michiel
-----------------
http://www.codessentials.com - Your essential software, for free!
Follow us at http://twitter.com/#!/Codessentials
11 years, 4 months
setting enum values in Action Column in excel sheet for Drools decision Table
by ashish6276
Hi
I have created an excel sheet for drool decision table. i created a object
class for the excel properties which has class level hireachy. City is
inside Country and country is inside region. we are facing issue
in Action part of the excel. as i am setting object as hierarchy based but
we are not able to get the
enum value which is defined inside the inner object. like
contentProviders= new ContentProviders();
response.setContentprovider(contentProviders);
providers= new Providers();
contentProviders.getContentProviderList().add(providers);
providers.setContentProvider($param);
where
providers.setContentProvider($param);
is enum value it is throwing an error in drl as it is not able to recognize
the enum value
i am getting below error while running java program
com/schedulesearch/rules/Rule_BR_01_a6040cb1e88e4e90bd83ad4092334994.java
(8:750) : Test cannot be resolved.
Test is enum value.
This code i am writing in the Action Part of xls.
Please suggest Thanks in Advance
--
View this message in context: http://drools.46999.n3.nabble.com/setting-enum-values-in-Action-Column-in...
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 4 months
A design decision to use Guvnor
by Radhika Inugala
My requirement is as below:
We need to give end users to provide us with some conditions,
One of example rule would be:
They can say something like when the client id is XYZ(could be a complex
condition here) then consider I need to pay taxes in AB,CD states.
As we have different end users, we can have these rules per end user.
And when we get a web service call, based on the end user we need to pull
all these rules and then apply the rules(basically all these rules do a
transformation on the incoming request)
I need to a design for this requirement:
At first I thought I can build a UI and db to save all these rules.
But I realised that it would really take a long time.
I found Guvnor as a web application, with which we can provide a UI and
these rules will be saved in db.
The confusion I have now is:
Can I tweak the Guvnor source code(locally) to make these rules saved per
end user?
Is it doable?
Any suggestions, for the design are welcome.
11 years, 4 months
Guvnor Vs Mvel
by Radhika Inugala
Hi All,
I am still evaluating the technology to use in the following use case:
There is an input object and an output object.
These objects are complex in the sense that they have collection of objects
inside.
Need to give a feature with which user can tell that when the input object
contains certain values(this might be a complex expression) then set a
value in certain field of output object.
We need to build a UI and an ability to store the rules in db and apply
them against the incoming objects.
At first, I thought we can use Guvnor, but it is a lot more than what we
need.
We do not need a rule engine exactly, but a way to evaluate the expression.
So I went to see using Mvel as a tool.
Now I see the difficulty in converting the UI specific info to the Mvel
expression.
The expressions are becoming so complex.
Is there any way I can say some thing like a drools rule which can be
converted into a Mvel expression before evaluation?
Let me know, if I need to be more clear.
11 years, 4 months
Guvnor under Jetty?
by ems24
Hi all,
I've been trying to deploy Guvnor 5.5.0 under Jetty 8, but I'm running into
the following stack trace on startup:
ERROR 27-06 04:13:58,475 (JettyPost72Container.java:initialize:72)
Unable to create JettyWeldInjector. CDI injection will not be available in
Servlets, Filters or Listeners
java.lang.IllegalArgumentException: Cannot load class for
org.jboss.weld.environment.jetty.WeldDecorator
at
org.jboss.weld.environment.servlet.util.Reflections.classForName(Reflections.java:58)
at
org.jboss.weld.environment.jetty.JettyPost72Container.initialize(JettyPost72Container.java:66)
at
org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:162)
at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:746)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:238)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:689)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:482)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186)
at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494)
at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:615)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555)
at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at
org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
at
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96)
at org.eclipse.jetty.server.Server.doStart(Server.java:281)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1259)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1182)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.jetty.start.Main.invokeMain(Main.java:473)
at org.eclipse.jetty.start.Main.start(Main.java:615)
at org.eclipse.jetty.start.Main.main(Main.java:96)
Caused by: java.lang.NoClassDefFoundError:
org/eclipse/jetty/servlet/ServletContextHandler$Decorator
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
at
org.jboss.weld.environment.servlet.util.Reflections.classForName(Reflections.java:51)
... 39 more
Caused by: java.lang.ClassNotFoundException:
org.eclipse.jetty.servlet.ServletContextHandler$Decorator
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
... 51 more
ERROR 27-06 04:14:02,198 (JettyPost72Container.java:initialize:72)
Unable to create JettyWeldInjector. CDI injection will not be available in
Servlets, Filters or Listeners
java.lang.IllegalArgumentException: Cannot load class for
org.jboss.weld.environment.jetty.WeldDecorator
at
org.jboss.weld.environment.servlet.util.Reflections.classForName(Reflections.java:58)
at
org.jboss.weld.environment.jetty.JettyPost72Container.initialize(JettyPost72Container.java:66)
at
org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:162)
at
org.drools.guvnor.server.repository.SafeWeldListener.contextInitialized(SafeWeldListener.java:54)
at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:746)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:238)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:689)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:482)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:39)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186)
at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:494)
at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:141)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:145)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:56)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:615)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:540)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:403)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:337)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:121)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:555)
at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:230)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at
org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java:81)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
at
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:96)
at org.eclipse.jetty.server.Server.doStart(Server.java:281)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1259)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1182)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.jetty.start.Main.invokeMain(Main.java:473)
at org.eclipse.jetty.start.Main.start(Main.java:615)
at org.eclipse.jetty.start.Main.main(Main.java:96)
Caused by: java.lang.NoClassDefFoundError:
org/eclipse/jetty/servlet/ServletContextHandler$Decorator
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
at
org.jboss.weld.environment.servlet.util.Reflections.classForName(Reflections.java:51)
... 40 more
Caused by: java.lang.ClassNotFoundException:
org.eclipse.jetty.servlet.ServletContextHandler$Decorator
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421)
at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
... 52 more
Here's what I've tried so far to fix this, based on Googling around and
reading through other folks' attempts to deploy apps relying on WELD under
Jetty:
1) adding the following to Guvnor's web.xml:
<listener>
<listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
</listener>
2) creating jetty-env.xml inside Guvnor's WEB-INF with these contents:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD
Configure//EN"
"http://jetty.mortbay.org/configure.dtd">
<Configure id="webAppCtx" class="org.mortbay.jetty.webapp.WebAppContext">
<New id="BeanManager" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>
<Ref id="webAppCtx"/>
</Arg>
<Arg>BeanManager</Arg>
<Arg>
<New class="javax.naming.Reference">
<Arg>javax.enterprise.inject.spi.BeanManager</Arg>
<Arg>org.jboss.weld.resources.ManagerObjectFactory</Arg>
<Arg/>
</New>
</Arg>
</New>
</Configure>
The app does technically deploy with these additions, but I get the stack
trace above and the Guvnor UI just shows a "fatal error" message. Any hints
on what I need to do?
Thanks
-- Evan
--
View this message in context: http://drools.46999.n3.nabble.com/Guvnor-under-Jetty-tp4024823.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 4 months
Timers and fireAllRules
by Wolfgang Laun
A rule controlled by a timer becomes active when it matches, and
once for each individual match. Its consequence is executed
repeatedly, according to the timer's settings. This stops as soon
as the condition doesn't match any more.
Consequences are executed even after control returns from a call
to fireUntilHalt(). Moreover, the Engine remains reactive to any
changes made to the Working Memory. For instance, removing a fact
that was involved in triggering the timer rule's execution causes
the repeated execution to terminate, or inserting a fact so that
some rule matches will cause that rule to fire. But the Engine is
not continually active, only after a rule fires, for whatever
reason. Thus, reactions to an insertion done asynchronously will
not happen until the next execution of a timer-controlled rule.
Disposing a session puts an end to all timer activity.
-W
11 years, 4 months
JBoss Drools evaluation
by Fatma Zaheer
Dear Rules users,
Can anyone of you verify the information in the table mentioned below on JBoss Drools ( business rules management systems)?
Thanks in advance,
Evaluation Criteria JBoss Drools
Software Platform Java
Facilitate for rules testing Yes
Level of language of rules High
Type of target organization All
Coding of rules required Yes
Business analysts control business logic Yes
Rules based web application Yes
On Cloud n.a.
Forward/Backward chaining Forward chaining
Uses Reto-base or constraint base rules engine Reto-Base
Graphical representation of rules Yes
11 years, 4 months