Regular Expressions : Collections : matches problem
by Gary Napier
Hi folks,
I have searched the archives and can't quite find the right way to write
this rule, if it's possible.
In a nutshell i have a Global Collection of regular expression patterns.
I would like a rule to take a single string from a fact and try to match
it to any of the saved patterns.
so i have a basic test harness here to try :
global Collection regexpString
rule "Test"
when
$TEST : TEST( NAME _*matches*_ regexpString )
then
System.out.println("working");
end
--------------
The Collections is set outside the engine and contains test inputs of
[".* Smith.*",".*-Jones"], and so would match "Dave Smith" or "Rupert
Perry-Jones"
Can you help me fix the above code in order to do that. I am new to
drools and am struggling to get my head around complexities like
accumulates and collect(). Would these help?
In the worst case can i create my own function that uses an iterator and
java's own regular expression features to do this? (i'm guessing via an
Eval)
Any help or creative criticism of the design would be appreciated,
Drools 4.07, java6, (recovering JESS addict ;-) )
Thanks
Gary
16 years, 2 months
Disabling pattern matching alltogether for set of rules?
by Ingomar Otter
Folks,
we have a scenario where we are applying rules with complex in their
LHS at the "end of our rule processing".
Today we just use a low salience to achieve this. Obviously, these
rules are included in the pattern matching and in the agenda updates
for all preceding changes to the WM.
We do quite some changes to the facts during our regular processing
so "unnecessary" pattern-matching/agenda updates are performed.
I have looked at rule-flow, agenda-groups etc but one thing I could
not figure out by studying the documentation:
Which is the (best) way to exclude certain rules from pattern
matching (switch them off alltogether) so that we can delay the
pattern matching until the facts have stabilized?
Cheers,
Ingomar
16 years, 2 months
ClassNotFoundException for functions if cached Rulebase used
by Seema Manivannan
hi,
I'm using Drools 4.0.7. Using BRMS, I created a package which consists of a
technical drl rule and a function. As the performance best practice
suggestion goes, I'm caching the Rulebase instance that is obtained from the
RuleAgent. However, I'm facing a problem when I'm doing this. The rules
execute just fine if I call fireAllRules() just once. However, I get a
ClassNotFoundException for the functions in my package when I fire the rules
for the second time using the cached Rulebase. However, this problem does
not occur if I create the Rulebase every time without caching. Could this be
a possible bug?
Thanks,
Seema
Here is the stack trace (the package name is Test and the function name is
TestMe)
01:23:33,359 ERROR [[InsuranceServlet]] Servlet.service() for servlet
InsuranceServlet threw exception
java.lang.ClassNotFoundException: Test.TestMe
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at ASMAccessorImpl_91782341221162783340.getValue(Unknown Source)
at org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:174)
at org.mvel.MVELRuntime.execute(MVELRuntime.java:90)
at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)
at org.mvel.MVEL.executeExpression(MVEL.java:235)
at
org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:48)
at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:554)
at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:518)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:475)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:439)
at
org.acme.insurance.web.DroolsBusiness.execute(DroolsBusiness.java:122)
at
org.acme.insurance.web.InsuranceServlet.doGet(InsuranceServlet.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Unknown Source)
16 years, 2 months
AAAI Spring Symposium on Intelligent EventProcessing 2009
by Adrian Paschke
[ our apologies should you receive this message more than one time ]
AAAI Spring Symposium on Intelligent Event Processing
AAAI Spring Symposium Wednesday, March 23-25, 2009 at Stanford University
http://icep-aaai08.fzi.de/
=====================================================================
Event-based systems are now gaining increasing momentum as witnessed by
current efforts in areas including event-driven architectures, business
process management and modeling, Grid computing, Web services notifications,
and message-oriented middleware. They become ever important in various
application domains, ranging from traditional business applications, like
supply-chain management, to the entertainment industry, like on-line gaming
applications.
However, the current status of development is just the tip of the iceberg
compared with the impact that event processing could achieve, as already
reported by market research companies. Indeed, existing approaches are
dealing primarily with the syntactical (but very scalable) processing of
low-level signals and primitive actions, which usually goes with an
inadequate treatment of the notions of time, context or concurrency (for
example, synchronization). For example, some of the current event processing
products are descendents of the active database research that misses
efficient (formal) handling of termination, priority ordering, and
confluence in rule bases.
AI and especially symbolic (for example, logic-based) approaches provide
native background for the (formal) representation of the above mentioned
missing concepts, enabling evolution from event processing systems into
intelligent reactive systems. The work done in temporal logic, spatial
reasoning, knowledge representation, ontologies, and so on enables more
declarative representation of events and actions and their semantic
processing. Contextual reasoning can support complex event prediction.
Transactional logic can be used for ensuring the consistency between highly
dependent processes in a formal way.
On the other side, the heterogeneous and highly distributed nature of
event-processing systems, especially on the web, provides new challenges for
AI and logics, like the contextualized reasoning over large stream data,
scalable mapping of complex structures, or distributed approximate
reasoning, to name but a few.
Possible symposium topics comprise, but are not limited to:
-----------------------------------------------------------
Modeling
* Conceptual modeling in event-driven processing
* Modeling context in event-driven processing
* Event processing languages
* Business rules and event-driven processing
* Editors for complex events
* Complex event processing in highly distributed AI applications
* Modeling reactive systems using event-driven processing
* Event stream processing
* Event-driven architecture for Intelligent Event Processing
Discovery
* Complex event patterns mining
* Temporal aspects in event mining
* Prediction of events
* Discovery of similar event
* Discovery of unknown events
* Dealing with missing events
Reasoning/Processing
* Complex event detection
* The role of logic in event processing
* Distributed reasoning for events
* Reasoning with uncertain events
* Reasoning under real-time constraints
* Complexity in reasoning for Intelligent Event Processing
Advanced Applications
* Distributed event processing as a basis for AI applications
* Financial trading
* Web / Internet of Things
* Entertainment
* Ubiquitous Computing/ Ambient Intelligence
* Business Activity Monitoring
* AI in global epidemiology monitoring systems
* Other domains
Submissions
-----------
Papers should be prepared using the two-column AAAI conference paper format.
Long papers should be at most six pages; short papers at most two pages.
Papers must be submitted electronically via the symposium website.
Submissions must be in PDF using the workshop submission system for SSS09,
at http://www.easychair.org/conferences/?conf=sss09
More Information
http://icep-aaai09.fzi.de/
Important Dates
---------------
Deadline for submissions: October 31st, 2008 (12.00 AM, GMT)
Notification of acceptance: December 9th, 2008
Camera-ready versions: January 16th, 2009
Symposium: March 23-25, 2009
Organizing Committee
---------------------
Nenad Stojanovic, chair, (FZI - Research Center for Information Technologies
at the University of Karlsruhe, Germany),
Andreas Abecker (FZI, Germany),
Opher Etzion (IBM Research Lab, Haifa, Israel).
Adrian Paschke (RuleML Inc, Canada and Free University Berlin, Germany)
Program Committee
------------------
Alex Kozlenkov, Betfair Ltd. UK
Brian Connell, WestGlobal, UK
Christian Brelage, SAP, Germany
Darko Anicic, FZI at the University of Karlsruhe, Germany
David Luckham, Stanford University, USA
Dieter Gawlick, Oracle, USA
Gregoris Mentzas, ICCS, University of Athens, Greece
Jean-Pierre Lorre, EBM Websourcing, France
José Júlio Alferes, Faculdade de Ciências e Tecnologia/Universidade Nova de
Lisboa, Portugal
Jun-jang Jeng, IBM Watson Research Center, USA
Ljiljana Stojanovic, FZI at the University of Karlsruhe, Germany
Michal Rosen-Zvi, IBM Haifa Research Lab, Israel
Pedro Bizarro, University of Coimbra, Portugal
Prasad Vishnubhotla, IBM Software Group, USA
Rainer von Ammon, CITT, Germany
(to be completed)
16 years, 2 months
Re: [rules-users] Problem with setting a Global
by Earnest Dyke
Thanks for the response. I have tried that actually. Left it out of the code snippet by accident. I have tired both:
import org.jboss.seam.log.Log
global Log log
as well as:
global import org.jboss.seam.log.Log log
and neither made a difference.
Earnie!
----- Original Message ----
From: Ingomar Otter <iotter(a)mac.com>
To: Rules Users List <rules-users(a)lists.jboss.org>
Sent: Thursday, September 11, 2008 12:42:43 PM
Subject: Re: [rules-users] Problem with setting a Global
You have to declare the global in the rule package.
global foo.bar.Logger logger;
--Ingomar
Am 11.09.2008 um 18:24 schrieb Earnest Dyke:
> Greetings all,
>
> I have the following Java code and rule. When executed I get an
> "Unexpected Global" exception (see below). What am I doing wrong?
>
> ....
> @In WorkingMemory wm
>
> @Logger Log log;
>
> public void calculate() {
> wm.setGlobal("logger",log);
> wm.insert(calcResult);
> wm.fireAllRules();
> }
>
>
> rule "Calc"
> when
> $c : CalcResult();
> then
> log(drools.getRule().getName(),log);
> // Do calculation
> end
>
> function void log(String msg, Log log) {
> log.debug(msg,new Object[]{});
> }
>
> When the calculate method is executed I get the following exception:
>
>
> java.lang.RuntimeException: Unexpected global [logger]
> at
> org
> .drools
> .common.AbstractWorkingMemory.setGlobal(AbstractWorkingMemory.java:
> 367)
> at
> org.ebsinc.ia.action.AnalysisAction.createData(AnalysisAction.java:93)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun
> .reflect
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
> at
> org
> .jboss
> .seam
> .intercept.RootInvocationContext.proceed(RootInvocationContext.java:
> 31)
> at
> org
> .jboss
> .seam
> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:
> 56)
> at
> org
> .jboss
> .seam
> .core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
> at
> org
> .jboss
> .seam
> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:
> 68)
> at
> org
> .jboss
> .seam
> .persistence
> .ManagedEntityIdentityInterceptor
> .aroundInvoke(ManagedEntityIdentityInterceptor.java:48)
> at
> org
> .jboss
> .seam
> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:
> 68)
> at
> org
> .jboss
> .seam
> .transaction
> .RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
> at
> org
> .jboss
> .seam
> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:
> 68)
> at
> org
> .jboss
> .seam
> .core
> .MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:
> 42)
> at
> org
> .jboss
> .seam
> .intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:
> 68)
> at
> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:
> 106)
> at
> org
> .jboss
> .seam
> .intercept
> .JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
> at
> org
> .jboss
> .seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:
> 91)
> at org.ebsinc.ia.action.AnalysisAction_$
> $_javassist_9.createData(AnalysisAction_$$_javassist_9.java)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun
> .reflect
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
> at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:
> 125)
> at org.jboss.seam.Component.callComponentMethod(Component.java:2074)
> at org.jboss.seam.Component.callCreateMethod(Component.java:1997)
> at org.jboss.seam.Component.newInstance(Component.java:1968)
> at org.jboss.seam.Component.getInstance(Component.java:1865)
> at org.jboss.seam.Component.getInstance(Component.java:1832)
> at org.jboss.seam.Component.getInstanceFromFactory(Component.java:
> 1911)
> at org.jboss.seam.Component.getInstance(Component.java:1855)
> at org.jboss.seam.Component.getInstance(Component.java:1832)
> at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)
> at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)
> at org.jboss.seam.Namespace.get(Namespace.java:28)
> at
> org
> .jboss.seam.el.SeamELResolver.resolveInNamespace(SeamELResolver.java:
> 197)
> at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:57)
> at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
> at
> com
> .sun
> .faces
> .el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:
> 64)
> at
> org
> .jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)
> at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
> at
> org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:
> 186)
> at
> com
> .sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:
> 71)
> at
> javax
> .faces
> .component
> .ValueBindingValueExpressionAdapter
> .getValue(ValueBindingValueExpressionAdapter.java:102)
> at com.sun.facelets.component.UIRepeat.getValue(UIRepeat.java:143)
> at com.sun.facelets.component.UIRepeat.getDataModel(UIRepeat.java:
> 121)
> at com.sun.facelets.component.UIRepeat.setIndex(UIRepeat.java:305)
> at com.sun.facelets.component.UIRepeat.process(UIRepeat.java:333)
> at com.sun.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:
> 617)
> at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:
> 248)
> at
> org
> .jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:
> 213)
> at org.jboss.seam.pdf.ui.ITextComponent.encode(ITextComponent.java:
> 248)
> at
> org
> .jboss.seam.pdf.ui.ITextComponent.encodeChildren(ITextComponent.java:
> 213)
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
> at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
> at
> com
> .sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:
> 592)
> at
> org
> .ajax4jsf
> .application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:
> 108)
> at
> org
> .ajax4jsf
> .application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
> at
> com
> .sun
> .faces
> .lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
> at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:
> 251)
> at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:
> 144)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
> at sun.reflect.GeneratedMethodAccessor621.invoke(Unknown Source)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.catalina.security.SecurityUtil
> $1.run(SecurityUtil.java:244)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> at
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:
> 276)
> at
> org
> .apache
> .catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 283)
> at org.apache.catalina.core.ApplicationFilterChain.access
> $000(ApplicationFilterChain.java:56)
> at org.apache.catalina.core.ApplicationFilterChain
> $1.run(ApplicationFilterChain.java:189)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
> at org.jboss.seam.servlet.SeamFilter
> $FilterChainImpl.doFilter(SeamFilter.java:83)
> at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:
> 85)
> at org.jboss.seam.servlet.SeamFilter
> $FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:
> 64)
> at org.jboss.seam.servlet.SeamFilter
> $FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
> at org.jboss.seam.servlet.SeamFilter
> $FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:
> 154)
> at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
> at
> org
> .ajax4jsf
> .webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
> at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
> at org.jboss.seam.servlet.SeamFilter
> $FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
> at org.jboss.seam.servlet.SeamFilter
> $FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> at sun.reflect.GeneratedMethodAccessor1504.invoke(Unknown Source)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.catalina.security.SecurityUtil
> $1.run(SecurityUtil.java:244)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> at
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:
> 276)
> at
> org
> .apache
> .catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 230)
> at org.apache.catalina.core.ApplicationFilterChain.access
> $000(ApplicationFilterChain.java:56)
> at org.apache.catalina.core.ApplicationFilterChain
> $1.run(ApplicationFilterChain.java:189)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
> at
> org
> .jboss
> .web
> .tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> at sun.reflect.GeneratedMethodAccessor620.invoke(Unknown Source)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.catalina.security.SecurityUtil
> $1.run(SecurityUtil.java:244)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> at
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:
> 276)
> at
> org
> .apache
> .catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 230)
> at org.apache.catalina.core.ApplicationFilterChain.access
> $000(ApplicationFilterChain.java:56)
> at org.apache.catalina.core.ApplicationFilterChain
> $1.run(ApplicationFilterChain.java:189)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
> at
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 230)
> at
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 175)
> at
> org
> .jboss
> .web
> .tomcat
> .security
> .SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> at
> org
> .apache
> .catalina
> .authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
> at
> org
> .jboss
> .web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> at
> org
> .apache
> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org
> .apache
> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org
> .jboss
> .web
> .tomcat
> .service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:
> 157)
> at
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
> 109)
> at
> org
> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 262)
> at
> org
> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 844)
> at org.apache.coyote.http11.Http11Protocol
> $Http11ConnectionHandler.process(Http11Protocol.java:583)
> at org.apache.tomcat.util.net.JIoEndpoint
> $Worker.run(JIoEndpoint.java:446)
> at java.lang.Thread.run(Thread.java:
> 595)_______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
16 years, 2 months
RuleML-2008: Deadline Extension
by Adrian Paschke
[ our apologies should you receive this message more than one time ]
=====================================================================
Due to a number of requests we have to decided to extend
the submission deadline by 2 weeks.
NEW deadline for paper/demo submission: June 16
=====================================================================
2008 International RuleML Symposium
on Rule Interchange and Applications (RuleML-2008)
October 30-31, 2008, Orlando, Florida
http://2008.ruleml.org
--------------------------------------------------------------------
RuleML-2008 Highlights:
- Keynote speakers:
* Michael Kifer (State University of New York at Stony Brook, USA),
on "Rule Interchange Format: Not Just Syntax".
Joint keynote between RuleML-2008 and RR2008.
* David Luckham (Stanford University, USA) on complex event processing.
* Paul Haley (Haley Ltd) on business rules.
* Benjamin Grosof (Vulcan Inc, USA) on the SILK KRR system of the HALO
project.
(Details at: http://2008.ruleml.org/keynote.php )
- Joint Lunch Panel with the Business Rules Forum about "Rules on the Web"
- RuleML-2008 Challenge with prestigious prices
(Details at: http://2008.ruleml.org/challenge.php )
(Submissions at: http://ruleml-challenge.cs.nccu.edu.tw/ )
- Lightning talks / Highlight talks
Accepted papers will be published in Springer LNCS proceedings and
a journal special issue (IEEE TKDE pending) is forthcoming.
PRESS RELEASES: http://www.targetwire.com/vpo/rm/
--------------------------------------------------------------------
Call for Papers
Collocated with the 11th International Business Rules Forum, the 2008
International Symposium on Rule Interchange and Applications
(RuleML-2008) is
the second symposium (after last year's highly successful RuleML-2007 -
http://2007.ruleml.org/) devoted to work on practical distributed rule
technologies and rule-based applications which need language standards for
rules operating in the context of, e.g., the Semantic Web, Intelligent
Multi-
Agent Systems, Event-Driven Architectures and Service-Oriented Computing
Applications. The RuleML symposium is a new kind of event where the Web
Rules
and Logic community joins the established, practically oriented Forum of the
Business Rules community (http://www.businessrulesforum.com) to help cross-
fertilizing between Web and Business Logic technology.
The goal of RuleML-2008 is to bring together rule system providers,
representatives of, and participants in, rule standardization efforts (e.g.,
SBVR, RuleML, RIF, PRR, CL) and open source rules communities (e.g., jBoss
Rules, CLIPS/Jess, Prova, OO jDrew, Mandarax, XSB, XQuery),
practitioners and
technical experts, developers, users, and researchers. They will be offered
an exciting venue to exchange new ideas, practical developments and
experiences on issues pertinent to the interchange and application of rules
in open distributed environments such as the Web.
The Symposium gives emphasis on practical issues such as technical
contributions and show case demonstrations of effective, practical,
deployable rule-based technologies, rule interchange formats and
applications
as well as discussions of lessons learned that have to be taken into account
when employing rule-based technologies in distributed, (partially) open,
heterogeneous environments. We also welcome groundwork that helps to
build an
effective, practical, and deployable rule standard, improve rule technology,
provide better understanding of the integration and interchange of
rules, and
make the current generation of rule engines and rule technology more usable
for advanced Web and Service Oriented Architectures.
More details in: http://2008.ruleml.org/cfp.pdf
--------------------------------------------------------------------
RuleML-2008 Challenge
The RuleML-2008 Challenge is one of the highlights of RuleML-2008. It
addresses the system demonstration for practical use of rule technologies in
distributed and/or Web-based environments. The focus of the challenge is on
rule technologies (including rule languages and engines), interoperation and
interchange. The challenge offers participants the chance to demonstrate
their commercial and open source tools, use cases, and applications. Prizes
will be awarded to the two best applications. All accepted demos will be
presented in a special Challenge Session.
More details in: http://2008.ruleml.org/challenge.php
--------------------------------------------------------------------
Important Dates
- Paper Submissions due June 16, 2008 (EXTENDED)
- Notification of acceptance July 22, 2008
- Final submissions due August 13, 2008
- Symposium date October 30-31, 2008
- RuleML Challenge October 30, 2008
--------------------------------------------------------------------
Submission Site is open:
http://www.easychair.org/conferences/?conf=ruleml2008
Submission guidelines:
http://2008.ruleml.org/submissions.php
Topics of Interest:
http://2008.ruleml.org/topics.php
Organizing Committee:
http://2008.ruleml.org/oc.php
Program Committee:
http://2008.ruleml.org/pc.php
=====================================================================
Co-located with:
The 11th International Business Rules Forum
http://www.businessrulesforum.com
=====================================================================
Sponsored by:
Gold level : Vulcan Inc (pending)
Silver level: Model Systems
Bronze level: STI Innsbruck, ruleCore, JBoss
Sponsoring opportunities: http://2008.ruleml.org/sponsoring/
=====================================================================
In Co-operation with:
AAAI, W3C, BPM-Forum, Business Rules Forum , ECCAI, OASIS, OMG,
Dallas Rules Group, Belgium Business Rules Forum,
MIT Sloan CIO Symposium,
ACM, ACM SIGART, ACM SIGMIS, ACM SIGWEB, Open Research Society,
IEEE Systems Man and Cybernetics Society
IEEE SMCS TC on Intelligent Internet Systems
IEEE SMCS TC on Distributed Intelligent Systems
IEEE Computer Society TC on Autonomous and Autonomic Systems
=====================================================================
Media Partners:
Springer LNCS, MoDo Marketing
=====================================================================
16 years, 2 months
ClassNotFoundException for functions if cached Rulebase used
by seemamani
hi,
I'm using Drools 4.0.7. Using BRMS, I created a package which consists of a
technical drl rule and a function. As the performance best practice
suggestion goes, I'm caching the Rulebase instance that is obtained from the
RuleAgent. However, I'm facing a problem when I'm doing this. The rules
execute just fine if I call fireAllRules() just once. However, I get a
ClassNotFoundException for the functions in my package when I fire the rules
for the second time using the cached Rulebase. However, this problem does
not occur if I create the Rulebase every time without caching. Could this be
a possible bug?
Thanks,
Seema
Here is the stack trace
01:23:33,359 ERROR [[InsuranceServlet]] Servlet.service() for servlet
InsuranceServlet threw exception
java.lang.ClassNotFoundException: Test.TestMe
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at ASMAccessorImpl_91782341221162783340.getValue(Unknown Source)
at org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:174)
at org.mvel.MVELRuntime.execute(MVELRuntime.java:90)
at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)
at org.mvel.MVEL.executeExpression(MVEL.java:235)
at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:48)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:554)
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:518)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:475)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:439)
at org.acme.insurance.web.DroolsBusiness.execute(DroolsBusiness.java:122)
at org.acme.insurance.web.InsuranceServlet.doGet(InsuranceServlet.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Unknown Source)
--
View this message in context: http://www.nabble.com/ClassNotFoundException-for-functions-if-cached-Rule...
Sent from the drools - user mailing list archive at Nabble.com.
16 years, 2 months