Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在为Nifi编写流媒体服务时,如何解决Java的空指针异常?_Java_Python_Apache Kafka_Apache Nifi - Fatal编程技术网

在为Nifi编写流媒体服务时,如何解决Java的空指针异常?

在为Nifi编写流媒体服务时,如何解决Java的空指针异常?,java,python,apache-kafka,apache-nifi,Java,Python,Apache Kafka,Apache Nifi,我正在使用Nifi中的处理器从卡夫卡获取数据并将其写入文件。脚本是用python编写的 import json import java.io from org.apache.commons.io import IOUtils from java.nio.charset import StandardCharsets from org.apache.nifi.processor.io import StreamCallback class ModJSON(StreamCallback): d

我正在使用Nifi中的处理器从卡夫卡获取数据并将其写入文件。脚本是用python编写的

import json
import java.io
from org.apache.commons.io import IOUtils
from java.nio.charset import StandardCharsets
from org.apache.nifi.processor.io import StreamCallback

class ModJSON(StreamCallback):
  def __init__(self):
        pass
  def process(self, inputStream, outputStream):
    text = IOUtils.toString(inputStream, StandardCharsets.UTF_8)
    outputStream.write(bytearray(text))

flowFile = session.get()
if (flowFile != None):
  flowFile = session.write(flowFile, ModJSON())
  flowFile = session.putAttribute(flowFile, "filename", flowFile.getAttribute('filename').split('.')[0]+'_translated.json')
session.transfer(flowFile, REL_SUCCESS)
session.commit()
它指出以下错误:


我读过java中的这个错误,但是我不理解为什么会在这里产生这个错误

如果您只想将卡夫卡的消息写入一个文件,是否有理由不能使用consumerkafka->PutFile


这个错误是因为您只在if(flowFile!=None)中放了两行:如果flow file为null,您仍然在第18行调用transfer,这会产生错误。

如果您只想将一条来自Kafka的消息写入一个文件,您有没有理由不能直接使用consumerkafka->PutFile


错误是因为在if(flowFile!=None)中只放了两行:如果flow file为null,则仍在第18行调用transfer,这会产生错误。

问题陈述非常广泛,保存到文件只是为了建立概念证明。我修改了代码并得到了更正。问题陈述非常广泛,保存到文件只是为了建立概念证明。我修改了密码,把它改正了。