2012-09-18 15:41:32 +00:00
|
|
|
package redstorm.storm.jruby;
|
|
|
|
|
|
|
|
import backtype.storm.coordination.IBatchBolt;
|
|
|
|
import backtype.storm.transactional.TransactionAttempt;
|
|
|
|
import backtype.storm.transactional.ICommitter;
|
|
|
|
|
|
|
|
/**
|
2014-03-02 08:04:01 +00:00
|
|
|
* the JRubyBolt class is a proxy class to the actual bolt implementation in JRuby.
|
|
|
|
* this proxy is required to bypass the serialization/deserialization issues of JRuby objects.
|
|
|
|
* JRuby classes do not support Java serialization.
|
2012-09-18 15:41:32 +00:00
|
|
|
*
|
2014-03-02 08:04:01 +00:00
|
|
|
* Note that the JRuby bolt class is instanciated in the prepare method which is called after
|
|
|
|
* deserialization at the worker and in the declareOutputFields & getComponentConfiguration
|
|
|
|
* methods which are called once before serialization at topology creation.
|
2012-09-18 15:41:32 +00:00
|
|
|
*/
|
|
|
|
public class JRubyTransactionalCommitterBolt extends JRubyTransactionalBolt implements ICommitter {
|
2013-05-13 04:03:36 +00:00
|
|
|
public JRubyTransactionalCommitterBolt(String baseClassPath, String realBoltClassName, String[] fields) {
|
|
|
|
super(baseClassPath, realBoltClassName, fields);
|
2012-09-18 15:41:32 +00:00
|
|
|
}
|
|
|
|
}
|