增加异步能力
parent
05ba1395f1
commit
0eaf361577
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
|||||||
2026-03-20 14:53:51.530 [main] INFO [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 开始初始化设备: SN=10.141.128.205, Type=1
|
|
||||||
2026-03-20 14:53:52.182 [main] INFO [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 打开失败,第 1 次重试,错误码: -15
|
|
||||||
2026-03-20 14:53:53.203 [main] INFO [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 打开失败,第 2 次重试,错误码: -15
|
|
||||||
2026-03-20 14:53:54.225 [main] INFO [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 打开失败,第 3 次重试,错误码: -15
|
|
||||||
2026-03-20 14:53:55.250 [main] ERROR [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 重试 3 次后仍然失败
|
|
||||||
2026-03-20 14:53:55.251 [main] ERROR [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 初始化失败,错误码: -15
|
|
||||||
2026-03-20 15:05:48.152 [main] INFO [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 开始初始化设备: SN=10.141.128.205, Type=1
|
|
||||||
2026-03-20 15:05:48.787 [main] INFO [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 打开失败,第 1 次重试,错误码: -15
|
|
||||||
2026-03-20 15:05:49.836 [main] INFO [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 打开失败,第 2 次重试,错误码: -15
|
|
||||||
2026-03-20 15:05:50.860 [main] INFO [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 打开失败,第 3 次重试,错误码: -15
|
|
||||||
2026-03-20 15:05:51.882 [main] ERROR [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 重试 3 次后仍然失败
|
|
||||||
2026-03-20 15:05:51.882 [main] ERROR [c.e.l.s.I.camera.lx.LxPointCloudSaveImage] - 设备 10.141.128.205 初始化失败,错误码: -15
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,2 +1,2 @@
|
|||||||
2026-04-24 00:10:00.602 [scheduling-1] INFO [com.example.lxcameraapi.service.cron.CronTab] - corn delete file
|
2026-05-12 00:10:00.167 [scheduling-1] INFO [com.example.lxcameraapi.service.cron.CronTab] - corn delete file
|
||||||
2026-04-24 00:10:00.610 [scheduling-1] INFO [com.example.lxcameraapi.service.cron.CronTab] - free space :0
|
2026-05-12 00:10:00.173 [scheduling-1] INFO [com.example.lxcameraapi.service.cron.CronTab] - free space :0
|
||||||
|
|||||||
@ -1,100 +0,0 @@
|
|||||||
2026-03-20 14:46:26.727 [main] ERROR [org.springframework.boot.SpringApplication] - Application run failed
|
|
||||||
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\git\测试\lxCameraApi\target\classes\com\example\lxcameraapi\LxCameraApiApplication.class]; nested exception is org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [D:\git\测试\lxCameraApi\target\classes\com\example\lxcameraapi\LxCameraApiApplication.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 65
|
|
||||||
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:452)
|
|
||||||
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:315)
|
|
||||||
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:276)
|
|
||||||
at org.springframework.context.annotation.ComponentScanAnnotationParser.parse(ComponentScanAnnotationParser.java:132)
|
|
||||||
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:295)
|
|
||||||
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:249)
|
|
||||||
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:206)
|
|
||||||
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:174)
|
|
||||||
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:319)
|
|
||||||
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:236)
|
|
||||||
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:280)
|
|
||||||
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:96)
|
|
||||||
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:707)
|
|
||||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:533)
|
|
||||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143)
|
|
||||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
|
|
||||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750)
|
|
||||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
|
|
||||||
at com.example.lxcameraapi.LxCameraApiApplication.main(LxCameraApiApplication.java:18)
|
|
||||||
Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [D:\git\测试\lxCameraApi\target\classes\com\example\lxcameraapi\LxCameraApiApplication.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 65
|
|
||||||
at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:60)
|
|
||||||
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49)
|
|
||||||
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103)
|
|
||||||
at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:123)
|
|
||||||
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:429)
|
|
||||||
... 21 common frames omitted
|
|
||||||
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 65
|
|
||||||
at org.springframework.asm.ClassReader.<init>(ClassReader.java:196)
|
|
||||||
at org.springframework.asm.ClassReader.<init>(ClassReader.java:177)
|
|
||||||
at org.springframework.asm.ClassReader.<init>(ClassReader.java:163)
|
|
||||||
at org.springframework.asm.ClassReader.<init>(ClassReader.java:284)
|
|
||||||
at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:57)
|
|
||||||
... 25 common frames omitted
|
|
||||||
2026-03-20 14:51:17.986 [main] ERROR [org.springframework.boot.SpringApplication] - Application run failed
|
|
||||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'init': Invocation of init method failed
|
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:222)
|
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:421)
|
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1767)
|
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601)
|
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
|
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
|
|
||||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
|
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
|
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
|
|
||||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973)
|
|
||||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946)
|
|
||||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616)
|
|
||||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
|
|
||||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753)
|
|
||||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:323)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1342)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1331)
|
|
||||||
at com.example.lxcameraapi.LxCameraApiApplication.main(LxCameraApiApplication.java:18)
|
|
||||||
Caused by: java.lang.NumberFormatException: For input string: "{"
|
|
||||||
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
|
|
||||||
at java.base/jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
|
|
||||||
at java.base/java.lang.Double.parseDouble(Double.java:792)
|
|
||||||
at com.example.lxcameraapi.service.IndustrialCamera.distinguish.Calibration.init(Calibration.java:102)
|
|
||||||
at com.example.lxcameraapi.conf.Init.hikInit(Init.java:24)
|
|
||||||
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
|
||||||
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457)
|
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401)
|
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219)
|
|
||||||
... 18 common frames omitted
|
|
||||||
2026-03-20 14:53:55.298 [main] ERROR [org.springframework.boot.SpringApplication] - Application run failed
|
|
||||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'init': Invocation of init method failed
|
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:222)
|
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:421)
|
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1767)
|
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601)
|
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
|
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
|
|
||||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
|
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
|
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
|
|
||||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973)
|
|
||||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946)
|
|
||||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616)
|
|
||||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
|
|
||||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753)
|
|
||||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:323)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1342)
|
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1331)
|
|
||||||
at com.example.lxcameraapi.LxCameraApiApplication.main(LxCameraApiApplication.java:18)
|
|
||||||
Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.size()" because the return value of "com.example.lxcameraapi.conf.AppConfig.getHikCamera()" is null
|
|
||||||
at com.example.lxcameraapi.conf.Init.hikInit(Init.java:26)
|
|
||||||
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
|
||||||
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457)
|
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401)
|
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219)
|
|
||||||
... 18 common frames omitted
|
|
||||||
@ -1,55 +1,240 @@
|
|||||||
2026-04-23 09:40:31.138 [main] ERROR [org.springframework.boot.SpringApplication] - Application run failed
|
2026-05-12 01:30:15.285 [task-2363] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'categoryController': Injection of resource dependencies failed
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:323)
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420)
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600)
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973)
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946)
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616)
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753)
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455)
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:323)
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1342)
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1331)
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
at com.example.lxcameraapi.LxCameraApiApplication.main(LxCameraApiApplication.java:18)
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ONNXServiceNew': Invocation of init method failed
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:222)
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:421)
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1767)
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601)
|
2026-05-12 01:31:24.493 [task-2369] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1441)
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348)
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:530)
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:508)
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:659)
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:270)
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145)
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:320)
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
... 17 common frames omitted
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
Caused by: java.lang.RuntimeException: ai.onnxruntime.OrtException: Error code - ORT_NO_SUCHFILE - message: Load model from E:/10/qrcode.onnx failed:Load model E:/10/qrcode.onnx failed. File doesn't exist
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
at com.example.lxcameraapi.service.IndustrialCamera.algorithm.ONNXServiceNew.initSession(ONNXServiceNew.java:429)
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457)
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401)
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219)
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
... 34 common frames omitted
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
Caused by: ai.onnxruntime.OrtException: Error code - ORT_NO_SUCHFILE - message: Load model from E:/10/qrcode.onnx failed:Load model E:/10/qrcode.onnx failed. File doesn't exist
|
2026-05-12 01:32:31.568 [task-2375] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
at ai.onnxruntime.OrtSession.createSession(Native Method)
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
at ai.onnxruntime.OrtSession.<init>(OrtSession.java:74)
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
at ai.onnxruntime.OrtEnvironment.createSession(OrtEnvironment.java:236)
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
at ai.onnxruntime.OrtEnvironment.createSession(OrtEnvironment.java:221)
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
at com.example.lxcameraapi.service.IndustrialCamera.algorithm.ONNXServiceNew.initSession(ONNXServiceNew.java:371)
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
... 39 common frames omitted
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-05-12 01:33:06.711 [task-2378] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-05-12 02:21:53.398 [task-2636] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-05-12 02:22:59.645 [task-2642] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-05-12 02:24:09.161 [task-2648] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-05-12 04:03:44.191 [task-3176] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-05-12 04:04:17.137 [task-3179] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
2026-05-12 04:04:50.974 [task-3182] ERROR [c.e.lxcameraapi.service.AsyncProcessingService] - 异步任务执行异常
|
||||||
|
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 1
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)
|
||||||
|
at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112)
|
||||||
|
at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349)
|
||||||
|
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4849)
|
||||||
|
at java.base/java.lang.String.substring(String.java:2823)
|
||||||
|
at com.example.lxcameraapi.service.AsyncProcessingService.processQrCodeAsync(AsyncProcessingService.java:168)
|
||||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
|
||||||
|
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
|
||||||
|
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
|
||||||
|
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
|
||||||
|
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
|
||||||
|
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
|
||||||
|
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
|
||||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
|
||||||
|
at java.base/java.lang.Thread.run(Thread.java:1583)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -0,0 +1,239 @@
|
|||||||
|
package com.example.lxcameraapi.service;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.net.HttpURLConnection;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTTP通知服务 - 异步发送检测结果
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class HttpNotifyService {
|
||||||
|
|
||||||
|
private static final int CONNECT_TIMEOUT = 5000;
|
||||||
|
private static final int READ_TIMEOUT = 10000;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送箱子计数结果到 singleInventoryReturn
|
||||||
|
*
|
||||||
|
* @param ip 目标IP
|
||||||
|
* @param port 目标端口
|
||||||
|
* @param path 目标路径
|
||||||
|
* @param taskId 任务ID
|
||||||
|
* @param scanType 扫描类型
|
||||||
|
* @param result 计数结果
|
||||||
|
* @param imagePath 图片路径
|
||||||
|
* @param totalBoxCount 总箱子数
|
||||||
|
* @return 是否发送成功
|
||||||
|
*/
|
||||||
|
public boolean sendBoxCountResult(String ip, int port, String path, String taskId, String scanType, String result, String imagePath, int totalBoxCount) {
|
||||||
|
String targetUrl = String.format("http://%s:%d%s", ip, port, path);
|
||||||
|
log.info("发送箱子计数结果到: {}", targetUrl);
|
||||||
|
|
||||||
|
HttpURLConnection connection = null;
|
||||||
|
try {
|
||||||
|
URL url = new URL(targetUrl);
|
||||||
|
connection = (HttpURLConnection) url.openConnection();
|
||||||
|
connection.setRequestMethod("POST");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json");
|
||||||
|
connection.setDoOutput(true);
|
||||||
|
connection.setConnectTimeout(CONNECT_TIMEOUT);
|
||||||
|
connection.setReadTimeout(READ_TIMEOUT);
|
||||||
|
|
||||||
|
String jsonBody = String.format(
|
||||||
|
"{\"taskId\":\"%s\",\"result\":\"%s\",\"scanType\":\"%s\",\"imagePath\":\"%s\",\"totalBoxCount\":%d}",
|
||||||
|
escapeJson(taskId),
|
||||||
|
escapeJson(result),
|
||||||
|
escapeJson(scanType),
|
||||||
|
escapeJson(imagePath),
|
||||||
|
totalBoxCount
|
||||||
|
);
|
||||||
|
System.out.println(jsonBody);
|
||||||
|
|
||||||
|
try (OutputStream os = connection.getOutputStream()) {
|
||||||
|
byte[] input = jsonBody.getBytes(StandardCharsets.UTF_8);
|
||||||
|
os.write(input, 0, input.length);
|
||||||
|
os.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
int responseCode = connection.getResponseCode();
|
||||||
|
log.info("HTTP响应码: {}, 目标: {}", responseCode, targetUrl);
|
||||||
|
|
||||||
|
boolean success = responseCode >= 200 && responseCode < 300;
|
||||||
|
if (success) {
|
||||||
|
log.info("箱子计数结果发送成功: {}", targetUrl);
|
||||||
|
} else {
|
||||||
|
log.warn("箱子计数结果返回非成功状态码: {} - {}", responseCode, targetUrl);
|
||||||
|
}
|
||||||
|
return success;
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("发送箱子计数结果失败: {}", targetUrl, e);
|
||||||
|
return false;
|
||||||
|
} finally {
|
||||||
|
if (connection != null) {
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送二维码识别结果到 singleInventoryQrCodeReturn
|
||||||
|
*
|
||||||
|
* @param ip 目标IP
|
||||||
|
* @param port 目标端口
|
||||||
|
* @param path 目标路径
|
||||||
|
* @param taskId 任务ID
|
||||||
|
* @param result 识别结果
|
||||||
|
* @param imagePath 图片路径
|
||||||
|
* @param qrCodeResults 二维码结果列表
|
||||||
|
* @return 是否发送成功
|
||||||
|
*/
|
||||||
|
public boolean sendQrCodeResult(String ip, int port, String path, String taskId, String result, String imagePath, List<String> qrCodeResults,String scanType) {
|
||||||
|
String targetUrl = String.format("http://%s:%d%s", ip, port, path);
|
||||||
|
log.info("发送HTTP请求到: {}", targetUrl);
|
||||||
|
|
||||||
|
HttpURLConnection connection = null;
|
||||||
|
try {
|
||||||
|
URL url = new URL(targetUrl);
|
||||||
|
connection = (HttpURLConnection) url.openConnection();
|
||||||
|
connection.setRequestMethod("POST");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json");
|
||||||
|
connection.setDoOutput(true);
|
||||||
|
connection.setConnectTimeout(CONNECT_TIMEOUT);
|
||||||
|
connection.setReadTimeout(READ_TIMEOUT);
|
||||||
|
|
||||||
|
// 构建JSON请求体 - 适配 singleInventoryQrCodeReturn 接口
|
||||||
|
String qrResultsJson = (qrCodeResults != null && !qrCodeResults.isEmpty())
|
||||||
|
? qrCodeResults.stream()
|
||||||
|
.map(s -> "\"" + escapeJson(s) + "\"")
|
||||||
|
.collect(Collectors.joining(",", "[", "]"))
|
||||||
|
: "[]";
|
||||||
|
|
||||||
|
String jsonBody = String.format(
|
||||||
|
"{\"taskId\":\"%s\",\"result\":\"%s\",\"scanType\":\""+scanType+"\",\"imagePath\":\"%s\",\"qrCodeResults\":%s}",
|
||||||
|
escapeJson(taskId),
|
||||||
|
escapeJson(result),
|
||||||
|
escapeJson(imagePath),
|
||||||
|
qrResultsJson
|
||||||
|
);
|
||||||
|
|
||||||
|
try (OutputStream os = connection.getOutputStream()) {
|
||||||
|
byte[] input = jsonBody.getBytes(StandardCharsets.UTF_8);
|
||||||
|
os.write(input, 0, input.length);
|
||||||
|
os.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
int responseCode = connection.getResponseCode();
|
||||||
|
log.info("HTTP响应码: {}, 目标: {}", responseCode, targetUrl);
|
||||||
|
|
||||||
|
boolean success = responseCode >= 200 && responseCode < 300;
|
||||||
|
if (success) {
|
||||||
|
log.info("HTTP请求成功发送到: {}", targetUrl);
|
||||||
|
} else {
|
||||||
|
log.warn("HTTP请求返回非成功状态码: {} - {}", responseCode, targetUrl);
|
||||||
|
}
|
||||||
|
return success;
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("发送HTTP请求失败: {}", targetUrl, e);
|
||||||
|
return false;
|
||||||
|
} finally {
|
||||||
|
if (connection != null) {
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送POST请求通知
|
||||||
|
*
|
||||||
|
* @param ip 目标IP
|
||||||
|
* @param port 目标端口
|
||||||
|
* @param path 目标路径
|
||||||
|
* @param result 检测结果
|
||||||
|
* @param imagePath 图片路径
|
||||||
|
* @param qrCodeResults 二维码结果列表
|
||||||
|
* @return 是否发送成功
|
||||||
|
*/
|
||||||
|
public boolean sendNotify(String ip, int port, String path, String result, String imagePath, List<String> qrCodeResults) {
|
||||||
|
String targetUrl = String.format("http://%s:%d%s", ip, port, path);
|
||||||
|
log.info("发送HTTP请求到: {}", targetUrl);
|
||||||
|
|
||||||
|
HttpURLConnection connection = null;
|
||||||
|
try {
|
||||||
|
URL url = new URL(targetUrl);
|
||||||
|
connection = (HttpURLConnection) url.openConnection();
|
||||||
|
connection.setRequestMethod("POST");
|
||||||
|
connection.setRequestProperty("Content-Type", "application/json");
|
||||||
|
connection.setDoOutput(true);
|
||||||
|
connection.setConnectTimeout(CONNECT_TIMEOUT);
|
||||||
|
connection.setReadTimeout(READ_TIMEOUT);
|
||||||
|
|
||||||
|
// 构建JSON请求体
|
||||||
|
String jsonBody = buildJsonBody(result, imagePath, qrCodeResults);
|
||||||
|
|
||||||
|
try (OutputStream os = connection.getOutputStream()) {
|
||||||
|
byte[] input = jsonBody.getBytes(StandardCharsets.UTF_8);
|
||||||
|
os.write(input, 0, input.length);
|
||||||
|
os.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
int responseCode = connection.getResponseCode();
|
||||||
|
log.info("HTTP响应码: {}, 目标: {}", responseCode, targetUrl);
|
||||||
|
|
||||||
|
boolean success = responseCode >= 200 && responseCode < 300;
|
||||||
|
if (success) {
|
||||||
|
log.info("HTTP请求成功发送到: {}", targetUrl);
|
||||||
|
} else {
|
||||||
|
log.warn("HTTP请求返回非成功状态码: {} - {}", responseCode, targetUrl);
|
||||||
|
}
|
||||||
|
return success;
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("发送HTTP请求失败: {}", targetUrl, e);
|
||||||
|
return false;
|
||||||
|
} finally {
|
||||||
|
if (connection != null) {
|
||||||
|
connection.disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建JSON请求体
|
||||||
|
*/
|
||||||
|
private String buildJsonBody(String result, String imagePath, List<String> qrCodeResults) {
|
||||||
|
String qrResultsJson = (qrCodeResults != null && !qrCodeResults.isEmpty())
|
||||||
|
? qrCodeResults.stream()
|
||||||
|
.map(s -> "\"" + escapeJson(s) + "\"")
|
||||||
|
.collect(Collectors.joining(",", "[", "]"))
|
||||||
|
: "[]";
|
||||||
|
|
||||||
|
return String.format(
|
||||||
|
"{\"result\":\"%s\",\"imagePath\":\"%s\",\"qrCodeResults\":%s}",
|
||||||
|
escapeJson(result),
|
||||||
|
escapeJson(imagePath),
|
||||||
|
qrResultsJson
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JSON字符串转义
|
||||||
|
*/
|
||||||
|
private String escapeJson(String str) {
|
||||||
|
if (str == null) return "";
|
||||||
|
return str.replace("\\", "\\\\")
|
||||||
|
.replace("\"", "\\\"")
|
||||||
|
.replace("\n", "\\n")
|
||||||
|
.replace("\r", "\\r")
|
||||||
|
.replace("\t", "\\t");
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue