[
https://issues.jboss.org/browse/RTGOV-393?page=com.atlassian.jira.plugin....
]
ivan mckinley commented on RTGOV-393:
-------------------------------------
Agreed with Jeff's point here.
In the case stream the application should be aware of the impact of using Stream and their
application (switchyard or rest clients) should be "aware" of which Rtgov node
they submit events to. This is a consideration all applications have when using stream
and as Jeff mentioned there are methods to tackle this. See presentation from Duncan
Doyle.
http://rhsummit.files.wordpress.com/2014/04/doyle_h_0945-high-availablity...
another concept would be to have some form of message based routing prior to the event
hitting the EPN.
This could be performed on the switchyard side and built as part of the embedded collector
(might be overkill).
DroolsEventProcessor. Support Drools STREAM and CLOUD event
processing
----------------------------------------------------------------------
Key: RTGOV-393
URL:
https://issues.jboss.org/browse/RTGOV-393
Project: RTGov (Run Time Governance)
Issue Type: Feature Request
Components: Event Processor
Reporter: ivan mckinley
Assignee: Gary Brown
Fix For: 2.1.0.Final
When attempting to using sliding window rules, see[1]. Results in a runtime exception as
the DroolsEventprocessor does not support a Stream of events.
Recommend fix is making the DroolsEventprocessor configurable from the EPN to use either
stream or cloud.
http://docs.jboss.org/jbpm/v6.0.1/javadocs/org/kie/api/builder/model/KieB...
Browsing through the history shows this functionality was removed.
https://github.com/Governance/rtgov/commit/43c81c8a4a1702ad43ec42a9dff7be...
[1]
rule "Sliding widow rule"
when
Number( doubleValue > 2 ) from accumulate(
Situation( $t : properties["customer"] == 'Ivan' ) over
window:time( 5m ) , count($t)
)
then
epc.logError("\r\n\r\n**** SUPERRRRRRRR ****\r\n");
end
[2]
14:20:42,970 SEVERE [org.overlord.rtgov.ep.drools.DroolsEventProcessor] (ServerService
Thread Pool -- 88) Failed to load Drools rules 'timeWindow.drl' for Event
Processor 'timeWindow': java.lang.RuntimeException: The requested KieBase
"defaultKieBase" has been set to run in CLOUD mode but requires features only
available in STREAM mode
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.createKieBase(KieContainerImpl.java:258)
[drools-compiler-6.0.0-redhat-9.jar:6.0.0-redhat-9]
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:204)
[drools-compiler-6.0.0-redhat-9.jar:6.0.0-redhat-9]
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:193)
[drools-compiler-6.0.0-redhat-9.jar:6.0.0-redhat-9]
at
org.overlord.rtgov.ep.drools.DroolsEventProcessor.loadRuleBase(DroolsEventProcessor.java:199)
[ep-drools-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at
org.overlord.rtgov.ep.drools.DroolsEventProcessor.createSession(DroolsEventProcessor.java:146)
[ep-drools-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.ep.drools.DroolsEventProcessor.init(DroolsEventProcessor.java:56)
[ep-drools-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.epn.Node.init(Node.java:229)
[epn-core-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.epn.Network.preInit(Network.java:202)
[epn-core-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.epn.AbstractEPNLoader.preInit(AbstractEPNLoader.java:34)
[epn-core-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.internal.epn.loader.jee.JEEEPNLoader.init(JEEEPNLoader.java:92)
[epn-loader-jee-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[classes.jar:1.6.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[classes.jar:1.6.0_65]
at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_65]
at
org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:130)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:73)
[jboss-as-weld-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:248)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:344)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at
org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:66)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:85)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at
org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:126)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at
org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:141)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
[classes.jar:1.6.0_65]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
[classes.jar:1.6.0_65]
at java.util.concurrent.FutureTask.run(FutureTask.java:138) [classes.jar:1.6.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
[classes.jar:1.6.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
[classes.jar:1.6.0_65]
at java.lang.Thread.run(Thread.java:695) [classes.jar:1.6.0_65]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
14:20:43,022 SEVERE [org.overlord.rtgov.internal.epn.loader.jee.JEEEPNLoader]
(ServerService Thread Pool -- 88) Failed to register network: java.lang.Exception: Failed
to load Drools rules 'timeWindow.drl' for Event Processor 'timeWindow'
at
org.overlord.rtgov.ep.drools.DroolsEventProcessor.loadRuleBase(DroolsEventProcessor.java:209)
[ep-drools-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at
org.overlord.rtgov.ep.drools.DroolsEventProcessor.createSession(DroolsEventProcessor.java:146)
[ep-drools-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.ep.drools.DroolsEventProcessor.init(DroolsEventProcessor.java:56)
[ep-drools-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.epn.Node.init(Node.java:229)
[epn-core-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.epn.Network.preInit(Network.java:202)
[epn-core-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.epn.AbstractEPNLoader.preInit(AbstractEPNLoader.java:34)
[epn-core-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at org.overlord.rtgov.internal.epn.loader.jee.JEEEPNLoader.init(JEEEPNLoader.java:92)
[epn-loader-jee-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[classes.jar:1.6.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[classes.jar:1.6.0_65]
at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_65]
at
org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:130)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.weld.injection.WeldInjectionInterceptor.processInvocation(WeldInjectionInterceptor.java:73)
[jboss-as-weld-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:248)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:344)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at
org.jboss.as.ejb3.tx.LifecycleCMTTxInterceptor.processInvocation(LifecycleCMTTxInterceptor.java:66)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
at
org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:85)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at
org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:126)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at
org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:141)
[jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)
[jboss-as-ee-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
[classes.jar:1.6.0_65]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
[classes.jar:1.6.0_65]
at java.util.concurrent.FutureTask.run(FutureTask.java:138) [classes.jar:1.6.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
[classes.jar:1.6.0_65]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
[classes.jar:1.6.0_65]
at java.lang.Thread.run(Thread.java:695) [classes.jar:1.6.0_65]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.RuntimeException: The requested KieBase "defaultKieBase"
has been set to run in CLOUD mode but requires features only available in STREAM mode
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.createKieBase(KieContainerImpl.java:258)
[drools-compiler-6.0.0-redhat-9.jar:6.0.0-redhat-9]
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:204)
[drools-compiler-6.0.0-redhat-9.jar:6.0.0-redhat-9]
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:193)
[drools-compiler-6.0.0-redhat-9.jar:6.0.0-redhat-9]
at
org.overlord.rtgov.ep.drools.DroolsEventProcessor.loadRuleBase(DroolsEventProcessor.java:199)
[ep-drools-1.0.1.Final-redhat-4.jar:1.0.1.Final-redhat-4]
... 43 more
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)