0

I am working on product built in spring 3 ,I am using JAVA 8 in this, and working fine. The problem is that, when i try to used java 8 stream api my application doesn't work. not able to create spring context environment. Example:

I have written below code in java name "PmActionManager" which is spring bean

public void getPMList(int pageNo,ListActionForm form,SessionBean ssUser,boolean isPlanned,boolean all,String aggregate,String aggregateBy)throws Exception{
        try{
            ListVw lstvw = null;
            int maxResult = 25;
            int totalRecords = 0;

            lstvw = vwService.getPmList(ssUser.getDel_ind(), ssUser.getDel_main_ind(),ssUser.getUsr_ind(),isPlanned, pageNo, maxResult, totalRecords,form.isActiveOnly(),all,aggregate,aggregateBy,form.getSortByFld(),form.getSort_By());


          // below line of code cause issue, if I remove this, then it will work
            *lstvw.getPgListBean().getDataList().stream().forEach(a->{
                System.out.println(a);
            });*


            form.setActiveOnly(isPlanned);
            form.setDataList(lstvw.getPgListBean());
            form.setTotalRecord(lstvw.getTotalRecords());

        }catch(Exception ex){

            throw ex;           
        }
    }

Error:

Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/7.0.96
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Jul 24 2019 13:00:10 UTC
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         7.0.96.0
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 10
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            10.0
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jdk1.8.0_221\jre
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_221-b11
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         D:\Work\Work SpaceS\testt\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         D:\Work\Used Tomcat\apache-tomcat-7.0.96
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=D:\Work\Work SpaceS\testt\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=D:\Work\Used Tomcat\apache-tomcat-7.0.96
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=D:\Work\Work SpaceS\testt\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=D:\Work\Used Tomcat\apache-tomcat-7.0.96\endorsed
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Apr 16, 2020 5:28:39 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_221\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\PuTTY\;C:\Program Files\nodejs\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\PuTTY\;C:\Program Files\nodejs\;C:\Users\Sachin\AppData\Local\Microsoft\WindowsApps;C:\Users\Sachin\AppData\Roaming\npm;C:\Users\Sachin\AppData\Local\Programs\Microsoft VS Code\bin;D:\Work\Software\apache-maven-3.6.2\bin;C:\Program Files\SmartGit\git\bin;%JAVA_HOME%\bin;D:\Work\spark\spark-3.0.0-preview2-bin-hadoop2.7\spark-3.0.0-preview2-bin-hadoop2.7\bin;D:\Work\hadoop\hadoop-common-2.2.0-bin-master\hadoop-common-2.2.0-bin-master\bin;;.
Apr 16, 2020 5:28:39 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-9090"]
Apr 16, 2020 5:28:39 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-9009"]
Apr 16, 2020 5:28:39 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 562 ms
Apr 16, 2020 5:28:39 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Apr 16, 2020 5:28:39 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.96
Apr 16, 2020 5:28:39 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
WARNING: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [164] milliseconds.
Apr 16, 2020 5:28:39 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(D:\Work\Work SpaceS\testt\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\testt\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: /tags/ab-html is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-bean is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-tiles is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-html is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-bean is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-html is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-tiles is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-tiles is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-bean is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-html is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-logic is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://struts.apache.org/tags-nested is already defined
Apr 16, 2020 5:28:41 PM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Apr 16, 2020 5:28:41 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
Apr 16, 2020 5:28:42 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.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [spring-context.xml]
Offending resource: ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\Work\Work SpaceS\testt\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\testt\WEB-INF\classes\com\testt\ab\service\workorder\WorkOrderActionManager.class]; nested exception is java.lang.ArrayIndexOutOfBoundsException: 19562
    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:219)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:148)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:133)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:458)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:388)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5197)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5720)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1707)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1697)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\Work\Work SpaceS\testt\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\testt\WEB-INF\classes\com\testt\ab\service\workorder\WorkOrderActionManager.class]; nested exception is java.lang.ArrayIndexOutOfBoundsException: 19562
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:237)
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:204)
    at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:84)
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1335)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1325)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:136)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:203)
    ... 27 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 19562
    at org.springframework.asm.ClassReader.readClass(Unknown Source)
    at org.springframework.asm.ClassReader.accept(Unknown Source)
    at org.springframework.asm.ClassReader.accept(Unknown Source)
    at org.springframework.core.type.classreading.SimpleMetadataReader.getAnnotationMetadata(SimpleMetadataReader.java:79)
    at org.springframework.core.type.filter.AnnotationTypeFilter.matchSelf(AnnotationTypeFilter.java:68)
    at org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter.match(AbstractTypeHierarchyTraversingFilter.java:55)
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.isCandidateComponent(ClassPathScanningCandidateComponentProvider.java:280)
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:214)
    ... 39 more

Apr 16, 2020 5:28:42 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Apr 16, 2020 5:28:42 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/testt] startup failed due to previous errors
Apr 16, 2020 5:28:42 PM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
Apr 16, 2020 5:28:42 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-9090"]
Apr 16, 2020 5:28:42 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-9009"]
Apr 16, 2020 5:28:42 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2810 ms

Sachin Kumar
  • 1,055
  • 9
  • 15
  • Seems you failed to include the full stacktrace information. The real error is `ArrayIndexOutOfBoundsException: 2643`, but without the stacktrace for it, it's difficult to say why it failed. --- I bet the code would fail the same if you didn't use the Stream API: `for (Object a : lstvw.getPgListBean().getDataList()) { System.out.println(a); }` – Andreas Apr 16 '20 at 10:04
  • When I start tomcat, then I face this issue, If i removed stream code, then tomcat get start without any error – Sachin Kumar Apr 16 '20 at 11:43
  • If you want help, you should follow up on the first statement in my earlier comment: *You failed to include the **full** stacktrace*. We need to find the statement that throws the ArrayIndexOutOfBoundsException – Andreas Apr 16 '20 at 11:50
  • pls check, I have share complete stack trace – Sachin Kumar Apr 16 '20 at 12:04
  • Spring 3 does not support Java 8. See link up top. – Andreas Apr 16 '20 at 12:08
  • 1
    Hello @Andreas, I have updated he version, streaming working – Sachin Kumar Apr 24 '20 at 08:24

0 Answers0