首页 > 解决方案 > java bean验证运行失败:java.io.NotSerializableException: com.sun.el.E​​xpressionFactoryImpl

问题描述

我在 Apache Flink 下运行 Jakarta Bean Validation 6.1.2 并遇到包含的“Caused by: java.io.NotSerializableException: com.sun.el.E​​xpressionFactoryImpl”错误。

以下是 gradle deps:

  compile 'org.hibernate.validator:hibernate-validator:6.1.2.Final'
  compile 'org.glassfish:jakarta.el:3.0.3'
  compile 'org.apache.flink:flink-java:1.10.0'
  compile 'org.apache.flink:flink-streaming-java_2.12:1.10.0'
  compile 'org.apache.flink:flink-clients_2.12:1.10.0'
  compile 'org.apache.flink:flink-connector-kafka-base_2.12:1.10.0'
  compile 'org.apache.flink:flink-connector-kafka-0.10_2.12:1.10.0'

想法?

提前谢谢,

    org.apache.flink.api.common.InvalidProgramException: 
    com.sun.el.ExpressionFactoryImpl@7ca33c24 is not serializable. The object probably contains 
or references non serializable fields.
      at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:151)
      at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126)
      at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126)
      at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126)
      at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:126)
      at org.apache.flink.api.java.ClosureCleaner.clean(ClosureCleaner.java:71)
      at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.clean(StreamExecutionEnvironment.java:1821)
      at org.apache.flink.streaming.api.datastream.DataStream.clean(DataStream.java:188)
      at org.apache.flink.streaming.api.datastream.DataStream.map(DataStream.java:590)
      at com.lacuna.data.mds.EventProcessor.main(EventProcessor.java:49)
    Caused by: java.io.NotSerializableException: com.sun.el.ExpressionFactoryImpl
      at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1185)
      at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
    WARNING: An illegal reflective access operation has occurred

标签: bean-validationflink-streaming

解决方案


推荐阅读