Storm问题——组件带参数构造函数未被调用,抛出NullpointerException
2014-12-12 01:06
330 查看
问题描述
不知道大家有没有遇到过这个问题,我实现了BaseRichBolt,重载一个带参数的构造函数,new这个组件时传入一个参数作为该组件的成员变量,然后在declareOutputFields方法中调用该变量,local模式运行正常,分布式模式运行就抛NPE。后来过了半小时,再提交,又OK了。(PS:其间检查了很多遍代码,没有传入NULL变量)我在开发trident程序时,继承mapState时也出现了这个问题
可能原因
1、跟storm本身的序列化机制有关系,storm本身对组件进行序列化和反序列化时,提供一个默认的无参构造函数,至于为什么会提供这个,请看可能原因22、猜想在分布式环境,storm要根据集群topology的工作来维护各个topology之间的状态以及一些细节state之类的,突然有些时候state变化,就导致了上面的问题
这两个可能原因目前还是自己的YY,没有找到具体原因,后续继续研究源码,找到再补上。
相关文章推荐
- [JAVA]Servlet 中调用 getServletContext() 方法抛出 NullPointerException
- PhoneGap2.7.0调用拍照和相册时出现onActivityResult NullPointerException问题
- Storm OutputCollector并发问题导致NullPointerException的解决
- Storm OutputCollector并发问题导致NullPointerException的解决
- Java对象数组初始化与NullPointerException问题
- equals中NullPointerException问题解决
- 在java中java.lang.NullPointerException问题
- Java调用Oracle存储过程NullPointerException异常
- SPRING中BEAN注入成功,可是启动WEB服务器,调用方法时,BEAN全是空,NullpointerException
- 艰辛的aptana插件安装之路(续)--成功解决myeclipse不能启动和报java.lang.NullPointerException的问题
- Spring与iBATIS集成时,一对多表会报NullPointerException问题的解释
- org.apache.jasper.JasperException: java.lang.NullPointerException 指定调用action方法
- android中调用findViewById时出现:java.lang.NullPointerException
- 防止传参数出现NULLPointerException
- Java对象数组初始化与NullPointerException问题
- 使用Tomcat访问任何JSP页面都报NullPointerException的问题
- Nokia平台游戏退出之后出现nullPointerException问题
- 照相机拍照NullPointerException 问题
- webservice方法参数改名后 webservice 调用时参数变为null问题
- 空指针问题(java.lang.NullPointerException)