Я новичок в apache nifi. Пару дней назад я застрял на этой проблеме (которая связана с отсутствием поведения собственного процессора nifi). Отладка не помогла мне хорошо. Таким образом, я решил исследовать фреймворк nifi (что я уже должен был сделать, но не делал :), как это было предложено в комментариях к этому вопросу.
Я получаю помощь по этим ссылкам: 1 , 2
То, что я пытался сделать, - это отправить файл единого потока на пользовательский процессор. Для этого я сохранил / сериализовал фактический файл потока, используя MergeContent (с версией FlowFile v3) и процессор PutFile, как предложено здесь . Теперь я пытаюсь перечитать этот файл с помощью кода в моем тесте с использованием процессора GetFile следующим образом:
import static org.junit.Assert.*;
import java.util.List;
import org.junit.Test;
import org.apache.nifi.util.TestRunners;
import org.apache.nifi.processors.standard.GetFile;
import org.apache.nifi.util.MockFlowFile;
import org.apache.nifi.util.TestRunner;
public class MyCustomProcessorTest {
@Test
public void testOnTrigger() {
TestRunner runner = TestRunners.newTestRunner(new GetFile());
runner.setProperty(GetFile.DIRECTORY, "C:\\Mahesh\\delete\\serialized-flow-files");
runner.setProperty(GetFile.KEEP_SOURCE_FILE, "true");
runner.run(1);
List<MockFlowFile> results = runner.getFlowFilesForRelationship(GetFile.REL_SUCCESS);
System.out.println("done");
}
}
Это дает мне следующую ошибку:
![enter image description here](https://i.stack.imgur.com/4P8PU.png)
Какую зависимость maven я должен включить, чтобы получить этот класс? Также подходит мой подход или есть более предпочтительный подход?