在为Nifi编写流媒体服务时,如何解决Java的空指针异常?
我正在使用Nifi中的处理器从卡夫卡获取数据并将其写入文件。脚本是用python编写的在为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
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,这会产生错误。问题陈述非常广泛,保存到文件只是为了建立概念证明。我修改了代码并得到了更正。问题陈述非常广泛,保存到文件只是为了建立概念证明。我修改了密码,把它改正了。