2016-05-13 7 views
0

ich einen Strom als Strom definiert haben erstellen --name foo --definition samplesource | Sampleprozessor | Beispielverbindung --deploy Ich benutze Redis als MessageBus.wie Kanalnamen zur Laufzeit in springxd bekommen

Wenn sampleprocessor oder samplesink ausgefallen ist, dann wird xd schieben failed Meldungen zu Redis in Fehler: foo.n Warteschlange. Ich schreibe Code, um die Nachrichten von Fehlerwarteschlange zu foo.n zu bringen.

Herausforderung hier ist, ich will nicht den Stream-Namen in meinem Code codieren, wie dieses Stück über all meine xd Module gehandhabt wird.

Können wir den Kanalnamen on the fly?

Dank im Voraus

Antwort

0

I-Code ich schreibe ...

Wo ist, dass Code ausgeführt zu gehen?

Wenn es innerhalb eines Moduls in dem Strom ist, Modul-Metadaten über die Anwendungskontext Umgebung Eigenschaften zur Verfügung:

${xd.group.name} 
    ${xd.module.label} 
    ${xd.module.type} 
    ${xd.module.sequence} 
+0

Wir bauen sind über einen separaten xd Strom (errorsrc | errsink), die die err msgs von RedisBus liest und schiebt sie zur Zielwarteschlange. Also brauche ich alle Warteschlangen von allen Streams, die in diesem XD env definiert sind. –