You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
使用最新的3.1.2版本,按照使用指导配置了spring-startup-analyzer.app.health.check.endpoints,改造了启动脚本,加入了-javaagent:选项。
启动后,报错
Exception in thread "StartupMonitor-Thread" com.alibaba.fastjson.JSONException: toJSONString error
at com.alibaba.fastjson.JSON.toJSONString(JSON.java:1545)
at io.github.linyimin0812.profiler.common.ui.StartupVO.toJSONString(StartupVO.java:55)
at io.github.linyimin0812.profiler.core.container.IocContainer.writeStartupVOToHtml(IocContainer.java:107)
at io.github.linyimin0812.profiler.core.container.IocContainer.stop(IocContainer.java:94)
at io.github.linyimin0812.profiler.core.monitor.StartupMonitor.checkStatus(StartupMonitor.java:44)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.IllegalStateException: InputStream has already been read - do not use InputStreamResource if a stream needs to be read multiple times
at org.springframework.core.io.InputStreamResource.getInputStream(InputStreamResource.java:97)
at com.alibaba.fastjson2.writer.FieldWriterObjectFunc.getFieldValue(FieldWriterObjectFunc.java:36)
at com.alibaba.fastjson2.writer.FieldWriterObject.write(FieldWriterObject.java:222)
at com.alibaba.fastjson2.writer.ObjectWriterAdapter.writeWithFilter(ObjectWriterAdapter.java:475)
at com.alibaba.fastjson2.writer.ObjectWriter8.write(ObjectWriter8.java:73)
at com.alibaba.fastjson2.writer.FieldWriterObject.write(FieldWriterObject.java:354)
at com.alibaba.fastjson2.writer.ObjectWriterAdapter.writeWithFilter(ObjectWriterAdapter.java:475)
at com.alibaba.fastjson2.writer.ObjectWriterAdapter.write(ObjectWriterAdapter.java:295)
at com.alibaba.fastjson2.writer.ObjectWriterArray.write(ObjectWriterArray.java:85)
at com.alibaba.fastjson2.writer.OWG_4_4_MethodInvokeDetail.write(Unknown Source)
at com.alibaba.fastjson2.writer.FieldWriterList.writeList(FieldWriterList.java:253)
at com.alibaba.fastjson2.writer.OWG_3_5_MethodInvokeMetrics.write(Unknown Source)
at com.alibaba.fastjson2.writer.ObjectWriterImplList.write(ObjectWriterImplList.java:371)
at com.alibaba.fastjson.JSON.toJSONString(JSON.java:1537)
... 5 more
可见3.1.2用了fastjson2。
退回去用3.1.1版本,StartupMonitor-Thread线程依然报错:
Exception in thread "StartupMonitor-Thread" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:911)
at java.util.ArrayList$Itr.next(ArrayList.java:861)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:96)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:61)
at com.google.gson.Gson.toJson(Gson.java:842)
at com.google.gson.Gson.toJson(Gson.java:812)
at com.google.gson.Gson.toJson(Gson.java:759)
at com.google.gson.Gson.toJson(Gson.java:736)
at io.github.linyimin0812.profiler.common.ui.StartupVO.toJSONString(StartupVO.java:59)
at io.github.linyimin0812.profiler.core.container.IocContainer.writeStartupVOToHtml(IocContainer.java:107)
at io.github.linyimin0812.profiler.core.container.IocContainer.stop(IocContainer.java:94)
at io.github.linyimin0812.profiler.core.monitor.StartupMonitor.checkStatus(StartupMonitor.java:44)
at java.lang.Thread.run(Thread.java:750)
还有:
Exception in thread "StartupMonitor-Thread" java.lang.NullPointerException
at io.github.linyimin0812.profiler.common.ui.StartupVO.lambda$calculateInvokeMetrics$1(StartupVO.java:84)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at io.github.linyimin0812.profiler.common.ui.StartupVO.calculateInvokeMetrics(StartupVO.java:84)
at io.github.linyimin0812.profiler.common.ui.StartupVO.toJSONString(StartupVO.java:61)
at io.github.linyimin0812.profiler.core.container.IocContainer.writeStartupVOToHtml(IocContainer.java:107)
at io.github.linyimin0812.profiler.core.container.IocContainer.stop(IocContainer.java:94)
at io.github.linyimin0812.profiler.core.monitor.StartupMonitor.checkStatus(StartupMonitor.java:44)
at java.lang.Thread.run(Thread.java:750)
使用最新的3.1.2版本,按照使用指导配置了spring-startup-analyzer.app.health.check.endpoints,改造了启动脚本,加入了-javaagent:选项。
启动后,报错
Exception in thread "StartupMonitor-Thread" com.alibaba.fastjson.JSONException: toJSONString error
at com.alibaba.fastjson.JSON.toJSONString(JSON.java:1545)
at io.github.linyimin0812.profiler.common.ui.StartupVO.toJSONString(StartupVO.java:55)
at io.github.linyimin0812.profiler.core.container.IocContainer.writeStartupVOToHtml(IocContainer.java:107)
at io.github.linyimin0812.profiler.core.container.IocContainer.stop(IocContainer.java:94)
at io.github.linyimin0812.profiler.core.monitor.StartupMonitor.checkStatus(StartupMonitor.java:44)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.IllegalStateException: InputStream has already been read - do not use InputStreamResource if a stream needs to be read multiple times
at org.springframework.core.io.InputStreamResource.getInputStream(InputStreamResource.java:97)
at com.alibaba.fastjson2.writer.FieldWriterObjectFunc.getFieldValue(FieldWriterObjectFunc.java:36)
at com.alibaba.fastjson2.writer.FieldWriterObject.write(FieldWriterObject.java:222)
at com.alibaba.fastjson2.writer.ObjectWriterAdapter.writeWithFilter(ObjectWriterAdapter.java:475)
at com.alibaba.fastjson2.writer.ObjectWriter8.write(ObjectWriter8.java:73)
at com.alibaba.fastjson2.writer.FieldWriterObject.write(FieldWriterObject.java:354)
at com.alibaba.fastjson2.writer.ObjectWriterAdapter.writeWithFilter(ObjectWriterAdapter.java:475)
at com.alibaba.fastjson2.writer.ObjectWriterAdapter.write(ObjectWriterAdapter.java:295)
at com.alibaba.fastjson2.writer.ObjectWriterArray.write(ObjectWriterArray.java:85)
at com.alibaba.fastjson2.writer.OWG_4_4_MethodInvokeDetail.write(Unknown Source)
at com.alibaba.fastjson2.writer.FieldWriterList.writeList(FieldWriterList.java:253)
at com.alibaba.fastjson2.writer.OWG_3_5_MethodInvokeMetrics.write(Unknown Source)
at com.alibaba.fastjson2.writer.ObjectWriterImplList.write(ObjectWriterImplList.java:371)
at com.alibaba.fastjson.JSON.toJSONString(JSON.java:1537)
... 5 more
可见3.1.2用了fastjson2。
退回去用3.1.1版本,StartupMonitor-Thread线程依然报错:
Exception in thread "StartupMonitor-Thread" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:911)
at java.util.ArrayList$Itr.next(ArrayList.java:861)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:96)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:61)
at com.google.gson.Gson.toJson(Gson.java:842)
at com.google.gson.Gson.toJson(Gson.java:812)
at com.google.gson.Gson.toJson(Gson.java:759)
at com.google.gson.Gson.toJson(Gson.java:736)
at io.github.linyimin0812.profiler.common.ui.StartupVO.toJSONString(StartupVO.java:59)
at io.github.linyimin0812.profiler.core.container.IocContainer.writeStartupVOToHtml(IocContainer.java:107)
at io.github.linyimin0812.profiler.core.container.IocContainer.stop(IocContainer.java:94)
at io.github.linyimin0812.profiler.core.monitor.StartupMonitor.checkStatus(StartupMonitor.java:44)
at java.lang.Thread.run(Thread.java:750)
可见虽然3.1.1版本用的是gson,但是代码存在线程安全性问题,故而ConcurrentModificationException异常。
The text was updated successfully, but these errors were encountered: