MVEL interpretation
by Mike Melton
My team is using Drools on a government project. As is usually the case
with government projects, the security folks have their hands in every
aspect of the project. They have big questions on MVEL, but I'm going to
try to boil them down to one simple question:
At what stage(s) of Drools's lifecycle does MVEL interpretation occur? I
think that the compilation engine interprets the MVEL at compile time and
converts it to generated Java code, though I don't know enough about the
internals of the engine to say for sure. Stated another way, does Drools
interpret rules written using the MVEL dialect at runtime?
Thanks
Mike
12 years, 9 months
PostGIS Drools Integration
by Matt Shaw
Hi,
We have a system which streams data containing geospatial information that
represents aircraft into a PostGIS database where we also store geographic
areas of interest. We would like to create, with Drools, rules which
utilise the PostGIS geospatial functions as part of the Rules that we
develop.
What would be the most effecient and effective way of integrating the data
that is in PostGIS and the geospatial functions to create facts and rules??
We don't really want to load all that data into memory and would like to
utilise the geospatial functions as they are a very effecient way of
evaluating the data.
Regards
Matt
--
View this message in context: http://drools.46999.n3.nabble.com/PostGIS-Drools-Integration-tp3864374p38...
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 9 months
No matching property definition found after migration
by mrben
Hi,
Just migrated from Guvnor 5.1.1 to Guvnor 5.3.0 on Tomcat 6.0.29. Everything
went fine, except when I logint to my account I get this error message:
400 javax.jcr.nodetype.ConstraintViolationException: no matching property
definition found for {http://www.jboss.org/drools-repository/1.0}workspace
Here is catalina.out:
ERROR 26-03 20:41:59,559 (RulesRepository.java:createPackage:870)
Error when creating a new rule package
javax.jcr.nodetype.ConstraintViolationException: no matching property
definition found for {http://www.jboss.org/drools-repository/1.0}workspace
at
org.apache.jackrabbit.core.nodetype.EffectiveNodeType.getApplicablePropertyDef(EffectiveNodeType.java:782)
at
org.apache.jackrabbit.core.NodeImpl.getApplicablePropertyDefinition(NodeImpl.java:846)
at
org.apache.jackrabbit.core.NodeImpl.getOrCreateProperty(NodeImpl.java:398)
at org.apache.jackrabbit.core.NodeImpl$7.perform(NodeImpl.java:2105)
at org.apache.jackrabbit.core.NodeImpl$7.perform(NodeImpl.java:2098)
at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:200)
at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
at
org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2098)
at
org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:1860)
at
org.drools.repository.RulesRepository.createPackage(RulesRepository.java:851)
at
org.drools.repository.RulesRepository.createPackage(RulesRepository.java:793)
at
org.drools.repository.RulesRepository.loadPackage(RulesRepository.java:433)
at
org.drools.repository.RulesRepository.loadGlobalArea(RulesRepository.java:675)
at
org.drools.guvnor.server.RepositoryPackageOperations.loadGlobalPackage(RepositoryPackageOperations.java:170)
at
org.drools.guvnor.server.RepositoryPackageService.loadGlobalPackage(RepositoryPackageService.java:126)
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:592)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
at
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:163)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
at
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
at
org.drools.guvnor.server.RepositoryPackageService_$$_javassist_seam_7.loadGlobalPackage(RepositoryPackageService_$$_javassist_seam_7.java)
at
org.drools.guvnor.server.RepositoryServiceServlet.loadGlobalPackage(RepositoryServiceServlet.java:226)
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:592)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
at
org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:65)
at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
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:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:595)
ERROR 26-03 20:41:59,561 (LoggingHelper.java:error:74) Service method
'public abstract org.drools.guvnor.client.rpc.PackageConfigData
org.drools.guvnor.client.rpc.PackageService.loadGlobalPackage()' threw an
unexpected exception: org.drools.repository.RulesRepositoryException:
javax.jcr.nodetype.ConstraintViolationException: no matching property
definition found for {http://www.jboss.org/drools-repository/1.0}workspace
org.drools.repository.RulesRepositoryException:
javax.jcr.nodetype.ConstraintViolationException: no matching property
definition found for {http://www.jboss.org/drools-repository/1.0}workspace
at
org.drools.repository.RulesRepository.createPackage(RulesRepository.java:872)
at
org.drools.repository.RulesRepository.createPackage(RulesRepository.java:793)
at
org.drools.repository.RulesRepository.loadPackage(RulesRepository.java:433)
at
org.drools.repository.RulesRepository.loadGlobalArea(RulesRepository.java:675)
at
org.drools.guvnor.server.RepositoryPackageOperations.loadGlobalPackage(RepositoryPackageOperations.java:170)
at
org.drools.guvnor.server.RepositoryPackageService.loadGlobalPackage(RepositoryPackageService.java:126)
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:592)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
at
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:163)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
at
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
at
org.drools.guvnor.server.RepositoryPackageService_$$_javassist_seam_7.loadGlobalPackage(RepositoryPackageService_$$_javassist_seam_7.java)
at
org.drools.guvnor.server.RepositoryServiceServlet.loadGlobalPackage(RepositoryServiceServlet.java:226)
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:592)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42)
at
org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:65)
at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37)
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:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.jcr.nodetype.ConstraintViolationException: no matching
property definition found for
{http://www.jboss.org/drools-repository/1.0}workspace
at
org.apache.jackrabbit.core.nodetype.EffectiveNodeType.getApplicablePropertyDef(EffectiveNodeType.java:782)
at
org.apache.jackrabbit.core.NodeImpl.getApplicablePropertyDefinition(NodeImpl.java:846)
at
org.apache.jackrabbit.core.NodeImpl.getOrCreateProperty(NodeImpl.java:398)
at org.apache.jackrabbit.core.NodeImpl$7.perform(NodeImpl.java:2105)
at org.apache.jackrabbit.core.NodeImpl$7.perform(NodeImpl.java:2098)
at
org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:200)
at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
at
org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2098)
at
org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:1860)
at
org.drools.repository.RulesRepository.createPackage(RulesRepository.java:851)
... 52 more
Any suggestions and help would be much appreciated!
Thanks,
Benas
--
View this message in context: http://drools.46999.n3.nabble.com/No-matching-property-definition-found-a...
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 9 months
ruleflow
by gianfranco
I'm wondering if it possible to specify rules file names directly in the flow
(.rf) file.
To explain myself better:
now i have something like :
...
1)KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
2)kbuilder.add(ResourceFactory.newReaderResource(new InputStreamReader(
RuleUtils.class.getResourceAsStream(flowName))),
ResourceType.BPMN2);
3)for (String s : rules)
kbuilder.add(ResourceFactory.newReaderResource(new
InputStreamReader(
RuleUtils.class.getResourceAsStream(s))),
ResourceType.DRL);
...
i would like to skip the step 3, cause I'm working on a generic web service
implementation to execute rules,then
i don't know in advance how many rules i got, they name, etc.
Cheers,
Gianfranco
--
View this message in context: http://drools.46999.n3.nabble.com/ruleflow-tp3861603p3861603.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 9 months
rule file name and .rf file
by gianfranco cautiero
I'm wondering if it possible to specify rules file names directly in the
flow (.rf) file.
To explain myself better:
now i have something like :
...
1)KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
2)kbuilder.add(ResourceFactory.newReaderResource(new InputStreamReader(
RuleUtils.class.getResourceAsStream(flowName))),
ResourceType.BPMN2);
3)for (String s : rules)
kbuilder.add(ResourceFactory.newReaderResource(new
InputStreamReader(
RuleUtils.class.getResourceAsStream(s))),
ResourceType.DRL);
...
i would like to skip the step 3, cause I'm working on a generic web
service implementation to execute rules,then
i don't know in advance how many rules i got, they name, etc.
Cheers,
Gianfranco
12 years, 9 months