ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Unable to read class [XXXXXXX]} java.lang. ArrayIndexOutOfBoundsException

2021-12-17 17:02:44  阅读:171  来源: 互联网

标签:lang ArrayIndexOutOfBoundsException java invoke sun apache org rmi


  • Java代码
@Component
public class FcmHelper {
    private static final Logger log = LoggerFactory.getLogger(FcmHelper.class);

    private static String APP_ID = "";
    private static String SECRET_KEY = "";
    private static String CHECK_URL = "";
    private static String QUERY_URL = "";
    private static String REPORT_URL = "";

    private static final Integer REQ_SUCCESS = 0;
    private static final Integer AUTHING = 1;
    private static final String UTF8 = "UTF-8";

    private Long FLAG_TIMESTAMP = 0L;//时间上报里程碑
    private final static Integer DURATION = 120 * 1000;//每组行为数据最早行为发生时间与数据上报时间的差值,规定180秒,取120秒
    private final static Integer MAX = 300;//最大发送条数,规定128条,单集群3个节点的情况下取40条

    /**
     * 每秒钟检查是否需要提交
     * 提交情况(限定在一秒内):
     * 1、提交列表行为条数 < MAX
     * 2、最后一条数据发生的时间 < 上报的时间 <(第一条数据发生的时间 +DURATION)
     */
    @Scheduled(cron = "* * * * * ?")
    public void ifNeedSumbit() {
        for (Map.Entry<String, List<GameActionRequest>> entry : gameMaps.entrySet()) {
            ...
            ...
            ...
            if (lastTs <= now && now <= firstTs + DURATION) {
                if (number < MAX) {
                    report(bizId);
                } else {
                    requests.removeIf(request -> request.getNo() <= MAX);
                    requests.replaceAll(request -> {
                        request.setNo(request.getNo() - MAX);
                        return request;
                    });
                    gameMaps.put(bizId, requests);
                    report(bizId);
                }
            } else {
                gameMaps.get(bizId).clear();
            }

        }
    }
  
  					...
            ...
            ...

}

  • 日志报错
2021-12-17 16:40:17  ERROR [com.opensymphony.xwork2.util.logging.commons.CommonsLogger] - {Unable to read class [com.xysdk.api.job.callback.CallbackMonitor]}
java.lang.ArrayIndexOutOfBoundsException: 52264
	at org.objectweb.asm.xwork.ClassReader.readClass(Unknown Source)
	at org.objectweb.asm.xwork.ClassReader.accept(Unknown Source)
	at org.objectweb.asm.xwork.ClassReader.accept(Unknown Source)
	at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:764)
	at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:149)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:352)
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:317)
	at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:204)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
	at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.init(StrutsPrepareFilter.java:50)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:106)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4554)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5194)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1767)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:286)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:431)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:286)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
	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)
  • 原因:struts2所需依赖包asm低版本和java8 Lambda表达式不兼容

  • 解决:不适用Lambda表达式,或者升级依赖版本

标签:lang,ArrayIndexOutOfBoundsException,java,invoke,sun,apache,org,rmi
来源: https://blog.csdn.net/XJYPC/article/details/121999553

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有