AfterEvaluatorDefinition NullPointer Exception in deserialized ksession
by Alexander Wolf
[Drools 5.5.0 Final]
I wrote a webserver that keeps StatefulKnowledgeSessions running in Stream mode. When the server is stopped, the sessions are serialized and stored in a database. When the server is restarted, the existing sessions are restored / deserialized.
Some time after recreating the session and inserting some events I get the following exception:
java.lang.NullPointerException: null
at org.drools.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedLeft(AfterEvaluatorDefinition.java:351)
...
Apparently the exception seems to be related to a rule that uses temporal reasoning.
After getting it once, the session seems to be corrupt -> from now on every time I call ksession.insert(event) the same exception occurs.
When I serialize the session and attempt to deserialize it, I get a long stack trace --> I can not deserialize it anymore. (as apparently it is corrupted).
When I run the server with the same events/sessions without stopping (serialization/deserialization) the exception does not occur)
Can I do anything to prevent this behaviour? I thought maybe the "after" timer/trigger is somehow still active when I serialize the ksession.
I tried ksession.halt() before serialization, but with no effect.
Any ideas?
12 years, 3 months
Issue in Drools 5.5 concerned with rule and scanning list with from command
by braveheart85
Hello,
I'm having a strange issue. I have a medium size rule file with rules like
these:
when
InvestigationTarget( $code : identifierCode )
$s: SubjectData( identifierCode == $code )
$r: Registry( )
$y: YearData( ) from $r.years
$p: Purchase( customerIdentifierCode == $s.identifierCode ) from
$y.purchases
then
...
My application is actually still a prototype and i work building a session
with facts already inserted and when the system started the user changes DRL
to use with facts.
My issue is when i add resource to knowledge builder. I catch an exception
when exists one fact can activate the above rule:
java.lang.RuntimeException: unable to invoke method:
org.titan.registry.BusinessEntityData.getIdentifierCode: target of method is
null
at
com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:171)
at
com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:250)
at
com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:80)
at
com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:220)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
at
com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at
com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
at
com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:534)
at
com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:579)
at
com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:294)
at
com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:944)
at
com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:688)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:249)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at
com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:176)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at
com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:560)
at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:537)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at
com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:138)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:335)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:241)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:246)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
at
com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216)
at
com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: unable to invoke method:
org.titan.registry.BusinessEntityData.getIdentifierCode: target of method is
null
at
org.mvel2.optimizers.impl.refl.nodes.GetterAccessor.getValue(GetterAccessor.java:66)
at
org.mvel2.optimizers.impl.refl.nodes.VariableAccessor.getValue(VariableAccessor.java:37)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
at
org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:107)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
at
org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:123)
at org.mvel2.MVEL.executeExpression(MVEL.java:930)
at
org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:70)
at
org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:49)
at
org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:167)
at
org.drools.rule.constraint.MvelConstraint.isAllowedCachedLeft(MvelConstraint.java:136)
at
org.drools.common.SingleBetaConstraints.isAllowedCachedLeft(SingleBetaConstraints.java:130)
at org.drools.reteoo.FromNode.updateSink(FromNode.java:473)
at org.drools.reteoo.RuleTerminalNode.attach(RuleTerminalNode.java:344)
at
org.drools.reteoo.builder.ReteooRuleBuilder.addSubRule(ReteooRuleBuilder.java:168)
at
org.drools.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:128)
at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:116)
at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java:445)
at org.drools.common.AbstractRuleBase.addRule(AbstractRuleBase.java:956)
at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:627)
at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:472)
at
org.drools.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:150)
at
org.myproject.frontend.investigation.drools.DroolsInvestigationEngine.setResources(DroolsInvestigationEngine.java:137)
at
org.myproject.frontend.investigation.drools.filter.InvestigationFilter.setupEnvironment(InvestigationFilter.java:118)
at
org.myproject.frontend.investigation.drools.DroolsFilter.execute(DroolsFilter.java:19)
at
org.myproject.frontend.investigation.drools.DroolsInvestigationSession.executeFilter(DroolsInvestigationSession.java:64)
at org.myproject.portlet.SearchResult.openGraph(SearchResult.java:86)
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:597)
at
com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:153)
... 136 more
Caused by: java.lang.NullPointerException
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:597)
at
org.mvel2.optimizers.impl.refl.nodes.GetterAccessor.getValue(GetterAccessor.java:43)
... 167 more
I tried a workaround modifying rule in this way:
$p: Purchase( customerIdentifierCode == $code ) from $y.purchases
thus i don't catch the exception anymore, but simply the rule don't activate
though it should.
If anyone could help me...
Best regards
--
View this message in context: http://drools.46999.n3.nabble.com/Issue-in-Drools-5-5-concerned-with-rule...
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 3 months
KIE API
by thilo
I'm quite new to Drools Expert and so far the framework looks promising. As
we started a new project, I went for Drools Export 6.0.0CR4. Creating a
prototype, I realized that the class KnowledgeBase is deprecated, so I tried
to use the new KIE API. After checking the examples
https://github.com/droolsjbpm/drools/tree/master/drools-examples-api
and this previous discussion here:
http://drools.46999.n3.nabble.com/KIE-api-verbosity-td4023024.html
I'm a bit confused about the new API (also because there is little
information in the official documentation yet).
- Is the KIE API stable (because of the CR) and is it save to use or are we
better off, using 5.5?
- Except for the examples above, is there more documentation available (the
API is really verbose)? Is there any documentation for the CDI part?
- Our requirements are easy: we will have to some simple DRL files and we
want to use them in a stateless session, but it would be nice to allow rule
updates in the running system. Is this possible with KModules or is there
any other proper way using the KIE API?
Thanks in advance for all inputs!
Thilo
--
View this message in context: http://drools.46999.n3.nabble.com/KIE-API-tp4026336.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 3 months
BuildError: Unable to Analyse Expression var == "a"
by richie
Why var can not be used in the when clause? I tried to use it in then clause
such as modify ($d) {var = "d"}; it just worked well.
Is var a keyword in drools or mvel? I didn't find it anywhere both in drools
export doc and mvel guide.
Following is the content of my drl file:
package test
declare Dd
@propertyReactive
var : String
age : Integer
end
rule "Rule A"
dialect "mvel"
salience 0
no-loop
when
$d:Dd(var == "a")
then
modify ($d) {age = 3};
end
In the eclipse editor, it just shows an error marker before line $d:Dd(var
== "a"):
BuildError: Unable to Analyse Expression var == "a":
[Error: unexpected end of statement]
[Near : {... var == "a" ....}]
^
[Line: 14, Column: 0]
And when invoke the rule, it just threw following exception:
java.lang.RuntimeException: Error while creating KieBase[Message [id=1,
level=ERROR, path=rules/Sample.drl, line=14, column=0
text=Unable to Analyse Expression var == "a":
[Error: unexpected end of statement]
[Near : {... var == "a" ....}]
^
[Line: 14, Column: 0]]]
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:176)
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:315)
at
org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:290)
at com.sample.DroolsTest.main(DroolsTest.java:18)
I really appreciate any help you can provide.
--
View this message in context: http://drools.46999.n3.nabble.com/BuildError-Unable-to-Analyse-Expression...
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 3 months
Finalizing Drools 5.6
by Mario Fusco
Hi all,
we are about to finalize Drools 5.6 and we would like to complete this
process as soon as possible.
However we would also like to be sure that we are not leaving any important
fix out, so please, if you want to signal any outstanding issue, report it
with a proper reproducer within one week from today.
Moreover, before to file a new jira ticket, try to be reasonably sure that
you are not just duplicating an already existing reported issues: we fixed
lots of bugs in the last months, and I believe (or better I hope) that it
is quite improbable that there could be many problems still waiting to be
discovered and resolved.
Thanks for you help,
Mario
12 years, 3 months
kie-spring and drools-wb integration
by clayton.tabone
Hi,
In Drools 5 it was possible to configure a drools server (based off of the
drools-camel-server-example) and in the Spring configuration the resources
could point to assets from Guvnor. It was also possible to configure the
knowledge agent to poll these assets for changes.
In Drools/KIE 6 I am aware that the following things have changed (kindly
correct me if I'm wrong):
- Guvnor was replaced by Drools/KIE WB
- Drools/KIE WB no longer builds to the binary PKG format and
packages/publishes a Maven repository with kmodules instead
- The concept of KnowledgeAgent no longer exists or otherwise this might
have been superseded by the KIE scanner in KIE CI
- KIE CI uses Maven/Aether to resolve kmodules
- The XML schema for KIE Spring includes the same configuration attributes
like kmodule.xml
- The KIE Spring configuration can expose the Camel endpoints for the
ksessions via the KModuleBeanFactoryPostProcessor using the classpath
container
Is it possible to use the Spring configuration to configure a KContainer
which loads kmodules from Drools/KIE WB? The Spring configuration only seems
to allow the definition of kmodules in the classpath container.
Best regards,
Clayton
--
View this message in context: http://drools.46999.n3.nabble.com/kie-spring-and-drools-wb-integration-tp...
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 3 months
protobuf for marshalling
by Alexander Wolf
[Drools 5.5.0 Final]
Hey,
for using the marshaller I needed to add ProtoBuf jars to my project like this:
<!-- Protobuf (!important: v2.4.1) for marshalling drools knowledge sessions -->
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.4.1</version>
</dependency>
Is there any particular reason why it is not included in the drools jars or at least mentioned in the documentation?
Apparently drools (5.5) only works with v2.4.1 and not with the new v2.5 of ProtoBuf
- Alex
12 years, 3 months
Problem setting up Eclipse in Windows8 (Drools disappears, and most server options aren't displayed)
by ChayaCooper
I've installed Eclipse on two machines (one is running Windows 8 and the
other has Mac OS X v.10.5.8), but it doesn't seem to be running correctly in
Windows 8 as I'm experiencing two significant problems while setting up a
new project.
When I use the wizard to Define a New Server it only lists 2 Basic Server
Type options (HTTP Preview & HTTP Server), even once I've downloaded
additional servers/server adapters.
Drools is running correctly for me until I set the runtime and restart
Eclipse, when all the references to Drools vanish from the Eclipse workspace
(including Preferences, File -> New, Perspective, or even as a result when I
search in 'Quick Access'). It does however still showed Drools as installed
(when I click on 'What is already installed?'). I've tried reinstalling
Drools, as well as manually unzipping it and adding it to the plugin folder,
but it still isn't showing up in Eclipse. In order to verify that Drools
hadn't been corrupted, I created a 2nd instance of Eclipse on my desktop
(where I repeated the plugin installation process) with the exact same
result.
I've installed both Apache (Apache HTTP Server 2.2.25) and JBoss Application
Server 7 (EAP 6.1.0). In addition, I've downloaded JBoss Tools 4.1 to
address the potential issue raised in this post
https://community.jboss.org/en/tools/blog/2013/10/08/update-to-jboss-tool...
I'm running:
Eclipse Java EE IDE for Web Developers, Version: Kepler Service Release
1, Build id: 20130919-0819
Drools 6.0.0.CR4
Windows 8
--
View this message in context: http://drools.46999.n3.nabble.com/Problem-setting-up-Eclipse-in-Windows8-...
Sent from the Drools: User forum mailing list archive at Nabble.com.
12 years, 3 months