Java 卡夫卡风暴整合

Java 卡夫卡风暴整合,java,apache-kafka,apache-storm,Java,Apache Kafka,Apache Storm,我正试图把卡夫卡和斯托姆结合起来 我创建了一个喷口来读取卡夫卡消息并将它们作为元组发出 在运行storm拓扑时,我得到以下异常 Caused by: java.io.NotSerializableException: kafka.javaapi.consumer.ZookeeperConsumerConnector at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) ~[?:1.8.0_45]

我正试图把卡夫卡和斯托姆结合起来

我创建了一个喷口来读取卡夫卡消息并将它们作为元组发出

在运行storm拓扑时,我得到以下异常

Caused by: java.io.NotSerializableException: kafka.javaapi.consumer.ZookeeperConsumerConnector
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) ~[?:1.8.0_45]
    at backtype.storm.utils.Utils.javaSerialize(Utils.java:87) ~[storm-core-0.10.0.jar:0.10.0]
    ... 2 more

您应该将喷口中的不可序列化字段声明为transient。这些字段应该在喷口的open方法中初始化

嗨,谢谢你的回复。成功了。但现在我在java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)~[?:1.8.045]处java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.wait(AbstractQueuedSynchronizer.java:2048)获得以下异常java.lang.InterruptedException~[?:1.8.0_45]此异常发生在我在喷口的nextTuple()方法中使用的迭代器中。您可能还会遇到其他异常。我没有您的代码,因此无法添加更多。