Modifică fișierul %ACTIVEMQ_BASE%/conf/activemq.xml, numele de utilizator și parola sunt stocate în fișierul %ACTIVEMQ_BASE%/conf/credentials.properties,
activemq.xml detalii sunt următoarele:
<!-- Licențiat către Apache Software Foundation (ASF) sub unul sau mai mulți Acorduri de licență pentru contribuitori. Vezi fișierul NOTICE distribuit cu Acest lucru oferă informații suplimentare privind proprietatea drepturilor de autor. ASF licențiază acest fișier către dumneavoastră sub Apache License, Versiunea 2.0 ("Licența"); Nu aveți voie să folosiți acest fișier decât în conformitate cu Licența. Puteți obține o copie a Licenței la
http://www.apache.org/licenses/LICENSE-2.0
Dacă nu este cerut de legea aplicabilă sau este convenit în scris, software distribuită sub Licență este distribuită pe bază "AȘA CUM ESTE", FĂRĂ GARANȚII SAU CONDIȚII DE NICIUN FEL, fie exprese, nici implicite. Consultați Licența pentru limbajul specific care guvernează permisiunile și limitări prevăzute de Licență. --> <!-- ÎNCEPE SNIPPET: exemplu --> <fasole 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">
<!-- Ne permite să folosim proprietățile sistemului ca variabile în acest fișier de configurare --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <numele proprietății="locații"> <value>fișier:${activemq.conf}/credentials.properties</value> </property> </bean>
<!-- Permite căutarea logurilor în consola hawtio --> <bean id="logQuery" class="org.fusesource.insight.log.log4j.Log4jLogQuery" lazy-init="false" scope="singleton" init-method="start" destroy-method="stop"> </bean>
<!-- <broker> Elementul este folosit pentru a configura brokerul ActiveMQ. --> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" useJmx="true">
<destinationPolicy> <policyMap> <policyEntries> <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> <!-- Strategia constantPendingMessageLimitLimit este folosită pentru a preveni Consumatorii cu subiect lent să blocheze producătorii și să afecteze alți consumatori prin limitarea numărului de mesaje care sunt păstrate Pentru mai multe informații, vezi:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Strategia de distribuție - > <dispatchPolicy> <!-- Distribuiți secvențial - > <strictOrderDispatchPolicy/> </dispatchPolicy> Strategia de recuperare <!-- - > <subscriptionRecoveryPolicy> <!-- Recuperează doar ultimul mesaj --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First salvează referința mesajului în memorie, iar dacă consumul de memorie este maxim, referința mesajului este salvată într-un fișier temporar --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
CV <!-- – > <policyEntry queue="PER.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Strategia constantPendingMessageLimitLimit este folosită pentru a preveni Consumatorii cu subiect lent să blocheze producătorii și să afecteze alți consumatori prin limitarea numărului de mesaje care sunt păstrate Pentru mai multe informații, vezi:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Strategia de distribuție - > <dispatchPolicy> <!-- Distribuiți secvențial - > <strictOrderDispatchPolicy/> </dispatchPolicy> Strategia de recuperare <!-- - > <subscriptionRecoveryPolicy> <!-- Recuperează doar ultimul mesaj --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First salvează referința mesajului în memorie, iar dacă consumul de memorie este maxim, referința mesajului este salvată într-un fișier temporar --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Enterprise - > <policyEntry queue="COM.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Strategia constantPendingMessageLimitLimit este folosită pentru a preveni Consumatorii cu subiect lent să blocheze producătorii și să afecteze alți consumatori prin limitarea numărului de mesaje care sunt păstrate Pentru mai multe informații, vezi:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Strategia de distribuție - > <dispatchPolicy> <!-- Distribuiți secvențial - > <strictOrderDispatchPolicy/> </dispatchPolicy> Strategia de recuperare <!-- - > <subscriptionRecoveryPolicy> <!-- Recuperează doar ultimul mesaj --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First salvează referința mesajului în memorie, iar dacă consumul de memorie este maxim, referința mesajului este salvată într-un fișier temporar --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Târg de joburi – > <policyEntry queue="RECR.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Strategia constantPendingMessageLimitLimit este folosită pentru a preveni Consumatorii cu subiect lent să blocheze producătorii și să afecteze alți consumatori prin limitarea numărului de mesaje care sunt păstrate Pentru mai multe informații, vezi:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Strategia de distribuție - > <dispatchPolicy> <!-- Distribuiți secvențial - > <strictOrderDispatchPolicy/> </dispatchPolicy> Strategia de recuperare <!-- - > <subscriptionRecoveryPolicy> <!-- Recuperează doar ultimul mesaj --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First salvează referința mesajului în memorie, iar dacă consumul de memorie este maxim, referința mesajului este salvată într-un fișier temporar --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Micro-recrutare --> <policyEntry queue="MCOM.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Strategia constantPendingMessageLimitLimit este folosită pentru a preveni Consumatorii cu subiect lent să blocheze producătorii și să afecteze alți consumatori prin limitarea numărului de mesaje care sunt păstrate Pentru mai multe informații, vezi:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Strategia de distribuție - > <dispatchPolicy> <!-- Distribuiți secvențial - > <strictOrderDispatchPolicy/> </dispatchPolicy> Strategia de recuperare <!-- - > <subscriptionRecoveryPolicy> <!-- Recuperează doar ultimul mesaj --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First salvează referința mesajului în memorie, iar dacă consumul de memorie este maxim, referința mesajului este salvată într-un fișier temporar --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Micro căutare de joburi - > <policyEntry queue="MPER.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Strategia constantPendingMessageLimitLimit este folosită pentru a preveni Consumatorii cu subiect lent să blocheze producătorii și să afecteze alți consumatori prin limitarea numărului de mesaje care sunt păstrate Pentru mai multe informații, vezi:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Strategia de distribuție - > <dispatchPolicy> <!-- Distribuiți secvențial - > <strictOrderDispatchPolicy/> </dispatchPolicy> Strategia de recuperare <!-- - > <subscriptionRecoveryPolicy> <!-- Recuperează doar ultimul mesaj --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First salvează referința mesajului în memorie, iar dacă consumul de memorie este maxim, referința mesajului este salvată într-un fișier temporar --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Backend - > <policyEntry queue="ERP.>" producerFlowControl="true" memoryLimit="10mb"> <!-- Strategia constantPendingMessageLimitLimit este folosită pentru a preveni Consumatorii cu subiect lent să blocheze producătorii și să afecteze alți consumatori prin limitarea numărului de mesaje care sunt păstrate Pentru mai multe informații, vezi:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Strategia de distribuție - > <dispatchPolicy> <!-- Distribuiți secvențial - > <strictOrderDispatchPolicy/> </dispatchPolicy> Strategia de recuperare <!-- - > <subscriptionRecoveryPolicy> <!-- Recuperează doar ultimul mesaj --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First salvează referința mesajului în memorie, iar dacă consumul de memorie este maxim, referința mesajului este salvată într-un fișier temporar --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry> </policyEntries> </policyMap> </destinationPolicy>
<!-- managementContext este folosit pentru a configura modul în care este expus ActiveMQ în JMX. Implicit, ActiveMQ folosește serverul MBean care este pornit de JVM-ul. Pentru mai multe informații, vezi:
http://activemq.apache.org/jmx.html --> <managementContext> <managementContext createConnector="false"/> </managementContext>
<!-- Configurează persistența mesajelor pentru broker. Persistența implicită mecanismul este magazinul KahaDB (identificat prin eticheta kahaDB). Pentru mai multe informații, vezi:
http://activemq.apache.org/persistence.html --> <persistenceAdapter> <kahaDB directory="E:/activemq_data" enableJournalDiskSyncs="false" indexWriteBatchSize="1000" indexCacheSize="10000" journalMaxFileLength="32mb"
/> </persistenceAdapter>
<plugins> <!-- Configurarea autentificării; Nume de utilizator, parole și grupuri --> <simpleAuthenticationPlugin> <users> <autentificareNume utilizator="${activemq.username}" parolă="${activemq.password}" grupe="administratori"/> <autentificareNume utilizator="${per.nume utilizator}" parolă="${per.password}" grupe="personal"/> <autentificareUser username="${mper.username}" password="${mper.password}" groups="mpersonal"/> <autentificareNume utilizator="${com.nume utilizator}" parolă="${com.password}" grupe="companie"/> <autentificareNume utilizator="${mcom.nume}" parolă="${mcom.password}" grup"mcompany"/> <autentificareUser username="${erp.username}" password="${erp.password}" groups="erp"/> <autentificareUser username="${recr.username}" password="${recr.password}" groups="recr"/> </users> </simpleAuthenticationPlugin>
<!-- Să configurăm un mecanism de autorizare bazat pe destinație --> <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 controlează cantitatea maximă de spațiu pe care brokerul o va Folosiți-o înainte de a dezactiva cache-ul și/sau de a încetini producătorii. Pentru mai multe informații, vezi:
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>
<!-- Conectorii de transport expun ActiveMQ peste un protocol dat la clienți și alți brokeri. Pentru mai multe informații, vezi:
http://activemq.apache.org/configuring-transports.html --> <transportConnectors> <!-- protecție DOS, limitează conexiunile concurente la 1000 și dimensiunea cadrului la 100MB --> <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>
<!-- distruge contextul de primăvară la oprire pentru a opri debarcaderul --> <shutdownHooks> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> </shutdownHooks>
</broker>
<!-- Activează consolele web, API-urile REST și Ajax și demo-urile Consolele web necesită autentificare implicită, poți dezactiva acest lucru în fișierul jetty.xml
Aruncă o privire la ${ACTIVEMQ_HOME}/conf/jetty.xml pentru mai multe detalii --> <import resource="jetty.xml"/>
</beans> <!-- SFÂRȘIT FRAGMENT: exemplu -->
Credențiale.proprietăți:
## --------------------------------------------------------------------------- ## Licențiat către Apache Software Foundation (ASF) sub una sau mai multă ## Acorduri de licență pentru colaboratori. Vezi fișierul NOTICE distribuit cu ## Lucrarea aceasta pentru informații suplimentare privind drepturile de autor. ## ASF licențiază acest fișier către dumneavoastră sub Licența Apache, Versiunea 2.0 ## ("Licența"); Nu aveți voie să folosiți acest fișier decât în conformitate cu ## Licența. Puteți obține o copie a Licenței la ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Dacă nu este cerut de legea aplicabilă sau este acceptat în scris, software ## distribuit sub Licență este distribuit pe bază "AȘA CUM ESTE", ## FĂRĂ GARANȚII SAU CONDIȚII DE NICIUN FEL, fie exprese, nici implicite. ## Vezi Licența pentru limbajul specific care guvernează permisiunile și ## limitări conform Licenței. ## ---------------------------------------------------------------------------
# Definește credențiale care vor fi folosite de componente (cum ar fi consola web) pentru a accesa brokerul
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=***
Configurația de mai sus a constatat că a existat o anomalie în monitorizarea cozii astăzi și, în cele din urmă, a constatat că problema a apărut aici:
Deoarece contul folosit în proiectul de monitorizare a cozii, administratorul este system/manager(webapps\admin\WEB-INF\webconsole-embedded.xml
Admins, care necesită permisiuni
|