今天我在 My Storm Topology Builder 中遇到了一个奇怪且烦人的错误。
问题是当我将 jar 文件提交到 Storm 集群时,它总是跳过传递给 main 方法的第二个参数。
public class ZMQTopology {
public static void main(String[] args) throws AlreadyAliveException,
InvalidTopologyException {
for(int i=0;i<(args.length);i++)
{ System.out.println("I=" +i+ " value="+args[i]);
}
This is how i submit my jar
E:\target>storm jar StormZeroMQ.jar com.wipro.bdas.zeromq.ZMQTopology value1 value2 value3 value4 value5
输出
I=0 value=value1
I=1 value=value3
I=2 value=value4
I=3 value=value5
我尝试了所有组合、参数数量、参数类型等,但它跳过了第二个参数。
我想知道我错过了什么..
请帮帮我!
最佳答案
经过一定量的调试后,我发现它只发生在 windows 机器 上。我能够在两台 Windows 机器上重现该错误。使用 Storm 0.9.3 和 0.9.4 版本。在 Linux 机器中,我可以看到命令行参数完美运行。
Jira 票证针对[此错误提出。
https://issues.apache.org/jira/browse/STORM-745
更新:针对更高版本的 Windows Storm.cmd 版本修复了错误。
关于java - Apache Storm 跳过第二个命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29347625/