java - 是否可以调试 apache nifi 自定义处理器?

标签 java eclipse apache-nifi

我能够在 Eclipse 中远程调试 apache nifi 自定义处理器(引用: 123 )。我遵循的步骤是这样的:

  1. 取消 apache nifi bootstrap.conf 中以下行的注释

    java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
    
  2. 启动apache nifi

  3. 使用 host=localhostport=8000 在 Eclipse 中创建新的调试配置,并选择自定义处理器的项目。

所以我可以悬停变量,添加监视并执行单步执行等。但是,一旦我得到一些提示并想要更改一些代码并快速尝试,该怎么办?我是否需要更改代码,重建 nar,停止 apache nifi,将 nar 放入 apache nifi lib,然后重新启动 apache nifi。每次进行代码更改时都必须遵循这条漫长的道路吗?或者我错过了什么?我尝试更改代码并保存它。但是当我执行 Ctrl+S 时,它显示我无法热插拔代码更改屏幕:

enter image description here

最佳答案

是的,我们可以调试自定义 Nifi 处理器。使用任何代码编辑器对您的自定义处理器进行编码,创建 nar 文件并将该 nar 文件复制到 NiFi 设置所在的 lib 目录。

转到 NiFi 设置中的 conf 目录并搜索文件 bootstrap.conf。

在任何可用的编辑器中打开 bootstrap.conf 文件并取消注释以下行

java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

您可以根据您的系统更改端口可用性。

现在进入代码编辑器(此处为 IntelliJ)并打开右上角锤子符号旁边的下拉“编辑运行/调试配置对话框”。

单击“编辑配置”选项

下面的窗口打开

enter image description here

点击左上角的加号(+),会出现一个下拉菜单,选择远程

enter image description here

出现以下屏幕

enter image description here

配置NiFi中bootstrap.conf文件中提到的端口,假设我们配置了8000,那么我们需要将端口更改为8000

enter image description here

点击“应用”,然后点击“确定”按钮

现在将调试点放在您编写的自定义类上,然后单击右上角 Nifi 上的调试图标

enter image description here

您将看到如下所示的控制台

enter image description here

现在在您选择的浏览器上打开 Nifi,然后启动您的自定义处理器(在浏览器上),然后一旦您的处理器开始运行,IntelliJ 上的调试点就会命中,您可以开始调试您的自定义处理器

关于java - 是否可以调试 apache nifi 自定义处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55811413/

相关文章:

java - Gwt NavigableSet 找不到源

android - 从android中的外部文件获取web服务uri

java - Nifi 定制处理器显示错误 "the local variable flowfile cannot be assigned"

java - 带有 Matlab 的 "nativemvm library"Engine API Java 错误

json - Nifi Controller 服务JsontreeReader和JsonPath阅读器有什么区别

apache-nifi - 使用 PutFile 处理器指定输出文件名

java - 对于分片到达的 UDP 数据包该怎么办

java - 从方法返回两个不同的值

java - 矩阵乘法Java

android - android中的debug.keystore有什么用?