CSA: Konfigurieren von JDBC Ping als Alternative zu Multicast (nur On-Premise)

ccppmop1581
Als Alternative zum Netzwerk-Multicast ermöglicht
Clarity
die optionale Implementierung des JDBC-basierten Messaging auf Datenbankebene mithilfe des JGROUPS JDBC Ping-Discovery-Protokolls. JDBC Ping verwendet eine gemeinsame freigegebene Datenbank zum Speichern von Informationen über Cluster-Knoten, die für die Erkennung verwendet werden.
Die Option JDBC Ping ist nur in
Clarity
Version 15.3 oder höher verfügbar und wird nur von diesen Versionen unterstützt.
Im Idealfall können alle Cluster-Knoten auf dieselbe Datenbank zugreifen. Beim Start eines Knotens fragt er Informationen zu vorhandenen Mitgliedern aus der Datenbank ab, bestimmt den Koordinator und fordert die
Clarity
-Knoten auf, dem Cluster beizutreten. Jeder Knoten fügt auch Informationen über sich selbst in die Tabelle ein, damit andere Knotenmitglieder ihn finden können. Nachrichten werden wie in Multicast zugestellt, es sei denn, sie werden jetzt von JDBC verarbeitet.
Jaspersoft kann JDBC Ping nicht verwenden. Geclusterte Jaspersoft-Umgebungen müssen weiterhin Multicast verwenden. Wenn Sie Jaspersoft auf einem einzelnen Server bereitstellen, müssen Sie weiterhin Multicast verwenden. Jaspersoft-Instanzen auf einem einzelnen Server verwenden eine direkte JDBC-Datenbankverbindung zu PPM.
2
Die neue Abkürzung für die
Clarity
-Systemverwaltung (CSA) wird manchmal noch mit der alten Abkürzung (NSA) angezeigt.
JDBC Ping: Voraussetzungen
1 unvollständig Überprüfen Sie alle Einstellungen in einer Nicht-Produktionsumgebung, wie z. B. in einer Entwicklungs- und Testumgebung, bevor Sie zu einem aktiven Produktionssystem wechseln. 6 unvollständig Vergewissern Sie sich, dass die Konfiguration von
Clarity
entweder Multicast oder JDBC PING verwendet. Sie können diese Optionen nicht gemeinsam verwenden. 2 unvollständig Vergewissern Sie sich bei Verwendung von JDBC PING, dass alle
Clarity
-Services zur Verwendung von JDBC PING konfiguriert sind. 3 unvollständig Stellen Sie sicher, dass alle NSA-Kennwörter auf allen Servern auf den gleichen Wert festgelegt sind. Ein gemeinsames Kennwort wird für alle NSA-Dienste von allen Mitgliedern des Clusters gemeinsam genutzt. Dieses Kennwort dient zur Validierung von Multicast-Paketen, die von verschiedenen Cluster-Knoten gesendet wurden. Ist ein Zurücksetzen erforderlich, führen Sie aus
admin password
. 4 unvollständig Wenn ein Server über mehrere IP-Adressen (mehrere NICs) verfügt, müssen Sie den Beacon-Dienst so konfigurieren, dass er sich an eine einzelne bestimmte IP-Adresse bindet. Stellen Sie den Beacon-Dienst nach Änderungen erneut bereit. 5 unvollständig
Stellen Sie sicher, dass sich alle Services im gleichen Subnetz befinden.
  • Verwenden Sie zur Bestätigung unter Windows
    ipconfig
    .
  • Verwenden Sie zur Bestätigung unter Linux
    ifconfig
    .
JDBC Ping: Konfiguration
Nehmen Sie Ihre Einträge in CSA und der Datei "properties.xml" sorgfältig vor. Ein einzelner Fehler bei der Konfiguration der Netzmaske während der Serverbereitstellung kann dazu führen, dass Dienste nicht miteinander kommunizieren können.
20180614-JDBC-PING-CSA.jpg
Gehen Sie wie folgt vor
:
  1. Öffnen Sie CSA, indem Sie zu
    http://<ca_ppm_server>:<port>
    navigieren. Beispiel:
    http://ppm_server.my.org:8090
    .
  2. Klicken Sie auf
    Startseite
    ,
    Alle Dienste
    . Beenden Sie alle
    Clarity
    -Dienste, bevor Sie Änderungen vornehmen.
  3. Klicken Sie auf
    Startseite
    ,
    Server
    .
  4. Wiederholen Sie diese Schritte für jeden Server im Anwendungscluster:
    1. Klicken Sie auf den Server. Der Servername wird als Link angezeigt. Zum Beispiel: my_ca_ppm:<port> (lokal).
      Die Seite "Eigenschaften" wird angezeigt.
    2. Belassen Sie im Feld
      Multicast-Adresse
      die Standard-IP, damit das erforderliche Feld ausgefüllt bleibt.
    3. Belassen Sie im Feld
      Multicast-Port
      den vorherigen Wert, oder geben Sie einen Standardportwert wie 8090 oder 9090 ein, um das erforderliche Feld auszufüllen.
    4. Geben Sie im Feld
      Bind-Adresse
      die IP-Adresse für den Anwendungsserver ein. Eine Bind-Adresse ist eine lokale Netzwerkschnittstellen-IP-Adresse, mit der sicherstellt wird, dass alle Rechner die gleiche IP-Schnittstelle auf dem gleichen Subnetz verwenden. Bei mehreren Servern muss jeder Server über die richtige Bind-/IP-Adresse für diesen Server verfügen. Wenn ein Server über mehrere NICs und somit über mehrere IP-Adressen verfügt, müssen Sie die IP-Adresse angeben, die von
      Clarity
      zur Netzwerkkommunikation verwendet werden soll.
      Im Gegensatz zu Multicast erfordert JDBC PING nicht, dass alle Server zum selben Subnetz gehören.
    5. Klicken Sie auf
      Speichern
      .
  5. Öffnen Sie die Datei
    properties.xml
    auf jedem Server.
    1. Fügen Sie wie im folgenden Beispiel im Abschnitt
      NSA
      den Parameter
      useJDBCPing="true"
      hinzu:
      <nsa bindAddress="###.###.###.###" multicastAddress="###.###.###.###" multicastPort="9191" clientPort="9288" serviceName="CA PPM Beacon 123" useJDBCPing="true" "autoDiscovery=true" />
      Ersetzen Sie # durch Ihre IP-Knotenwerte.
    2. Falls Sie die Feldwerte
      Bind-Adresse
      nicht bereits in CSA festgelegt haben, können Sie diese manuell in der Datei
      properties.xml
      festlegen. Die Eigenschaft
      bindAddress
      sollte die mit dem angegebenen Anwendungsserver verknüpfte IP-Adresse verwenden.
    3. Wiederholen Sie diese Schritte für jeden Server.
      Wenn der Server über mehrere IP-Adressen (NICs) verfügt, müssen Sie den Beacon-Dienst so konfigurieren, dass er sich an eine einzelne bestimmte IP-Adresse bindet. Dieser Schritt ist nicht erforderlich. Sind die Beacons jedoch nicht richtig konfiguriert, werden die Server nicht in CSA angezeigt. Wenn Sie Änderungen vorgenommen haben, beenden und entfernen Sie den Beacon-Dienst, fügen Sie diesen hinzu und stellen Sie ihn bereit.
  6. Klicken Sie in CSA auf
    Startseite
    ,
    Alle Dienste
    . Starten Sie alle
    Clarity
    -Dienste.
  7. Stellen Sie sicher, dass die Beacon-Dienste auf allen Servern im Cluster erfolgreich gestartet wurden. Führen Sie auf jedem Anwendungsserver den folgenden Befehl aus:
    niku start beacon
    .
  8. Bestätigen Sie, dass der Beacon-Dienst aktiv bleibt. Führen Sie auf jedem Anwendungsserver den folgenden Befehl aus:
    niku status beacon
    .
JDBC Ping: Vergewissern Sie sich, dass JDBC Ping Messaging aktiviert ist.
Nach der Aktivierung von JDBC Ping erstellt die
Clarity
-Datenbank eine Tabelle mit der Bezeichnung
CMN_JGROUPS_PING
.
  • Die Adressinformationen von JDBC Ping werden in dieser Tabelle gespeichert.
  • Knoten in einem Cluster werden ebenfalls in dieser Tabelle registriert.
Gehen Sie wie folgt vor
:
  1. Greifen Sie mit den Zugriffsberechtigungen zum Anzeigen dieser Tabelle auf die Datenbank zu.
  2. Stellen Sie sicher, dass die Datenbanktabelle
    CMN_JGROUPS_PING
    mit den Informationen über alle
    Clarity
    -Dienste ausgefüllt ist.
    In der folgenden Abbildung wird ein Beispiel gezeigt:
    image2018-6-11 12:24:49.png
    CREATED
    : Datum und Uhrzeit der letzten gesendeten Meldung.
    CLUSTER_NAME
    : Der Themenname des übergeordneten Clusters für jeden Mitgliedsserver.
    PING_DATA
    : Der Nachrichteninhalt.
    UUID
    : Die eindeutige ID für jeden Server, die eine Anwendungsinstanz-ID und einen Themennamen umfasst. In diesem Beispiel wird der Themenname in allen Fällen auf CLRTY festgelegt.
  3. Wenn JGroups JDBCPing verwendet, erfolgt die Erkennung der Knoten im Cluster mithilfe der Datenbank. Nachdem die Knoten erkannt wurden, ist das Protokoll zwischen den Knoten TCP und sollte Peer-to-Peer sein.
    1. Aktualisieren Sie die Datei
      my/etc/hosts
      so, dass sie auf 127.0.0.1 verweist und
      $HOSTNAME
      verwendet.
    2. Verwenden Sie einen Befehl "telnet" oder "nc", um die Port-Verbindung zu testen.
    3. Vergewissern Sie sich, dass die Kommunikation auf dem Beacon-Port
      offen
      ist.
Beim Wechsel auf JDBC Ping sind keine weiteren Schritte für die
Clarity
-Integrationen mit SSO erforderlich.
Wenn Sie Ihre Datenbank von der Produktion zum Testen aktualisieren, führen Sie den
truncate table CMN_JGROUPS_PING
Befehl aus, um vorhandene Einträge aus der Tabelle "CMN_JGROUPS_PING" zu löschen. Wenn Sie diesen Schritt nicht ausführen, können Sie die
Clarity
-Dienste nicht auf dem aktualisierten Datenbankserver starten.
Clarity
Hybrid Cloud-Migrationen
CA stellt
Clarity
SaaS- und andere CA Cloud-Lösungen
bereit. Wir wissen auch, dass einige Kunden möglicherweise eine benutzerdefinierte AWS- oder Microsoft Azure-Konfiguration bereitstellen und verwalten. Sie können als
Clarity
-Administrator die folgenden allgemeinen Schritte ausführen:
  1. Wechseln Sie nach der Aktualisierung zu JDBC Ping. Mehrere
    Clarity
    -Anwendungsdienste können über JDBC Ping miteinander kommunizieren.
  2. Jaspersoft-Umgebungen auf einem einzelnen Server können mithilfe einer direkten JDBC-Verbindung mit dem
    Clarity
    -Datenbankserver kommunizieren.
Zu diesem Zeitpunkt werden geclusterte Jaspersoft-Konfigurationen in Azure, AWS oder anderen öffentlichen, privaten oder Hybrid Cloud-Umgebungen nicht unterstützt. Wir sind uns jedoch bewusst, dass Bedarf für diese Funktion besteht. Weitere Informationen finden Sie im nachfolgenden neuen Abschnitt. Eingeschränkte Unterstützung ist für das replizierte Zwischenspeichern mithilfe von JMS verfügbar.
Konfigurieren des replizierten Zwischenspeicherns für JasperReports Server mit JMS
Bei Azure, AWS, Google Cloud und anderen öffentlichen Clouds, in denen Multicast deaktiviert und JDBC Ping aktiviert ist, wurde Jaspersoft-Clusterkonfiguration zuvor nicht unterstützt. Eingeschränkte Unterstützung ist jetzt für die Verwendung von Java Message Service (JMS) für die Ehcache-Replikation von Jaspersoft-Servern verfügbar.
JMS ist ein Mechanismus für die Interaktion mit Nachrichtenwarteschlangen. Open-Source-Optionen für Linux und Windows umfassen Apache ActiveMQ und Oracle Open MQ. Für JasperReports 6.1.0 oder höher ist die Ehcache-Replikation über JMS jetzt verfügbar und wird unterstützt. (In unseren Tests und dieser Dokumentation wurde ActiveMQ 5.12.1 verwendet.)
Mit dem JMS-Replikationsmodul von Ehcache kann Ihre Organisation die Investition Ihrer Nachrichtenwarteschlange für das Zwischenspeichern nutzen.
  • Jeder Cache-Knoten abonniert ein vordefiniertes Thema, das als <topicBindingName> in
    ehcache.xml
    konfiguriert ist.
  • Jeder replizierte Cache veröffentlicht Cache-Elemente in diesem Thema. Replikation wird in Übereinstimmung mit dem standardmäßigen Ehcache-Replikationsmechanismus pro Cache konfiguriert.
  • Daten werden von externen Themenherausgebern in jeder Sprache direkt zu den Cache-Knoten übertragen. Nachdem die Daten zum Replikationsthema gesendet worden sind, werden sie automatisch von den Cache-Abonnenten aufgenommen.
  • JMSCacheLoader sendet vor dem Senden einer Antwort Cache-Ladeanforderungen an einen der folgenden Warteschlangentypen:
    • Ehcache-Cluster-Knoten
    • Externen Warteschlangenempfänger
Die folgende Abbildung veranschaulicht die Beziehungen zwischen den Entitäten*:
apache_jms_diagram.png
* Bild mit freundlicher Genehmigung der Apache Software Foundation. Apache ActiveMQ, Apache, das Apache-Federlogo und das Apache ActiveMQ-Projektlogo sind Marken der Apache Software Foundation.
Gehen Sie wie folgt vor:
  1. Stellen Sie sicher, dass Sie bereits eine unterstützte Version von
    Clarity
    mit JasperReports Server in einem Cluster installiert haben.
  2. Stellen Sie sicher, dass alle JasperReports Server-Knoten auf einen einzigen Datenbankknoten verweisen.
  3. Installieren und konfigurieren Sie die Serverinstanz von ActiveMQ. Informationen zum Herunterladen und Installieren von ActiveMQ finden Sie unter http://activemq.apache.org/version-5-getting-started.html.
  4. Stellen Sie sicher, dass auf den Standardport des ActiveMQ-Broker zugegriffen werden kann.
  5. Starten Sie den ActiveMQ-Server.
  6. Laden Sie die ZIP-Datei herunter. Die Konfiguration erfolgt in der Datei
    ehcache.xml
    .
  7. Jeder Cluster benötigt einen festen Themennamen für die Replikation. Standardmäßig unterstützt ActiveMQ die automatische Erstellung von Zielen.
  8. Konfigurieren Sie JMSCacheManagerPeerProviderFactory global für CacheManager. Führen Sie diesen Schritt einmal pro CacheManager aus (einmal pro Datei "ehcache.xml").
  9. Fügen Sie für jede Cache-Konfiguration, die Sie replizieren möchten, JMSCacheReplicatorFactory zum Cache hinzu.
    Alle oben genannten Konfigurationen sind in der Datei
    ehcache.xml
    verfügbar, die mit JasperReports Server 6.1.0 verteilt wird. Folgen Sie den nachfolgenden Anweisungen, um die Cache-Verteilung mit JMS zu konfigurieren. Multicasting wird für RMI, JMS und AWS unterstützt. In unseren Tests folgen wir dem RMI-Mechanismus.
  10. Halten Sie den Tomcat-Server an.
  11. Wechseln Sie zu
    <tomcat>/webapps/reportservice/WEB-INF
    und öffnen Sie die Datei
    ehcache_hibernate.xml
    in einem Editor.
  12. Kommentieren Sie den folgenden Abschnitt der Datei zwischen den Kommentaren **NO CLUSTERING*** und ***END of NO CLUSTERING*** aus, oder entfernen Sie ihn:
    <!-- *********************** NO CLUSTERING ************************* --> <!-- <cache name="defaultRepoCache" maxElementsInMemory="10000" eternal="false" overflowToDisk="false" timeToIdleSeconds="36000" timeToLiveSeconds="180000" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" statistics="true"> </cache> <cache name="aclCache" maxElementsInMemory="10000" eternal="false" overflowToDisk="false" timeToIdleSeconds="360000" timeToLiveSeconds="720000" diskPersistent="false"> </cache>--> <!-- ******************** END of NO CLUSTERING ****************** -->
  13. Heben Sie die Kommentierung des Abschnitts zwischen ***JMS*** und ***END OF JMS*** auf, indem Sie die Zeilen <!--START und END--> entfernen. Hierdurch aktivieren Sie die Ehcache-Replikation über JMS.
    <!-- ****************** JMS ****************** --> <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.jms.JMSCacheManagerPeerProviderFactory" properties="initialContextFactoryName=com.jaspersoft.jasperserver.api.engine.replication.JRSActiveMQInitialContextFactory, providerURL=tcp://EXAMPLE_SERVER-I154330:61616, replicationTopicConnectionFactoryBindingName=topicConnectionFactory, replicationTopicBindingName=ehcache, getQueueConnectionFactoryBindingName=queueConnectionFactory, getQueueBindingName=ehcacheQueue, topicConnectionFactoryBindingName=topicConnectionFactory, topicBindingName=ehcache" propertySeparator=","/> <cache name="org.hibernate.cache.StandardQueryCache" maxEntriesLocalHeap="5000" maxElementsInMemory="5000" eternal="false" timeToLiveSeconds="120"> <cacheEventListenerFactory class="net.sf.ehcache.distribution.jms.JMSCacheReplicatorFactory" properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true, asynchronousReplicationIntervalMillis=1000" propertySeparator=","/> <cacheLoaderFactory class="net.sf.ehcache.distribution.jms.JMSCacheLoaderFactory" properties="initialContextFactoryName=com.jaspersoft.jasperserver.api.engine.replication.JRSActiveMQInitialContextFactory, providerURL=tcp://EXAMPLE_SERVER-I154330:61616, replicationTopicConnectionFactoryBindingName=topicConnectionFactory, replicationTopicBindingName=ehcache, getQueueConnectionFactoryBindingName=queueConnectionFactory, getQueueBindingName=ehcacheQueue, topicConnectionFactoryBindingName=topicConnectionFactory, topicBindingName=ehcache" propertySeparator=","/> </cache> <cache name="org.hibernate.cache.UpdateTimestampsCache" maxEntriesLocalHeap="5000" eternal="true"> <cacheEventListenerFactory class="net.sf.ehcache.distribution.jms.JMSCacheReplicatorFactory" properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=true, replicateRemovals=true, asynchronousReplicationIntervalMillis=1000" propertySeparator=","/> <cacheLoaderFactory class="net.sf.ehcache.distribution.jms.JMSCacheLoaderFactory" properties="initialContextFactoryName=com.jaspersoft.jasperserver.api.engine.replication.JRSActiveMQInitialContextFactory, providerURL=tcp://samsh06-I154330:61616, replicationTopicConnectionFactoryBindingName=topicConnectionFactory, replicationTopicBindingName=ehcache, getQueueConnectionFactoryBindingName=queueConnectionFactory, getQueueBindingName=ehcacheQueue, topicConnectionFactoryBindingName=topicConnectionFactory, topicBindingName=ehcache" propertySeparator=","/> </cache> <cache name="defaultRepoCache" maxElementsInMemory="10000" eternal="false" overflowToDisk="false" timeToIdleSeconds="36000" timeToLiveSeconds="180000" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" statistics="true"> <cacheEventListenerFactory class="net.sf.ehcache.distribution.jms.JMSCacheReplicatorFactory" properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=true, replicateRemovals=true, asynchronousReplicationIntervalMillis=1000" propertySeparator=","/> <cacheLoaderFactory class="net.sf.ehcache.distribution.jms.JMSCacheLoaderFactory" properties="initialContextFactoryName=com.jaspersoft.jasperserver.api.engine.replication.JRSActiveMQInitialContextFactory, providerURL=tcp://EXAMPLE_SERVER-I154330:61616, replicationTopicConnectionFactoryBindingName=topicConnectionFactory, replicationTopicBindingName=ehcache, getQueueConnectionFactoryBindingName=queueConnectionFactory, getQueueBindingName=ehcacheQueue, topicConnectionFactoryBindingName=topicConnectionFactory, topicBindingName=ehcache" propertySeparator=","/> </cache> <cache name="aclCache" maxElementsInMemory="10000" eternal="false" overflowToDisk="false" timeToIdleSeconds="360000" timeToLiveSeconds="720000" diskPersistent="false"> <cacheEventListenerFactory class="net.sf.ehcache.distribution.jms.JMSCacheReplicatorFactory" properties="replicateAsynchronously=true, replicatePuts=false, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true, asynchronousReplicationIntervalMillis=1000" propertySeparator=","/> <cacheLoaderFactory class="net.sf.ehcache.distribution.jms.JMSCacheLoaderFactory" properties="initialContextFactoryName=com.jaspersoft.jasperserver.api.engine.replication.JRSActiveMQInitialContextFactory, providerURL=tcp://EXAMPLE_SERVER-I154330:61616, replicationTopicConnectionFactoryBindingName=topicMConnectionFactory, replicationTopicBindingName=ehcacheM, getQueueConnectionFactoryBindingName=queueMConnectionFactory, getQueueBindingName=ehcacheMQueue, topicConnectionFactoryBindingName=topicMConnectionFactory, topicBindingName=ehcacheM" propertySeparator=","/> </cache> <!-- ******************** END of JMS ************************* -->
  14. Geben Sie die Broker-URL der ActiveMQ-Instanz an. Suchen Sie in der XML-Datei das Attribut
    providerURL
    , und geben Sie den Wert der ActiveMQ-Broker-URL an. Aktualisieren Sie das Attribut
    providerURL
    an fünf (5) verschiedenen Stellen in der Datei
    ehcache.xml
    . Beispiel:
    providerURL=tcp://EXAMPLE_SERVER-I154330:61616
    .
    <cacheLoaderFactory class="net.sf.ehcache.distribution.jms.JMSCacheLoaderFactory" properties="initialContextFactoryName=com.jaspersoft.jasperserver.api.engine.replication.JRSActiveMQInitialContextFactory, providerURL=tcp://localhost:61616, replicationTopicConnectionFactoryBindingName=topicMConnectionFactory, replicationTopicBindingName=ehcacheM, getQueueConnectionFactoryBindingName=queueMConnectionFactory, getQueueBindingName=ehcacheMQueue, topicConnectionFactoryBindingName=topicMConnectionFactory, topicBindingName=ehcacheM" propertySeparator=","/>
  15. Speichern Sie die Datei.
  16. Wiederholen Sie dieselben Konfigurationsänderungen in den folgenden Dateien:
    • <tomcat>/webapps/reportservice/WEB-INF/ehcache_hibernate.xml
    • <tomcat>/webapps/reportservice/WEB-INF/classes/ehcache_hibernate.xml
  17. Wiederholen Sie dieselbe Konfiguration (alle Schritte) für alle im Cluster verfügbaren JasperReports Server-Instanzen.
  18. Löschen oder bereinigen Sie die folgenden Verzeichnisse:
    • tomcat
      temp
    • work/Catalina/localhost
  19. Starten Sie den Tomcat-Server.
Konfigurieren von ActiveMQ für JasperReports auf Windows Server
  1. Laden Sie den ActiveMQ-Server von Apache unter http://activemq.apache.org/activemq-5158-release.html herunter.
  2. Extrahieren Sie die ZIP-Datei für Windows.
  3. Installieren Sie Java JDK 1.7 oder höher. In diesem Dokument verwenden wir JDK 11.
  4. Legen Sie die Umgebungsvariable JAVA_HOME auf dem Server fest.
  5. Navigieren Sie zu dem Verzeichnis, in das ActiveMQ extrahiert wurde. In diesem Beispiel ist es
    E:\activemq\bin
    .
  6. Führen Sie den Befehl
    "activemq start"
    aus, um den ActiveMQ-Server zu starten.
    E:\activemq\bin>activemq start
  7. Nachdem der Server gestartet wurde, können wir auf die Verwaltungskonsole auf Port 8161 zugreifen. Öffnen Sie einen Browser, und geben Sie
    http://hostname:8161/admin
    ein. Die Standarddaten für Benutzername/Kennwort lauten "admin".
Konfigurieren von JasperReports Server mit ActiveMQ
  1. Halten Sie den Jasper-Dienst an.
  2. Navigieren Sie zu
    %TOMCAT_HOME%/webapps/reportservice/WEB-INF
    .
  3. Bearbeiten Sie die Datei
    "ehcache_hibernate.xml"
    .
  4. Kommentieren Sie die Zeilen zwischen den Abschnitten
    "RMI"
    und
    "END OF RMI"
    aus.
    image2019-4-3_12-51-54.png
  5. Entfernen Sie die Auskommentierung der Zeilen zwischen den Abschnitten
    "JMS"
    und
    "END OF JMS"
    .
  6. Ersetzen Sie für den Wert
    ProvideURL
    "" durch "", wobei "hostname" sich auf den FQDN des ActiveMQ-Servers bezieht. Zwischen den oben stehenden Abschnitten befinden sich 5 Stellen, an denen diese Änderung vorgenommen werden muss.
  7. Kopieren Sie die Datei
    "ehcache_hibernate.xml"
    unter
    %TOMCAT_HOME%/webapps/reportservice/WEB-INF
    in den Ordner
    classes
    .
  8. Starten Sie den Jasper-Dienst.
  9. Wenn Sie sich auf der ActiveMQ-Verwaltungsseite anmelden, sollten die beiden Cache-Anbieter
    ehcacheQueue
    und
    ehcacheMQueue
    angezeigt werden.
Überwachen der ActiveMQ Console
  1. Laden Sie die Serverinstanz von ActiveMQ herunter, und installieren und konfigurieren Sie sie. Weitere Informationen finden Sie unter http://activemq.apache.org/version-5-getting-started.html.
  2. Greifen Sie über http://localhost:8161/admin auf die Webkonsole zu. Ersetzen Sie "localhost" durch die Server-IP, um per Remote-Zugriff auf die ActiveMQ Web Console zuzugreifen.
  3. Um die Gesamtanzahl der Jaspersoft-Instanzen zu überprüfen, die mit dieser ActiveMQ-Instanz verbunden sind, navigieren Sie zur Registerkarte
    Queues
    .
    Beispiel: http://localhost:8161/admin/queues.jsp. Die Tabelle auf dieser Seite zeigt, wie viele Jaspersoft-Instanzen mit den ActiveMQ-Serverinstanzen verbunden sind.
    image2019-4-29_11-14-5.png
  4. Um die Liste der Jaspersoft-Instanzen zu überprüfen, die mit ActiveMQ verbunden sind, navigieren Sie zur Registerkarte
    Connections
    .
    Beispiel: https://localhost:8161/admin/connections.jsp.
    image2019-4-29_11-15-11.png
Ändern des ActiveMQ-Standardkennworts "admin"
  1. Sehen Sie sich die Datei
    <activemq-installer>/conf/jetty-realm.properties
    an.
  2. Das Format ist wie folgt:
    Benutzername:Kennwort,Rollenname
    Die Standardwerte lauten:
    admin:admin,admin
  3. Ändern Sie den zweiten Wert, um das Kennwort wie folgt zu aktualisieren:
    admin: <new-password>, admin