江苏叁拾叁信息技术有限公司LOGO 数智富农,领跑农业AI新时代!

  • 首页
  • 产品服务
    返回主菜单
    产品服务

    农业产业AI大模型

    农业产业数字化

    数字乡村

  • 解决方案
    返回主菜单
    解决方案

    面向政府

    综合农事服务中心解决方案 高标准农田智慧化建设解决方案 农业农村大数据解决方案 单品全产业链大数据解决方案 农产品价格监测平台解决方案 冷链物流解决方案 农业碳汇平台解决方案

    面向园区

    智慧园区解决方案 乡村文旅解决方案 农业元宇宙解决方案

    面向农企

    无人大田解决方案 无人设施解决方案 无人畜禽解决方案 无人水产解决方案 无人果园解决方案 无人茶园解决方案 社会化服务解决方案 农业电商解决方案 区块链溯源解决方案 种养殖一体化解决方案 中央厨房解决方案
  • 农业机器人
  • 经典案例
  • 新闻资讯
    返回主菜单
    新闻资讯

    企业资讯

    行业动态

  • 关于我们
    返回主菜单
    关于我们

    企业介绍

    招商合作

    研究院

  • 集团网站
    返回主菜单
    叁拾叁网站群

    集团网站

    千仓机器人网站

  • 选择区域/语言
    返回主菜单
    选择区域/语言

    Australia - English

    Canada - English

    China -简体中文

    Europe - English

    Ireland - English

    Kenya - English

    Malaysia - English

    New Zealand - English

    Singapore - English

    South Africa - English

    Switzerland - English

    United Kingdom - English

    Global - English

联系我们

Contact us

您的姓名:
姓名不能为空
您的单位:
单位不能为空
您的职务:
职务不能为空
您的所在地:
所在地不能为空
联系电话:
联系电话不能为空
您的需求:
您的需求不能为空
(03)s

提交成功 提交成功

提交失败 提交失败

行业动态

智慧农业如何让人工成本一降再降?四大核心方案解析

在农业现代化的进程中,人力成本的不断攀升已成为制约农业发展的关键因素。随着农村劳动力向城市的持续转移,农业生产面临着劳动力短缺和人工成本高昂的双重困境。在此背景下,智慧农业应运而生,凭借先进的技术手段,为降低人工成本提供了一系列创新方案,为传统农业向现代化转型开辟新路径。​
智慧农业如何让人工成本一降再降?四大核心方案解析
来源:江苏叁拾叁

发布时间:2025-11-04

314阅读


在农业现代化的进程中,人力成本的不断攀升已成为制约农业发展的关键因素。随着农村劳动力向城市的持续转移,农业生产面临着劳动力短缺和人工成本高昂的双重困境。在此背景下,智慧农业应运而生,凭借先进的技术手段,为降低人工成本提供了一系列创新方案,为传统农业向现代化转型开辟新路径。

一、智能监测与决策:数据驱动减少人工干预

病虫害AI识别预警:病虫害一直是农业生产的大敌,传统的病虫害监测方式主要依赖人工逐株排查,效率极低,而且容易出现漏判和误判的情况。随着AI技术的发展,病虫害AI识别预警系统为这一难题提供了高效的解决方案。AI视觉摄像头与无人机搭载多光谱成像技术,就像给农业生产装上了一双“智能慧眼”。它们可以在田间快速穿梭,自动拍摄作物的图像,并利用先进的图像识别算法,在短短10秒内就能精准识别出叶片上的病斑、虫卵以及害虫的种类。

识别完成后,系统会立即对这些信息进行分析处理,同时比对历史数据与病虫害知识库,通过大数据分析和智能算法,提前3-5天准确预警病虫害的爆发风险。这使得农户能够提前做好防治准备,采取针对性的措施,有效遏制病虫害的蔓延。与传统的人工监测方式相比,病虫害AI识别预警系统极大地提高了监测效率,将病虫害监测的人力投入减少了80%,同时也避免了因人工漏判误判而导致的重复劳作和不必要的损失。

公众号0901-4

二、自动化作业装备:机械替代释放人力效能

智能农机无人化作业:在广袤的田野上,智能农机无人化作业正逐渐成为一道亮丽的风景线。无人驾驶拖拉机、播种机、收割机等一系列智能农机,宛如训练有素的“钢铁战士”,在田间地头大显身手。它们通过搭载先进的北斗导航系统、传感器以及智能控制系统,能够精准地按照预设路径自动完成耕、种、收等一系列复杂的农事操作。

以黑龙江红星农场的小麦收获为例,2024年,这里开展了小麦生产全程无人化作业“首秀”。只见红白相间的雷沃收获机在麦田中穿梭自如,驾驶室中空无一人,方向盘却在自动控制下灵活转动,熟练地收割着成熟的小麦。与此同时,无人运粮车也精准地与收割机并行,金黄的麦粒如瀑布般倾泻而出,稳稳落入运输车厢。这一场景充分展示了智能农机无人化作业的高效与精准。据了解,北斗导航定位精度可达厘米级,作业效率较人工提升3倍以上。不仅如此,无人机植保系统同样表现出色,它搭载RTK定位技术,单架次可覆盖200亩农田,喷药均匀度超95%,相当于20名人工同时作业。而且,这些智能农机还能在夜间或恶劣天气条件下持续作业,极大地拓展了作业时间和空间,让农业生产不再受限于人力和自然条件的束缚。

三、远程管理系统:云端操控突破时空限制

移动端全流程管控平台:如今,农户只需通过手机APP,就能轻松实现对农田的全流程管控。清晨,还未起床的农户老张,就可以像查看天气预报一样,在手机上点开智慧农业管理APP。地图上,他承包的上千亩农田清晰呈现,土壤湿度、空气温度、光照强度等数据实时跳动,就像一个个鲜活的生命体征。手指轻点,远处田间的灌溉系统便应声启动,清冽的水流精准洒向干渴的麦苗。通过APP,农户还能实时查看田间摄像头画面,就像亲临现场一样,对农田里的一切情况了如指掌;设备运行状态也能一目了然,哪个设备在正常运转,哪个设备需要维护,都能及时知晓;生产数据更是全面详细,作物的生长周期、产量预估等信息尽在掌握。

这种移动端全流程管控平台,让农户即使身处异地,也能随时随地掌控农田的一切。对于规模化农场主来说,跨区域经营变得更加轻松便捷,不再需要频繁地在各个农场之间奔波。某种植基地的实践数据显示,引入该平台后,日常管理往返时间成本减少了90%,大大提高了管理效率,降低了人工成本。

封面8-20250814

四、精准化生产调度:科学规划优化人力配置

农事任务智能排程:在智慧农业的生产体系中,农事任务智能排程系统宛如一位经验丰富的“生产指挥官”,发挥着至关重要的作用。它借助大数据平台强大的数据处理和分析能力,紧密结合作物的生长周期、设备的实时状态以及精准的天气预报等多方面信息,能够自动生成详细且合理的灌溉、施肥、采摘等农事任务清单。

以番茄种植为例,在番茄的生长过程中,对水分和养分的需求会随着生长阶段的不同而发生变化。在开花期,需要适当控制水分,以促进花芽分化;而在结果期,则需要充足的水分和养分来保证果实的膨大。农事任务智能排程系统会根据番茄的这些生长特性,结合实时的土壤湿度、肥力数据以及天气预报中的降水信息,提前规划好灌溉和施肥的时间与量。如果系统预测到未来3天内有降雨,就会提前调度人力,赶在降雨前完成叶面肥的喷施工作。这样不仅避免了因降雨导致肥料被冲刷流失,需要重复作业的情况,还能确保作物在最佳的时间得到所需的养分,人力利用率提升40%。

从“汗水农业”到“智慧农业”,核心是通过技术创新将人力从重复性、高强度、低效率的劳作中解放出来。智能监测让决策“数据化”,自动化设备让作业“无人化”,远程管理让管控“云端化”,精准调度让资源“高效化”——四大维度协同发力,实现人工成本多场景、深层次降低。随着技术普及与成本下沉,智慧农业不再是“高端农场”的专属,正成为万千农户降本增效的“新标配”,为现代农业可持续发展注入强劲动力。


上一篇:水产养殖如何利用智慧农业实现增收?​ 下一篇:智慧农业病虫害精准用药如何减少农业残留?
助力中国  影响世界

助力中国 影响世界

江苏叁拾叁智慧农业有限公司是以农业产业数字大脑、农业AI大模型、农业产业模型和农业智能终端装备产品为核心的国家级专精特新小巨人企业。作为中国智慧农业行业先驱,叁拾叁致力于打造中国现代农业生产的智慧化生态管理体系和农业企业精细化的科学管理体系,提升中国农业的智慧化水平和高标准农田智慧化建设,用先进技术和多场景综合解决方案为中国的农业园区、大型农场、农业经营主体、政府提供完备可靠的服务。叁拾叁已经成功落地580多个重点项目,客户企业主体25000多个。

相关动态

更多服务与支持

您的姓名
姓名不能为空
联系电话
电话不能为空
您的单位
您的单位不能为空
您的所在地
您的所在地不能为空
您的需求

解决方案

更多解决方案 解决方案
解决方案

when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${item.ID} [in template "mobile/hydt.shtml" at line 201, column 188] - Reached through: @wtl_col columnId="220" [in template "mobile/hydt.shtml" at line 199, column 105] - Reached through: @wtl_list columnId="15" fields="TITLE... [in template "mobile/hydt.shtml" at line 195, column 73] ---- Java stack trace (for programmers): ---- freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...] at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:467) at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:389) at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:358) at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100) at freemarker.core.DollarVariable.accept(DollarVariable.java:63) at freemarker.core.Environment.visit(Environment.java:330) at freemarker.core.Environment.visit(Environment.java:372) at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900) at com.whir.tags.directive.tags.ColumnTag.execute(ColumnTag.java:486) at freemarker.core.Environment.visit(Environment.java:445) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101) at freemarker.core.Environment.visit(Environment.java:330) at freemarker.core.Environment.visit(Environment.java:372) at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317) at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271) at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242) at freemarker.core.Environment.visitIteratorBlock(Environment.java:642) at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93) at freemarker.core.Environment.visit(Environment.java:330) at freemarker.core.Environment.visit(Environment.java:372) at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2900) at com.whir.tags.directive.tags.ListTag.execute(ListTag.java:322) at freemarker.core.Environment.visit(Environment.java:445) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101) at freemarker.core.Environment.visit(Environment.java:330) at freemarker.core.Environment.visit(Environment.java:336) at freemarker.core.Environment.process(Environment.java:309) at freemarker.template.Template.process(Template.java:384) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:396) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:309) at org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:257) at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:165) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:314) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1325) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1069) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1008) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866) at javax.servlet.http.HttpServlet.service(HttpServlet.java:529) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.github.xiaoymin.swaggerbootstrapui.filter.SecurityBasicAuthFilter.doFilter(SecurityBasicAuthFilter.java:84) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.github.xiaoymin.swaggerbootstrapui.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at com.whir.web.filter.JwtAuthenticationTokenFilter.doFilterInternal(JwtAuthenticationTokenFilter.java:286) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at com.whir.web.filter.ValidateCodeFilter.doFilterInternal(ValidateCodeFilter.java:51) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:117) at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:92) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:110) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:383) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:937) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.lang.Thread.run(Thread.java:745)