You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nifi自定义Processor出现WebSocket ControllerService代理类转换错误如何解决

异常原因

这个异常是NiFi的NAR类加载隔离机制导致的:NiFi的每个扩展组件包(NAR)都有独立的类加载器,你自定义Processor的NAR包和WebSocketService接口所在的官方WebSocket NAR包由不同类加载器加载。即使两个类的全限定名完全一致,不同类加载器加载的类也会被JVM判定为不同类型,因此ControllerService的代理对象无法强转成你代码中引用的WebSocketService类型。官方内置的PutWebSocket组件和WebSocket服务接口属于同一类加载上下文,因此不会出现该问题。

解决步骤
  • 调整自定义Processor的Maven依赖配置:将nifi-websocket-services-api依赖的scope设置为provided,避免重复打包WebSocket相关类到自定义NAR中。
  • 修改自定义NAR的打包插件配置:在nar-maven-plugin的配置项中添加<parentNar>标签,指定父NAR为官方的org.apache.nifi:nifi-websocket-services-nar,让你的自定义NAR继承父NAR的类加载器,共用同一套WebSocket类定义。
  • 重新打包自定义Processor,清理NiFi的旧扩展缓存后重启服务,再进行功能测试即可。

内容的提问来源于stack exchange,提问作者Hari N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:42:00