Frage

Hier sind die Angaben, die ich versuche, auf den Punkt zu implementieren:

1) haben einige Benachrichtigungen über bestimmte Ereignisse in der Anwendung gesendet werden.

2) Diese Warnungen haben abonnieren Benutzer zu ihnen.

3) und die Benutzer haben ihre eigenen Benachrichtigungseinstellungen festgelegt (zum Beispiel E-Mail und / oder SMS).

Ich habe nicht in der Lage gewesen, so weit eine Open-Source-Lösung in Java zu finden.

Ist JMX Benachrichtigungen eine Option? Je mehr ich las über JMX, desto mehr fühle mich, dass es versucht, etwas zu erreichen, unterschiedlich, dass mein Problem.

Jede Hilfe wäre nützlich.

War es hilfreich?

Lösung

JMX kann ein Mechanismus sein, um dieses Problem zu lösen, aber es ist nicht die komplette Lösung.

JMX bietet Einrichtungen und Dienstleistungen, um Ihre Programme Kunden zu ermöglichen, als auch Monitoring-Daten zuzugreifen, als so dass Kunden Kontrolle Anrufe an die Anwendung machen.

Wie Sie erwähnt haben, ein Aspekt der JMX ist das Benachrichtigungssystem. Was dieses System bietet, ist Infrastruktur, um es einfach für Ihr Programm zu machen, Warnungen und Benachrichtigungen für die Kunden verfügbar und moderne JVMs auch einen kostenlosen JMX-Server zur Verfügung stellt Client zu ermöglichen, auf diese Ereignisse auf Ihre Anwendung fern und abonnieren Sie verbinden.

Aber es ist eine Sache, eine JMX Warnung zu machen, und es ist ganz eine andere Sache, danach zu handeln.

Was würden Sie tun müssen, ist einige JMX-Client haben, irgendwo, „subscribe“ an die JMX-Benachrichtigungen Ihrer Programme, und dann kann dieser Client auf jene Benachrichtigung handeln, indem sie E-Mails, oder was auch immer.

Das JMX-Client kann im Gespräch ein Remote-Client über TCP Ihre Anwendung sein, oder es kann ein interner JMX-Client innerhalb des Programms sein, in einem Thread ausgeführt wird, sagen sie, und es kann über die Anmeldungen handeln.

Also, im Grunde bietet JMX die Sanitär-und Infrastruktur für das, was Sie tun wollen, aber es braucht nicht „die letzte Meile“, um Warnungen in E-Mails zu konvertieren.

Wie @fawce erwähnt, gibt es einige „generische“ JMX-Clients verschiedener Komplexität, die auf JMX Daten handeln kann und kann tun, was Sie wollen (ich mit ihnen nicht vertraut bin, so kann ich nicht aus erster Hand sagen), oder Sie können Ihr eigenes System Code, um die JMX-Daten zu überwachen.

Andere Tipps

Wenn Sie JMX bedeuten, gibt es eine JBoss / Nagios Brücke genannt monju , die einen generlized JMX Haken hat.

Ich würde vorschlagen, JMX-Benachrichtigungen und SNMP verwendet, die Ihr Szenario unterstützen sollten, 2) und 3) durch die SNMP-Software abgedeckt.

Sie können auch sie in Java-Code selbst, solange Sie Zugang zu einer SMS-Gateway mit einigen API haben. javax.mail zu verwenden ist einfach, solange Sie Zugriff auf einen SMTP-Host haben den anonymen Zugriff zu ermöglichen. Ein flexibles Publish-Subscribe-Mechanismus für 2) verwendet werden kann, 1) zu verbinden und 3).

Hier ist ein guter Artikel mit Beispielcode für jms in Ihrem App-Benachrichtigungen zu erhöhen link text . Sobald Sie, dass mit lokaler Überwachung arbeiten müssen Sie die -Dom.sun.management.jmxremote.port = 9999 -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false so einstellen dass Sie von einem entfernten Rechner verbinden. ein schönes, einfaches Programm JMX aktiviert Java zu überwachen, die Warnungen Webseiten von Graphen zu bewegen und eine E-Mail aus plotten kann, wenn Schwellenwerte ändern

Solarwinds ist ein kommerzielles Unternehmen Monitoring-Tool, das die Fähigkeit, sich in JMX Haken für die Überwachung hat. Es hat die Fähigkeit, SMS und E-Mail-Benachrichtigungen zu generieren.

Wollen Sie JMS (anstelle von JMX)? JMS ist ein Messaging API während JMX eine Überwachung / Verwaltung-API ist. JMS als Back-End ist eine gute Möglichkeit, die Back-End-Nachrichten zu implementieren, wird es von decoupaging, Lastenausgleich sorgen und Beharrlichkeit. Aber Sie haben noch eine Komponente haben, der die Nachrichten empfängt und schickt sie an den Benutzer weiter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top