내가 토폴로지를 가지고 : Bolt1이 튜플을받는 곳 르네가 Bolt2 및 기타 스트림에 의해 가입 된 스트림 "mystream"
을 가지고BaseRichSpout - Apache Storm의 fail() 메소드에서 실패의 근원을 찾는 방법? 다음과 같이
Spout --> Bolt 1 --> Bolt2 --> Bolt3
을 "bolt1stream"
입니다.
, 나는이 들어
Bolt1에서 다시는 Bolt2에서 재생을하고 싶습니다, 나는 Bolt2에서 튜플을 실패 할 수 있습니다. 이 실패 메시지가 spout에 도달하면 실패한 지점을 기준으로 mystream/bolt1stream으로 내 보냅니다. 따라서 오류 지점에서 처리가 시작됩니다.
그러나 BaseRichSpout
의 fail()에는 Tuple 대신 Object 매개 변수가 있습니다. 튜플과 마찬가지로 sourceComponent
을 어떻게 알 수 있습니까? 또는 실패한 곳에서 튜플을 재생하는 가장 좋은 방법은 무엇입니까? 각 스트림에 대한 사전
MyTupleClass는 볼트에 보내려는 데이터를 저장하기 위해 만드는 클래스입니다. 그러나 그것을 구현하십시오 : class MyTupleClass {public String someInfo;}. 또한 문제에 대한 토론을 확대하고 싶다면 storm 메일 링리스트 http://mail-archives.apache.org/mod_mbox/storm-user/가 있습니다. 이 대답이 도움이된다면, 그것을 상향 조정하여 그것을 수용 가능한 대답으로 표시 할 수 있습니다. – Nav
나는 (MyTupleClass)도 확인 할 수 있습니까? org.quadrisk.utils.EventTuple을 backtype.storm.tuple.Tuple로 변환 할 수 없다는 오류가 발생합니다. –