@YmBIgo (和也 栗原)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Java の org.apache.commons.pipeline.stage.InstrumentedBaseStage について

解決したいこと

org.apache.commons.pipeline.stage.InstrumentedBaseStage がググっても出てこないので、どのような機能なのか聞きたい。

自分は、趣味で、earlyBird という Twitter 内部の検索システムのソースコード を読んでいます。
その中で org.apache.commons.pipeline.stage.InstrumentedBaseStage という、ググっても出てこない上、ドキュメントにも内容が書いていないように見えるライブラリがあったので、質問を書きました。
もし内容を知っている人がいましたら、教えてください。

発生している問題・エラー

こちらのコード の 18行目にある import org.apache.commons.pipeline.stage.InstrumentedBaseStage; は、TwitterBaseStage 経由 で KafkaProducerStage.java 他のファイルで継承されていて、例えば

KafkaProducerStage.java 129〜137行目
  @Override
  public void innerProcess(Object obj) throws StageException {
    if (!(obj instanceof IngesterThriftVersionedEvents)) {
      throw new StageException(this, "Object is not IngesterThriftVersionedEvents: " + obj);
    }

    IngesterThriftVersionedEvents events = (IngesterThriftVersionedEvents) obj;
    tryToSendEventsToKafka(events);
  }

などでオーバーロードしていると思います。
(ここでは簡単に言えば kafka producer の データを流そうとしていると思います)
該当するソースコードも参照。
オーバーロードできる関数を調べようと思って、org.apache.commons.pipeline.stage.InstrumentedBaseStage を調べたのですが、ググっても出ない上、公式ドキュメント も2009年で更新が止まっているのか情報が出てきません。

該当するソースコード

使用例)

import org.apache.commons.pipeline.stage.InstrumentedBaseStage;
public class TwitterBaseStage<T, R> extends InstrumentedBaseStage {
  @Override
  public void innerProcess(Object obj) throws StageException {
    if (!(obj instanceof IngesterThriftVersionedEvents)) {
      throw new StageException(this, "Object is not IngesterThriftVersionedEvents: " + obj);
    }

    IngesterThriftVersionedEvents events = (IngesterThriftVersionedEvents) obj;
    tryToSendEventsToKafka(events);
  }

自分で試したこと

ググって出てこなかったので、公式ドキュメント(2009年以降更新なし?)を探してみたが、見つからず・・・
もしかして、apache なのに OSS で開発していないライブラリがあるんでしょうか?(自分もあまり apache の OSS については詳しくないですが)それか Twitter内部で apache のソースコードにパッチを当てているんでしょうかね?

0 likes

No Answers yet.

Your answer might help someone💌