2016-06-17 14 views
2

Sowohl die Solace-Warteschlange als auch mein Programm abonnieren #LOG/INFO/SUB_ADD/DEVICE/ID/123. Wenn ein neues Gerät, das DEVICE/ID/123 verbindet und abonniert, können beide das Abonnement-Ereignis erfolgreich empfangen.Warum erhält die Warteschlange das Abonnementereignis, aber nicht mein Programm?

Wenn ich jedoch die Subskription #LOG/INFO/SUB_ADD/DEVICE/ID/> festlege, empfängt nur die Solace Queue das Ereignis.

Warum kann mein Programm das Abonnementsereignis nicht empfangen? Das Problem bleibt bestehen, auch nachdem mein Programm das Abonnement auf #LOG/> festgelegt hat.

+0

Bitte bestätigen Sie, dass hier 3 separate Geräte vorhanden sind. Die Warteschlange auf dem Router, Ihr benutzerdefiniertes Programm hört "# LOG />" und ein drittes Gerät, das "DEVICE/ID/123" verbindet und abonniert. –

Antwort

1

Ein mögliches Problem hier ist, dass es eine ACL-Regel gibt, die Ihre Anwendung daran hindert, ein oder mehrere Themen in #LOG/INFO/SUB_ADD/DEVICE/ID/> zu abonnieren. Dies kann leicht mit show log acl subscribe-topic verifiziert werden.

Wenn dies nicht der Fall ist, kehren Sie bitte mit den CLI-Ausgaben von show client <client-name> stats detail und show client <client-name> subscriptions zurück, um das Problem genauer zu untersuchen.