2016-10-12 2 views
0

Suchen Sie nach Ratschlägen zum Aufbau einer einfachen Multi-Thread-Quelle.Benötigen Sie eine einfache Multithread-Gerinne-Quelle

Ich habe eine SPOOLDIR Quelle in meinem lokalen Dev-Umgebung wurde mit meinem Abfangjäger zu testen, aber über den Link unten, sieht es aus wie SPOOLDIR Quellen wird immer Single-Threaded sein:

Reading Flume spoolDir in parallel

Wir haben ein Interceptor, der in der Produktion fehlerhaft ist, weil er ein nicht threadsicheres SimpleDateFormatter verwendet und ich versuche, es in meiner einfachen Entwicklungsumgebung zu reproduzieren.

Antwort

0

Ich war schließlich in der Lage, das Multithread-Buggy-Verhalten, das wir in der Produktion sahen, zu reproduzieren, indem ich meine Entwicklungsumgebung von einer SpoolDir-Quelle auf eine Syslogtcp-Quelle umstellte. Der Fehler entsprach nicht unseren Erwartungen, er hatte nichts mit SimpleDateFormatter zu tun, sondern vielmehr, wie er zusätzliche Informationen in Ereignis-Header eingefügt hat.

Ich simuliert einen Syslog-Server mit nc (netcat), um Daten an den Syslog-Port zu senden. Ich habe überprüft, dass der Interceptor von mehr als einem Thread aufgerufen wurde, indem ich den Thread-Namen und die ID protokollierte.

Für alle Interessierten ist es wahrscheinlich am besten, Ihre Interzeptoren mit einer Multithreadquelle wie syslogtcp und nicht mit einer spoolDir-Quelle zu testen.

Verwandte Themen