[jboss-jira] [JBoss JIRA] (DROOLS-366) ArrayIndexOutOfBoundsException when loading drools spring on tomcat eclipse

Rahul Makwana (JIRA) issues at jboss.org
Sat Apr 9 17:32:00 EDT 2016


    [ https://issues.jboss.org/browse/DROOLS-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13189417#comment-13189417 ] 

Rahul Makwana commented on DROOLS-366:
--------------------------------------

waas there any solution to this. i am facing same issue woth jboss

> ArrayIndexOutOfBoundsException when loading drools spring on tomcat eclipse
> ---------------------------------------------------------------------------
>
>                 Key: DROOLS-366
>                 URL: https://issues.jboss.org/browse/DROOLS-366
>             Project: Drools
>          Issue Type: Bug
>    Affects Versions: 5.5.0.Final
>         Environment: Windows 7
>            Reporter: prabuddha roy
>            Assignee: Mario Fusco
>             Fix For: 5.5.1.Final, 6.0.0.CR1
>
>
> Have a decision table rule which works fine with test cases under Drools-spring 5.4.0.Final or 5.5 as well.
> However while deploying the code on a Tomcat Eclipse its fails to initialize the kbase bean 
> with the following stack trace.
> {code}
> java.lang.ArrayIndexOutOfBoundsException: -1
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.consumeTypeParameters(Parser.java:7823)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:6431)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9339)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9571)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9528)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:8126)
> 	at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:712)
> 	at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:377)
> 	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:422)
> 	at org.drools.commons.jci.compilers.EclipseJavaCompiler.compile(EclipseJavaCompiler.java:389)
> 	at org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:49)
> 	at org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:410)
> 	at org.drools.compiler.DialectCompiletimeRegistry.compileAll(DialectCompiletimeRegistry.java:46)
> 	at org.drools.compiler.PackageRegistry.compileAll(PackageRegistry.java:103)
> 	at org.drools.compiler.PackageBuilder.compileAll(PackageBuilder.java:1194)
> 	at org.drools.compiler.PackageBuilder.compileAllRules(PackageBuilder.java:947)
> 	at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:936)
> 	at org.drools.compiler.PackageBuilder.addPackageFromDecisionTable(PackageBuilder.java:449)
> 	at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:713)
> 	at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:51)
> 	at org.drools.container.spring.beans.KnowledgeBaseBeanFactory.afterPropertiesSet(KnowledgeBaseBeanFactory.java:113)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:546)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:872)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
> 	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
> 	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
> 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
> 	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
> 	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
> 	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
> 	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
> 	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
> 	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
> 	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
> 	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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
> 	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
> Dec 5, 2013 7:34:46 PM org.apache.catalina.core.StandardContext listenerStart
> SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kbase': Invocation of init method failed; nested exception is java.lang.
> ArrayIndexOutOfBoundsException: -1
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
> 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
> 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
> 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:546)
> 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:872)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
> 	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
> 	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
> 	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
> 	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
> 	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
> 	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
> 	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
> 	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
> 	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
> 	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
> 	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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
> 	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.consumeTypeParameters(Parser.java:7823)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:6431)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9339)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9571)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9528)
> 	at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:8126)
> 	at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:712)
> 	at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:377)
> 	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:422)
> 	at org.drools.commons.jci.compilers.EclipseJavaCompiler.compile(EclipseJavaCompiler.java:389)
> 	at org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:49)
> 	at org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:410)
> 	at org.drools.compiler.DialectCompiletimeRegistry.compileAll(DialectCompiletimeRegistry.java:46)
> 	at org.drools.compiler.PackageRegistry.compileAll(PackageRegistry.java:103)
> 	at org.drools.compiler.PackageBuilder.compileAll(PackageBuilder.java:1194)
> 	at org.drools.compiler.PackageBuilder.compileAllRules(PackageBuilder.java:947)
> 	at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:936)
> 	at org.drools.compiler.PackageBuilder.addPackageFromDecisionTable(PackageBuilder.java:449)
> 	at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:713)
> 	at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:51)
> 	at org.drools.container.spring.beans.KnowledgeBaseBeanFactory.afterPropertiesSet(KnowledgeBaseBeanFactory.java:113)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
> 	... 27 more
> {code}
> Bean config xml - 
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
> 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xmlns:drools-spring="http://drools.org/schema/drools-spring"
> 	xsi:schemaLocation="http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd
> 		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
> 	<drools-spring:kbase id="kbase">
> 		<drools-spring:resources>
> 			<drools-spring:resource type="DTABLE" source="classpath:DummyRules.xls" >
> 				<drools-spring:decisiontable-conf input-type="XLS" worksheet-name="Tables"/>
> 			</drools-spring:resource>
> 		</drools-spring:resources>
> 	</drools-spring:kbase>
> 	<drools-spring:ksession id="ksession" type="stateless" kbase="kbase" />
> 		<bean id="connectPrivacyRule" class="foo.RulesEngine">
> 		<property name="ksession" ref="ksession" />
> 		<property name="kbase" ref="kbase" />
> 	</bean>
> </beans>
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list