江苏叁拾叁信息技术有限公司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

提交成功 提交成功

提交失败 提交失败

行业动态

解码农田:江苏叁拾叁农业AI大模型的应用逻辑

在数字技术与农业的融合进程中,表层的数据采集与简单的规则控制已无法满足现代农业对精准化、智能化的深层需求。真正的智慧农业要求系统能够“理解”农田的复杂状态,“诊断”生产环节的潜在问题,并“生成”最优的干预策略。
解码农田:江苏叁拾叁农业AI大模型的应用逻辑
来源:江苏叁拾叁

发布时间:2026-01-16

64阅读


在数字技术与农业的融合进程中,表层的数据采集与简单的规则控制已无法满足现代农业对精准化、智能化的深层需求。真正的智慧农业要求系统能够“理解”农田的复杂状态,“诊断”生产环节的潜在问题,并“生成”最优的干预策略。江苏叁拾叁智慧农业有限公司凭借其农业AI大模型,构建了一套从“数据解码”到“策略生成”的完整应用逻辑。这套逻辑的核心,在于将农业这一涉及生物、环境、经济等多重变量的复杂系统,转化为机器可认知、可推理、可优化的对象。

数据解码:从环境信号到农学语义的翻译

农田每时每刻都在通过各种物理化学变化传递着海量信息。江苏叁拾叁应用逻辑的起点,是构建一个强大的“翻译器”——它能够将传感器捕获的原始环境信号,翻译为具有明确农学意义的语义化状态描述。

这一过程远非简单的数据转换。例如,当田间物联网节点传回一组关于土壤湿度、温度和电导率的读数时,AI大模型首先会将其置于时空背景中分析:结合历史同期的数据、当天的气象条件、该地块的土壤质地图谱以及当前作物的生育阶段。模型通过内置的作物生理模型和土壤-作物-大气连续体(SPAC)知识,将原始的“30%体积含水量”解码为“当前根系层有效水含量处于适宜范围下限,若未来三天无有效降水,即将进入轻度水分胁迫状态”。同样,无人机拍摄的多光谱影像,被解码为反映作物氮素营养状况的叶绿素相对含量(SPAD值)空间分布图,并进一步关联到潜在产量限制因子。这种从物理信号到生物学、农学语义的精确“翻译”,是后续所有智能决策得以成立的认知基础。

状态诊断:基于因果网络的深度归因分析

感知农田的“状态”只是第一步,理解状态背后的“成因”才是实现精准干预的关键。江苏叁拾叁的农业AI大模型应用逻辑的核心环节,是进行基于多源证据链的深度归因分析。模型内部构建了一个动态的农业因果知识网络,能够对观察到的异常状态进行系统性推理诊断。

以一个典型的应用场景为例:在设施番茄种植中,系统识别到部分植株出现叶片卷曲与边缘焦枯的症状。传统的专家系统可能直接匹配为“缺钾”或“盐害”。而AI大模型则启动一个更复杂的诊断流程:它会首先回溯近期所有的环境控制记录,检查是否存在短时间内的高温、低湿或强光事件;接着分析水肥灌溉日志,检查EC值和pH值是否持续偏离设定范围,并关联到不同灌溉区的差异;同时,它会调用历史病虫害数据库,评估相似症状与特定病害(如某些病毒病或根腐病)的关联概率。最终,模型可能生成一个概率化的诊断结论:“该症状由近期一次意外的午间高温通风滞后(主因,概率65%)与该区域灌溉头轻微堵塞导致的局部盐分累积(次因,概率25%)共同诱发。”这种超越表象、探究多因素耦合作用的诊断能力,使得管理措施能够精准针对根本原因,而非仅仅是缓解表面症状。

农业AI大模型2

策略生成:多目标约束下的动态处方优化

基于精准的诊断,生成可执行、可验证的行动策略是应用逻辑的最终输出环节。江苏叁拾叁的AI大模型在此过程中扮演着“策略工程师”的角色,它需要在多重约束条件下,求解满足特定目标函数的最优操作方案。

这些约束条件是立体的:包括农艺约束(如作物不同生育期对水、肥、药的耐受性与需求规律)、资源约束(如可用农机类型、肥料库存、劳动力成本)、环境约束(如未来天气预测、水资源配额)以及经济约束(如目标产量、市场价格预期、成本控制线)。例如,针对一片诊断出存在中度氮缺乏且即将进入需肥关键期的小麦田,AI大模型不会仅仅给出“追施氮肥10公斤/亩”的建议。它会基于上述约束,动态生成一份详细的“变量追肥处方”:规划出采用无人机还是地面机械作业更为经济高效;计算出不同田块区域的差异化施肥量(从8公斤到12公斤不等),以校正空间异质性;推荐具体的肥料品类(如尿素或硝铵溶液)及其最佳施用时机以避开预报的降雨;甚至预估本次作业的燃油(或电力)消耗与工时成本。这个“处方”是一个经过全局优化的动态解决方案,而非静态的通用配方。

闭环验证:在行动反馈中持续迭代的逻辑自洽

一个完整的应用逻辑必须是闭环的、可进化的。江苏叁拾叁的设计确保了AI大模型不仅输出策略,更能从策略的执行结果中学习,形成“决策-执行-评估-优化”的增强回路。这构成了其应用逻辑的自我完善机制。

当生成的策略(如变量施肥处方)被智能装备执行后,系统会开启严密的验证追踪。一方面,通过装备的回传数据验证执行的“保真度”(实际施肥量与处方图的吻合度)。另一方面,更重要的是在后续一个或多个生长周期内,通过持续的遥感监测与地面调查,评估策略的“有效性”——作物的长势响应是否达到预期?养分利用效率是否提升?这种“有效性”评估数据与最初触发决策的“诊断”数据、以及“处方”数据被重新关联,形成新的训练样本。如果发现实际效果与预期存在系统性偏差,模型会自动回溯分析,是诊断环节的关键因子遗漏了,还是策略生成中的某些参数模型需要调整?通过这种持续的实践反馈与模型微调,整个应用逻辑在真实世界的复杂性与不确定性中不断自我校准,变得越来越稳健、精准和“接地气”。

江苏叁拾叁的农业AI大模型应用逻辑,清晰地展示了一条将前沿人工智能深度融入传统产业核心流程的技术路径。它并非简单地将算法应用于农业数据,而是构建了一套完整的“解码-诊断-处方-验证”方法论体系。这套体系将农田从依赖经验感知的模糊对象,转变为一个状态可量化、问题可归因、决策可优化、效果可验证的精密系统。这种逻辑的价值在于,它使得农业管理从一门依赖个人技艺的“艺术”,加速向一门基于系统认知与量化分析的“科学”演进。它不仅为提升单点生产效益提供了强大工具,更在构建智慧农业的数字基础设施层面,定义了机器如何理解农业、如何思考农业、如何优化农业的核心范式。这正是“解码农田”的深远意义所在——通过AI大模型这把钥匙,打开农业生产系统精细化、智能化管理的新空间。


上一篇:定义未来农业:江苏叁拾叁与农业AI大模型的范式创新 下一篇:江苏叁拾叁:以农业AI大模型为核心,构建智慧农业新基建
助力中国  影响世界

助力中国 影响世界

江苏叁拾叁智慧农业有限公司是以农业产业数字大脑、农业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)