[JBoss JIRA] (JBRULES-3393) Multi-threaded Benchmarker in Planner
by Geoffrey De Smet (JIRA)
Geoffrey De Smet created JBRULES-3393:
-----------------------------------------
Summary: Multi-threaded Benchmarker in Planner
Key: JBRULES-3393
URL: https://issues.jboss.org/browse/JBRULES-3393
Project: Drools
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: drools-planner
Affects Versions: 5.4.0.Beta2
Reporter: Geoffrey De Smet
Assignee: Geoffrey De Smet
The Benchmarker should be able to run multiple SolverBenchmarks in parallel, but probably no more then there are CPU's available.
It should be possibly to specify in the BenchmarkConfig as an absolute number and also relative to the number of CPU's (for example cpuCount - 1).
This is not an alternative to JBRULES-681 Mult-threaded Solver, nor does that make this obsolete. When you are running multiple Solvers at the same time in production on different problems, it makes sense to bind them to a single or a few threads. Yet it's annoying not to be able to make use of all cpu's during benchmarking.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] Created: (JBRULES-2875) Exception executing predicate with binding variable and or predicate
by alexandre alexandre (JIRA)
Exception executing predicate with binding variable and or predicate
--------------------------------------------------------------------
Key: JBRULES-2875
URL: https://issues.jboss.org/browse/JBRULES-2875
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.1.1.FINAL
Environment: Windows XP / DEBIAN / Eclipse 3.5.1
Reporter: alexandre alexandre
Assignee: Mark Proctor
Priority: Critical
Exception executing predicate with binding variable and or predicate
When I execute this kind of rule :
(where field id from Object Entity is an Integer.)
rule "test"
salience 20
when
(String() or Double())
$entity:Entity()
DroolsTest(entity.id == $entity.id )
then
System.out.println( "it works !" );
end
I got this exception :
Exception in thread "main" org.drools.RuntimeDroolsException: Exception executing predicate entite.id == $entite.id
at org.drools.rule.PredicateConstraint.isAllowedCachedLeft(PredicateConstraint.java:302)
at org.drools.common.SingleBetaConstraints.isAllowedCachedLeft(SingleBetaConstraints.java:142)
at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:83)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:64)
at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:85)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:138)
at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:148)
at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:190)
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:145)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1174)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1123)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:917)
at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:251)
at com.agysoft.marco.tools.tuOneShot.marcometier.drools.DroolsTest.main(DroolsTest.java:57)
Caused by: [Error: unable to resolve method: java.lang.String.id() [arglength=0]]
[Near : {... Unknown ....}]
^
[Line: 1, Column: 0]
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:932)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:592)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:311)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:137)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:137)
at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:111)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)
at org.mvel2.MVEL.executeExpression(MVEL.java:1001)
at org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:91)
at org.drools.rule.PredicateConstraint.isAllowedCachedLeft(PredicateConstraint.java:295)
... 16 more
this rule Works :
rule "test"
salience 20
when
$entity:Entity()
DroolsTest(entity.id == $entity.id )
then
System.out.println( "it works !" );
end
this rule Works :
rule "test"
salience 20
when
(String() or Double())
$entity:Entity()
DroolsTest(entity.id == $entity.id )
then
System.out.println( "it works !" );
end
---------------------------------------------------------------------------------------------------
variant case with another Exception :
rule "test"
salience 20
when
(String() or Double())
Entite($entiteId:id)
DroolsTest(entite.id == $entiteId )
then
System.out.println( "it works !" );
end
throw this Exception Stack :
Exception in thread "main" org.drools.RuntimeDroolsException: Exception executing predicate entite.id == $entiteId
at org.drools.rule.PredicateConstraint.isAllowedCachedLeft(PredicateConstraint.java:302)
at org.drools.common.SingleBetaConstraints.isAllowedCachedLeft(SingleBetaConstraints.java:142)
at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:83)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:64)
at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:85)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:138)
at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:148)
at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:190)
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:145)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1174)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1123)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:917)
at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:251)
at com.agysoft.marco.tools.tuOneShot.marcometier.drools.DroolsTest.main(DroolsTest.java:57)
Caused by: [Error: java.lang.String cannot be cast to com.agysoft.marco.tools.tuOneShot.marcometier.drools.Entite]
[Near : {... Unknown ....}]
^
[Line: 1, Column: 0]
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:387)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:137)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:137)
at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:111)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)
at org.mvel2.MVEL.executeExpression(MVEL.java:1001)
at org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:91)
at org.drools.rule.PredicateConstraint.isAllowedCachedLeft(PredicateConstraint.java:295)
... 16 more
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to com.agysoft.marco.tools.tuOneShot.marcometier.drools.Entite
at org.drools.base.com.agysoft.marco.tools.tuOneShot.marcometier.drools.Entite4694228$getId.getIntValue(Unknown Source)
at org.drools.base.extractors.BaseIntClassFieldReader.getValue(BaseIntClassFieldReader.java:52)
at org.drools.base.ClassFieldReader.getValue(ClassFieldReader.java:91)
at org.drools.rule.Declaration.getValue(Declaration.java:228)
at org.drools.base.mvel.DroolsMVELPreviousDeclarationVariable.getValue(DroolsMVELPreviousDeclarationVariable.java:83)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:454)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:311)
... 24 more
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] (AS7-2218) Management console broken after .war get deployed
by Anatoly Kupriyanov (Created) (JIRA)
Management console broken after .war get deployed
-------------------------------------------------
Key: AS7-2218
URL: https://issues.jboss.org/browse/AS7-2218
Project: Application Server 7
Issue Type: Bug
Affects Versions: 7.0.2.Final
Environment: Linux myhost 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:32:14 EDT 2005 i686 i686 i386 GNU/Linux
Reporter: Anatoly Kupriyanov
Priority: Critical
Management console stops working after I deploy a .war file. One way to fix - manually edit the standalone.xml file and remove the <deployments> section.
Console displays "No manageable subsystems exist." and all fails. There is an error message:
Unknown error
Unexpected HTTP response: 500
Request
{
"operation" => "read-children-resources",
"address" => [("subsystem" => "datasources")],
"child-type" => "xa-data-source"
}
Response
Internal Server Error
{
"outcome" => "failed",
"failure-description" => "Operation handler failed: java.util.NoSuchElementException: \"subsystem\" => \"datasources\"",
"rolled-back" => true
}
log has:
13:52:03,200 ERROR [org.jboss.as.controller] (HttpManagementService-threads - 1) Operation ("read-children-resources") failed - address: ([("subsystem" => "datasources")]): java.util.NoSuchElementException: "subsystem" => "datasources"
at org.jboss.as.controller.registry.BasicResource.requireChild(BasicResource.java:95) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.ModelControllerImpl$RootResource.requireChild(ModelControllerImpl.java:423) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.OperationContextImpl.readResource(OperationContextImpl.java:764) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.operations.global.GlobalOperationHandlers$ReadChildrenResourcesOperationHandler.execute(GlobalOperationHandlers.java:487) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.OperationContextImpl.executeStep(OperationContextImpl.java:353) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.OperationContextImpl.doCompleteStep(OperationContextImpl.java:298) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.OperationContextImpl.completeStep(OperationContextImpl.java:223) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.ModelControllerImpl$DefaultPrepareStepHandler.execute(ModelControllerImpl.java:350) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.OperationContextImpl.executeStep(OperationContextImpl.java:353) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.OperationContextImpl.doCompleteStep(OperationContextImpl.java:298) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.OperationContextImpl.completeStep(OperationContextImpl.java:223) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:119) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.ModelControllerImpl$1.execute(ModelControllerImpl.java:209) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.controller.ModelControllerImpl$1.execute(ModelControllerImpl.java:199) [jboss-as-controller-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.domain.http.server.DomainApiHandler.processRequest(DomainApiHandler.java:188)
at org.jboss.as.domain.http.server.DomainApiHandler.handle(DomainApiHandler.java:123)
at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
at org.jboss.sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:80)
at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
at org.jboss.sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:689)
at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
at org.jboss.sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:661)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_23]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_23]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] (AS7-3129) CDI request scope is not active during remote EJB method invocation
by Vlastimil Menčík (Created) (JIRA)
CDI request scope is not active during remote EJB method invocation
-------------------------------------------------------------------
Key: AS7-3129
URL: https://issues.jboss.org/browse/AS7-3129
Project: Application Server 7
Issue Type: Bug
Components: CDI / Weld, EJB
Affects Versions: 7.1.0.CR1
Reporter: Vlastimil Menčík
Assignee: Stuart Douglas
The JSR-299 clearly states that the request scope is active:
??during any remote method invocation of any EJB, during any asynchronous method invocation of any EJB, during any call to an EJB timeout method and during message delivery to any EJB message-driven bean??
But in AS 7.1 CR1 the following exception occurs (CalculatorBean is a trivial stateless EJB that injects a request-scoped CDI bean):
ERROR [org.jboss.ejb3.invocation] (pool-9-thread-2) JBAS014134: EJB Invocation failed on component CalculatorBean for method public abstract int example.Calculator.subtract(int,int): javax.ejb.EJBException: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:166)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:230)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropogatingInterceptor.processInvocation(EJBRemoteTransactionPropogatingInterceptor.java:80)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:57)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.invokeMethod(MethodInvocationMessageHandler.java:283)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$200(MethodInvocationMessageHandler.java:61)
at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:191)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [:1.7.0]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [:1.7.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:166) [:1.7.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0]
at java.lang.Thread.run(Thread.java:722) [:1.7.0]
at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
Caused by: org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:598)
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:71)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79)
at example.Subtractor$Proxy$_$$_WeldClientProxy.subtract(Subtractor$Proxy$_$$_WeldClientProxy.java)
at example.CalculatorBean.subtract(CalculatorBean.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.7.0]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [:1.7.0]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.7.0]
at java.lang.reflect.Method.invoke(Method.java:601) [:1.7.0]
at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:122)
at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:130)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:37)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:37)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:45)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228)
... 25 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months
[JBoss JIRA] Created: (JBRULES-3145) Types declared in DRL with no fields are not included in KnowledgeBase compiled by ChangeSet
by John Fullard (JIRA)
Types declared in DRL with no fields are not included in KnowledgeBase compiled by ChangeSet
--------------------------------------------------------------------------------------------
Key: JBRULES-3145
URL: https://issues.jboss.org/browse/JBRULES-3145
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 5.2.0.Final
Environment: Drools 5.2.0 Final, Guvnor 5.2.0 Final
Reporter: John Fullard
Assignee: Mark Proctor
Setting up KnowledgeBase using KnowledgeAgent which is pulling package from Guvnor. DRL declares type, which already exists in client model, with @role(event) and no fields. Get the following stack trace when inserting an object:
java.lang.NullPointerException
at org.drools.reteoo.ReteooFactHandleFactory.newFactHandle(ReteooFactHandleFactory.java:56)
at org.drools.common.AbstractFactHandleFactory.newFactHandle(AbstractFactHandleFactory.java:80)
at org.drools.common.AbstractFactHandleFactory.newFactHandle(AbstractFactHandleFactory.java:65)
at org.drools.common.NamedEntryPoint.createHandle(NamedEntryPoint.java:705)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:282)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:905)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:864)
at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:255)
at john.DroolsError.runRules(DroolsError.java:48)
at john.DroolsError.main(DroolsError.java:40)
If the type is fully declared in the DRL, the NPE does not occur.
When compiling a DRL from a Change Set, the resulting package in the Knowledge Base does not contain declare'd types that do not contain fields; it only contains declares with at least one field. This results in a ClassObjectTypeConf with a typeDecl == null.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 2 months