|
|
Veröffentlicht am 21.11.2017 13:53:20
|
|
|
|

Ändere die Datei %ACTIVEMQ_BASE%/conf/activemq.xml, Benutzername und Passwort werden in der Datei %ACTIVEMQ_BASE%/conf/credentials.properties gespeichert,
activemq.xml Details sind wie folgt:
<!-- Lizenziert an die Apache Software Foundation (ASF) unter einem oder mehreren Lizenzvereinbarungen für Mitwirkende. Siehe die NOTICE-Datei, die mit Dieses Werk dient für weitere Informationen zum Urheberrechtsbesitz. Die ASF lizenziert Ihnen diese Datei unter der Apache License, Version 2.0 ("die Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit die Lizenz. Eine Kopie der Lizenz können Sie unter
http://www.apache.org/licenses/LICENSE-2.0
Sofern es nicht durch das geltende Gesetz vorgeschrieben oder schriftlich vereinbart ist, ist Software die unter der Lizenz verteilt wird, erfolgt auf "AS IS"-BASIS, OHNE GARANTIEN ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend. Siehe die Lizenz für die spezifische Formulierung, die Berechtigungen regelt, und Einschränkungen unter der Lizenz. --> <!-- START-AUSSCHNITT: Beispiel --> <Bohnen xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
<!-- Erlaubt uns, Systemeigenschaften als Variablen in dieser Konfigurationsdatei zu verwenden --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <Eigenschaftsname="Orte"> <value>file:${activemq.conf}/credentials.properties</value> </property> </bean>
<!-- Erlaubt die Log-Suche in der Hawtio-Konsole --> <bean id="logQuery" class="org.fusesource.insight.log.log4j.Log4jLogQuery" lazy-init="false" scope="singleton" init-method="start" destroy-method="stopp"> </bean>
<!-- Das <broker> Element wird verwendet, um den ActiveMQ-Broker zu konfigurieren. --> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" useJmx="true">
<destinationPolicy> <policyMap> <policyEntries> <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> <!-- Die constantPendingMessageLimitStrategy wird verwendet, um zu verhindern Langsame Konsumenten, um Produzenten zu blockieren und andere Konsumenten zu beeinflussen indem die Anzahl der erhaltenen Nachrichten begrenzt wird Weitere Informationen finden Sie hier:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Vertriebsstrategie – > <dispatchPolicy> <!-- Verteilt nacheinander – > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Wiederherstellungsstrategie – > <subscriptionRecoveryPolicy> <!-- Nur die letzte Nachricht wiederherstellen --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Zuerst speichert die Nachrichtenreferenz im Speicher, und wenn die Speichernutzung ausgeschöpft ist, wird die Nachrichtenreferenz in einer temporären Datei gespeichert – > <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Lebenslauf – > <policyEntry queue="PER.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Die constantPendingMessageLimitStrategy wird verwendet, um zu verhindern Langsame Konsumenten, um Produzenten zu blockieren und andere Konsumenten zu beeinflussen indem die Anzahl der erhaltenen Nachrichten begrenzt wird Weitere Informationen finden Sie hier:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Vertriebsstrategie – > <dispatchPolicy> <!-- Verteilt nacheinander – > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Wiederherstellungsstrategie – > <subscriptionRecoveryPolicy> <!-- Nur die letzte Nachricht wiederherstellen --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Zuerst speichert die Nachrichtenreferenz im Speicher, und wenn die Speichernutzung ausgeschöpft ist, wird die Nachrichtenreferenz in einer temporären Datei gespeichert – > <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Enterprise - > <policyEntry queue="COM.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Die constantPendingMessageLimitStrategy wird verwendet, um zu verhindern Langsame Konsumenten, um Produzenten zu blockieren und andere Konsumenten zu beeinflussen indem die Anzahl der erhaltenen Nachrichten begrenzt wird Weitere Informationen finden Sie hier:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Vertriebsstrategie – > <dispatchPolicy> <!-- Verteilt nacheinander – > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Wiederherstellungsstrategie – > <subscriptionRecoveryPolicy> <!-- Nur die letzte Nachricht wiederherstellen --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Zuerst speichert die Nachrichtenreferenz im Speicher, und wenn die Speichernutzung ausgeschöpft ist, wird die Nachrichtenreferenz in einer temporären Datei gespeichert – > <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Jobmesse – > <policyEntry queue="RECR.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Die constantPendingMessageLimitStrategy wird verwendet, um zu verhindern Langsame Konsumenten, um Produzenten zu blockieren und andere Konsumenten zu beeinflussen indem die Anzahl der erhaltenen Nachrichten begrenzt wird Weitere Informationen finden Sie hier:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Vertriebsstrategie – > <dispatchPolicy> <!-- Verteilt nacheinander – > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Wiederherstellungsstrategie – > <subscriptionRecoveryPolicy> <!-- Nur die letzte Nachricht wiederherstellen --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Zuerst speichert die Nachrichtenreferenz im Speicher, und wenn die Speichernutzung ausgeschöpft ist, wird die Nachrichtenreferenz in einer temporären Datei gespeichert – > <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Mikrorekrutierung --> <policyEntry queue="MCOM.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Die constantPendingMessageLimitStrategy wird verwendet, um zu verhindern Langsame Konsumenten, um Produzenten zu blockieren und andere Konsumenten zu beeinflussen indem die Anzahl der erhaltenen Nachrichten begrenzt wird Weitere Informationen finden Sie hier:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Vertriebsstrategie – > <dispatchPolicy> <!-- Verteilt nacheinander – > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Wiederherstellungsstrategie – > <subscriptionRecoveryPolicy> <!-- Nur die letzte Nachricht wiederherstellen --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Zuerst speichert die Nachrichtenreferenz im Speicher, und wenn die Speichernutzung ausgeschöpft ist, wird die Nachrichtenreferenz in einer temporären Datei gespeichert – > <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Mikro-Jobsuche – > <policyEntry queue="MPER.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Die constantPendingMessageLimitStrategy wird verwendet, um zu verhindern Langsame Konsumenten, um Produzenten zu blockieren und andere Konsumenten zu beeinflussen indem die Anzahl der erhaltenen Nachrichten begrenzt wird Weitere Informationen finden Sie hier:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Vertriebsstrategie – > <dispatchPolicy> <!-- Verteilt nacheinander – > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Wiederherstellungsstrategie – > <subscriptionRecoveryPolicy> <!-- Nur die letzte Nachricht wiederherstellen --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Zuerst speichert die Nachrichtenreferenz im Speicher, und wenn die Speichernutzung ausgeschöpft ist, wird die Nachrichtenreferenz in einer temporären Datei gespeichert – > <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Backend – > <policyEntry queue="ERP.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Die constantPendingMessageLimitStrategy wird verwendet, um zu verhindern Langsame Konsumenten, um Produzenten zu blockieren und andere Konsumenten zu beeinflussen indem die Anzahl der erhaltenen Nachrichten begrenzt wird Weitere Informationen finden Sie hier:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Vertriebsstrategie – > <dispatchPolicy> <!-- Verteilt nacheinander – > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Wiederherstellungsstrategie – > <subscriptionRecoveryPolicy> <!-- Nur die letzte Nachricht wiederherstellen --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Zuerst speichert die Nachrichtenreferenz im Speicher, und wenn die Speichernutzung ausgeschöpft ist, wird die Nachrichtenreferenz in einer temporären Datei gespeichert – > <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry> </policyEntries> </policyMap> </destinationPolicy>
<!-- Der managementContext wird verwendet, um zu konfigurieren, wie ActiveMQ in JMX. Standardmäßig verwendet ActiveMQ den MBean-Server, von dem gestartet wird die JVM. Weitere Informationen finden Sie hier:
http://activemq.apache.org/jmx.html --> <managementContext> <managementContext createConnector="false"/> </managementContext>
<!-- Konfigurieren Sie die Nachrichtenpersistenz für den Broker. Die Standardpersistenz Der Mechanismus ist der KahaDB-Speicher (identifiziert durch das KahaDB-Tag). Weitere Informationen finden Sie hier:
http://activemq.apache.org/persistence.html --> <persistenceAdapter> <kahaDB directory="E:/activemq_data" enableJournalDiskSyncs="false" indexWriteBatchSize="1000" indexCacheSize="10000" journalMaxFileLength="32mb"
/> </persistenceAdapter>
<plugins> <!-- Authentifizierung konfigurieren; Benutzername, Passwörter und Gruppen --> <simpleAuthenticationPlugin> <users> <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="admins"/> <authenticationUser username="${per.username}" password="${per.password}" groups="personal"/> <authenticationUser username="${mper.username}" password="${mper.password}" groups="mpersonal"/> <authenticationUser username="${com.username}" password="${com.password}" groups="company"/> <authenticationUser username="${mcom.username}" password="${mcom.password}" groups="mcompany"/> <authenticationUser username="${erp.username}" password="${erp.password}" groups="erp"/> <authenticationUser username="${recr.username}" password="${recr.password}" groups="recr"/> </users> </simpleAuthenticationPlugin>
<!-- Konfigurieren wir einen destinationsbasierten Autorisierungsmechanismus --> <authorizationPlugin> <map> <authorizationMap> <authorizationEntries> <authorizationEntry queue=">" read="admins" write="admins" admin="admins" /> <authorizationEntry queue="PER.>" read="personal, mpersonal, company, mcompany, erp, recr" write="personal" admin="personal" /> <authorizationEntry queue="MPER.>" read="personal, mpersonal, company, mcompany, erp, recr" write="mpersonal" admin="mpersonal" /> <authorizationEntry queue="COM.>" read="personal, mpersonal, company, mcompany, erp, recr" write="company" admin="company" /> <authorizationEntry queue="MCOM.>" read="personal, mpersonal, company, mcompany, erp, recr" write="mcompany" admin="mcompany" /> <authorizationEntry queue="ERP.>" read="personal, mpersonal, company, mcompany, erp, recr" write="erp" admin="erp" /> <authorizationEntry queue="RECR.>" read="personal, mpersonal, company, mcompany, erp, recr" write="recr" admin="recr" />
<authorizationEntry topic="ActiveMQ.Advisory.>" read="personal, mpersonal, company, mcompany, erp, recr" write="personal, mpersonal, company, mcompany, erp, recr" admin="personal, mpersonal, company, mcompany, erp, recr" /> </authorizationEntries> </authorizationMap> </map> </authorizationPlugin> </plugins>
<!-- SystemUsage kontrolliert den maximalen Speicherplatz, den der Broker hat Verwenden Sie, bevor Sie das Caching deaktivieren und/oder die Produzenten verlangsamen. Weitere Informationen finden Sie hier:
http://activemq.apache.org/producer-flow-control.html --> <systemUsage> <systemUsage> <memoryUsage> <memoryUsage percentOfJvmHeap="100" /> </memoryUsage> <storeUsage> <storeUsage limit="1 gb"/> </storeUsage> <tempUsage> <tempUsage limit="100 mb"/> </tempUsage> </systemUsage> </systemUsage>
<!-- Die Transportverbinder stellen ActiveMQ über ein gegebenes Protokoll offen für Kunden und andere Makler. Weitere Informationen finden Sie hier:
http://activemq.apache.org/configuring-transports.html --> <transportConnectors> <!-- DOS-Schutz, beschränken Sie gleichzeitige Verbindungen auf 1000 und die Rahmengröße auf 100 MB – > <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> </transportConnectors>
<!-- den Frühlingskontext beim Stillstand zerstören, um den Jetty zu stoppen – > <shutdownHooks> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> </shutdownHooks>
</broker>
<!-- Aktivieren Sie Webkonsolen, REST- und Ajax-APIs und Demos Die Webkonsole erfordert standardmäßig eine Anmeldung, die man in der jetty.xml-Datei deaktivieren kann
Schaut euch ${ACTIVEMQ_HOME}/conf/jetty.xml für weitere Details an --> <resource import="jetty.xml"/>
</beans> <!-- ENDE DES AUSSCHNITTS: BEISPIEL -->
Credentials.Properties:
## --------------------------------------------------------------------------- ## Lizenziert an die Apache Software Foundation (ASF) unter einem oder mehreren ## Lizenzvereinbarungen für Mitwirkende. Siehe die NOTICE-Datei, die mit ## Dieses Werk enthält zusätzliche Informationen zum Urheberrecht. ## Die ASF lizenziert Ihnen diese Datei unter der Apache-Lizenz, Version 2.0 ## (die "Lizenz"); Sie dürfen diese Datei nur in Übereinstimmung mit ## Die Lizenz. Eine Kopie der Lizenz können Sie unter ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Sofern es nicht durch das geltende Recht vorgeschrieben oder schriftlich vereinbart ist, ist Software ## Unter der Lizenz verteilt wird auf "WIE ES IST"-BASIS verteilt, ## OHNE GARANTIEN ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend. ## Siehe die Lizenz für die spezifische Sprache, die Berechtigungen regelt und ## Einschränkungen unter der Lizenz. ## ---------------------------------------------------------------------------
# Definiert Zugangsdaten, die von Komponenten (wie der Webkonsole) verwendet werden, um auf den Broker zuzugreifen
activemq.username=*** activemq.password=***
per.username=*** per.password=***
mper.username=*** mper.password=***
com.username=*** com.password=***
mcom.username=*** mcom.password=***
erp.username=*** erp.password=***
recr.username=*** recr.password=***
Die obige Konfiguration ergab heute eine Abnormalität in der Warteschlangenüberwachung und stellte schließlich fest, dass das Problem hier aufgetreten ist:
Da das in der Warteschlange verwendete Konto der Projektadministrator System/Manager ist(webapps\admin\WEB-INF\webconsole-embedded.xml
Admins-Gruppe, die Berechtigungen benötigt
|
Vorhergehend:ActiveMQ ändert das Webmanagement-PasswortNächster:.net/c# activemq, um das Verbindungskonto und Passwort festzulegen
|