Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
Java NiFi-1.0.0-加载lua脚本_Java_Lua_Redis_Apache Nifi - Fatal编程技术网

Java NiFi-1.0.0-加载lua脚本

Java NiFi-1.0.0-加载lua脚本,java,lua,redis,apache-nifi,Java,Lua,Redis,Apache Nifi,我有一个NiFi处理器,它使用redislabs/luascript库加载lua脚本并在redis实例上执行 问题是,我不知道为了使用luascript库加载lua脚本,应该将lua脚本放在哪里。我已经把它放到nifi_proc/src/main/resources/lua/name.lua中,但是我得到了一个IOException 我有一个连接到redis的nifi控制器服务和一个使用该服务的处理器 我的项目结构: . ├── 尼菲束 │   └── 目标 ├── nifi-redis_cs

我有一个NiFi处理器,它使用redislabs/luascript库加载lua脚本并在redis实例上执行

问题是,我不知道为了使用luascript库加载lua脚本,应该将lua脚本放在哪里。我已经把它放到nifi_proc/src/main/resources/lua/name.lua中,但是我得到了一个IOException

我有一个连接到redis的nifi控制器服务和一个使用该服务的处理器

我的项目结构:

.
├── 尼菲束
│   └── 目标
├── nifi-redis_cservice
│   ├── src
│   └── 目标
├── nifi-redis_cservice-api
│   ├── src
│   └── 目标
├── nifi-redis_cservice-api-nar
│   └── 目标
├── nifi-redis_cservice-nar
│   └── 目标
├── redis处理器
│   ├── src
│   └── 目标
└── 目标
└── maven共享归档资源


有什么想法吗?

您能分享更多关于处理器如何与库交互的信息吗?您是否传入InputStream、调用可执行文件等

确保资源位于处理器项目的JAR模块中,而不是处理器的NAR模块或父模块(包括两者)。您应该能够从处理器的JAR文件(例如处理器类本身)中的类对象使用getResourceAsStream(“lua/name.lua”)。我不确定在那之后你需要用它做什么,有可能分享源代码或者更多关于它的细节吗


编辑(回复下面的评论):fromResource()用于获取资源,我想知道它是否没有访问nifi proc或控制器服务资源的权限。看起来,除非用户需要指定脚本的位置,否则控制器服务应该加载到Lua脚本中。因此,另一种方法是使用控制器服务类获取ResourceAsStream,将整个内容读入字符串,然后使用而不是fromResource。

我实际上还有一个nifi控制器服务和一个nifi进程,它使用该服务连接到redis实例。我已经将/lua/myscript.lua放在服务和过程的资源文件夹中。我有一个方法将lua脚本加载到redis中并管理哈希。然后,我想在给定一些key/args.luascript lib:Method的情况下执行lua脚本以加载:
private luascript lua(String fpath,String redis_uri)抛出IOException{try{ls=luascript.fromResource(fpath,redis_uri);}catch(IOException ie){throw ie;}return ls;}
哪些模块引入了LuaScript依赖关系?