Променете файла %ACTIVEMQ_BASE%/conf/activemq.xml, потребителското име и паролата се съхраняват във файла %ACTIVEMQ_BASE%/conf/credentials.properties,
activemq.xml подробности са следните:
<!-- Лицензиран на Apache Software Foundation (ASF) под един или повече Лицензионни споразумения за сътрудници. Вижте файла NOTICE, разпространяван с Тази работа е за допълнителна информация относно собствеността върху авторски права. ASF лицензира този файл на Вас под лиценз Apache, версия 2.0 ("Лицензът"); Не можете да използвате този файл, освен ако не сте в съответствие с лицензът. Можете да получите копие от лиценза на
http://www.apache.org/licenses/LICENSE-2.0
Освен ако не е изисквано от приложимия закон или не е договорено писмено, софтуер разпространявано под лиценза се разпространява на "КАКТО Е", БЕЗ ГАРАНЦИИ ИЛИ УСЛОВИЯ ОТ КАКЪВТО И ДА Е ВИД, изрично или подразбиращо се. Вижте лиценза за конкретния език, който урежда разрешенията и ограниченията по лиценза. --> <!-- START SNIPPET: пример --> <боб 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">
<!-- Позволява ни да използваме свойства на системата като променливи в този конфигурационен файл --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <име на имот="локации"> file<value>:${activemq.conf}/credentials.properties</value> </property> </bean>
<!-- Позволява търсене на логове в hawtio конзола --> <bean id="logQuery" class="org.fusesource.insight.log.log4j.Log4jLogQuery" lazy-init="false" scope="singleton" init-method="start" destroy-method="stop"> </bean>
<!-- <broker> Елементът се използва за конфигуриране на 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"> <!-- constantPendingMessageLimitStrategy се използва за предотвратяване Потребителите на забавяне на темата блокират производителите и влияят на други потребители чрез ограничаване на броя на запазените съобщения За повече информация вижте:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Стратегия за дистрибуция - > <dispatchPolicy> <!-- Разпространявайте последователно - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Стратегия за възстановяване - > <subscriptionRecoveryPolicy> <!-- Възстанови само последното съобщение --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Първо запазва референцията към съобщението в паметта и ако използването на паметта е максимално, референцията на съобщението се запазва във временен файл --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Резюме – > <policyEntry queue="PER.>" producerFlowControl="true" memoryLimit="10mb"> <!-- constantPendingMessageLimitStrategy се използва за предотвратяване Потребителите на забавяне на темата блокират производителите и влияят на други потребители чрез ограничаване на броя на запазените съобщения За повече информация вижте:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Стратегия за дистрибуция - > <dispatchPolicy> <!-- Разпространявайте последователно - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Стратегия за възстановяване - > <subscriptionRecoveryPolicy> <!-- Възстанови само последното съобщение --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Първо запазва референцията към съобщението в паметта и ако използването на паметта е максимално, референцията на съобщението се запазва във временен файл --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Ентърпрайз - > <policyEntry queue="COM.>" producerFlowControl="true" memoryLimit="10mb"> <!-- constantPendingMessageLimitStrategy се използва за предотвратяване Потребителите на забавяне на темата блокират производителите и влияят на други потребители чрез ограничаване на броя на запазените съобщения За повече информация вижте:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Стратегия за дистрибуция - > <dispatchPolicy> <!-- Разпространявайте последователно - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Стратегия за възстановяване - > <subscriptionRecoveryPolicy> <!-- Възстанови само последното съобщение --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Първо запазва референцията към съобщението в паметта и ако използването на паметта е максимално, референцията на съобщението се запазва във временен файл --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Панаир на работните места – > <policyEntry queue="RECR.>" producerFlowControl="true" memoryLimit="10mb"> <!-- constantPendingMessageLimitStrategy се използва за предотвратяване Потребителите на забавяне на темата блокират производителите и влияят на други потребители чрез ограничаване на броя на запазените съобщения За повече информация вижте:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Стратегия за дистрибуция - > <dispatchPolicy> <!-- Разпространявайте последователно - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Стратегия за възстановяване - > <subscriptionRecoveryPolicy> <!-- Възстанови само последното съобщение --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Първо запазва референцията към съобщението в паметта и ако използването на паметта е максимално, референцията на съобщението се запазва във временен файл --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Микро-подбор --> <policyEntry queue="MCOM.>" producerFlowControl="true" memoryLimit="10mb"> <!-- constantPendingMessageLimitStrategy се използва за предотвратяване Потребителите на забавяне на темата блокират производителите и влияят на други потребители чрез ограничаване на броя на запазените съобщения За повече информация вижте:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Стратегия за дистрибуция - > <dispatchPolicy> <!-- Разпространявайте последователно - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Стратегия за възстановяване - > <subscriptionRecoveryPolicy> <!-- Възстанови само последното съобщение --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Първо запазва референцията към съобщението в паметта и ако използването на паметта е максимално, референцията на съобщението се запазва във временен файл --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Търсене на микро работа - > <policyEntry queue="MPER.>" producerFlowControl="true" memoryLimit="10mb"> <!-- constantPendingMessageLimitStrategy се използва за предотвратяване Потребителите на забавяне на темата блокират производителите и влияят на други потребители чрез ограничаване на броя на запазените съобщения За повече информация вижте:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Стратегия за дистрибуция - > <dispatchPolicy> <!-- Разпространявайте последователно - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Стратегия за възстановяване - > <subscriptionRecoveryPolicy> <!-- Възстанови само последното съобщение --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Първо запазва референцията към съобщението в паметта и ако използването на паметта е максимално, референцията на съобщението се запазва във временен файл --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Бекенд - > <policyEntry queue="ERP.>" producerFlowControl="true" memoryLimit="10mb"> <!-- constantPendingMessageLimitStrategy се използва за предотвратяване Потребителите на забавяне на темата блокират производителите и влияят на други потребители чрез ограничаване на броя на запазените съобщения За повече информация вижте:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Стратегия за дистрибуция - > <dispatchPolicy> <!-- Разпространявайте последователно - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Стратегия за възстановяване - > <subscriptionRecoveryPolicy> <!-- Възстанови само последното съобщение --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- Първо запазва референцията към съобщението в паметта и ако използването на паметта е максимално, референцията на съобщението се запазва във временен файл --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry> </policyEntries> </policyMap> </destinationPolicy>
<!-- ManagementContext се използва за конфигуриране на начина, по който ActiveMQ се експонира в JMX. По подразбиране ActiveMQ използва MBean сървъра, който се стартира от JVM. За повече информация вижте:
http://activemq.apache.org/jmx.html --> <managementContext> <managementContext createConnector="false"/> </managementContext>
<!-- Конфигурирайте запазването на съобщенията за брокера. Стандартната персистентност механизъм е KahaDB хранилището (идентифицирано с етикета kahaDB). За повече информация вижте:
http://activemq.apache.org/persistence.html --> <persistenceAdapter> <kahaDB directory="E:/activemq_data" enableJournalDiskSyncs="false" indexWriteBatchSize="1000" indexCacheSize="10000" journalMaxFileLength="32mb"
/> </persistenceAdapter>
<plugins> <!-- Конфигуриране на удостоверяване; Потребителско име, пароли и групи --> <simpleAuthenticationPlugin> <users> <автентикацияUser username="${activemq.username}" password="${activemq.password}" groups="admins"/> <автентикацияUser username="${per.username}" password="${per.password}" groups="personal"/> <автентикацияUser username="${mper.username}" password="${mper.password}" groups="mpersonal"/> <автентикацияUser username="${com.username}" password="${com.password}" groups="company"/> <автентикацияUser username="${mcom.username}" password="${mcom.password}" groups="mcompany"/> <автентикацияUser username="${erp.username}" password="${erp.password}" groups="erp"/> <authenticationUser username="${recr.username}" password="${recr.password}" groups="recr"/> </users> </simpleAuthenticationPlugin>
<!-- Нека конфигурираме механизъм за оторизация, базиран на дестинация --> <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 тема="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 контролира максималното пространство, което брокерът ще заеме Използвай преди да изключиш кеширането и/или забавиш продуцентите. За повече информация вижте:
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>
<!-- Транспортните конектори излагат ActiveMQ върху даден протокол на Клиенти и други брокери. За повече информация вижте:
http://activemq.apache.org/configuring-transports.html --> <transportConnectors> <!-- DOS защита, ограничете едновременните връзки до 1000 и размера на кадъра до 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>
<!-- унищожавам пролетния контекст при спиране, за да спра Джети --> <shutdownHooks> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> </shutdownHooks>
</broker>
<!-- Активирайте уеб конзоли, REST и Ajax API и демонстрации Уеб конзолите изискват по подразбиране вход, можеш да го изключиш във файла jetty.xml
Вижте ${ACTIVEMQ_HOME}/conf/jetty.xml за повече подробности --> <import resource="jetty.xml"/>
</beans> <!-- КРАЕН ОТКЪС: пример -->
Акредитации.Свойства:
## --------------------------------------------------------------------------- ## Лицензиран на Apache Software Foundation (ASF) под един или повече ## Лицензионни споразумения за сътрудници. Вижте файла NOTICE, разпространяван с ## Тази творба за допълнителна информация относно собствеността върху авторски права. ## ASF лицензира този файл на Вас под лиценз Apache, версия 2.0 ## ("Лицензът"); Не можете да използвате този файл, освен ако не сте в съответствие с ## Лицензът. Можете да получите копие от лиценза на ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Освен ако не е изисквано от приложимия закон или не е договорено писмено, софтуер ## разпространявано под лиценза се разпространява на "КАКТО Е" на принципа, ## БЕЗ ГАРАНЦИИ ИЛИ УСЛОВИЯ ОТ КАКЪВТО И ДА Е ВИД, нито изрично, нито подразбираемо. ## Вижте лиценза за конкретния език, който регулира разрешенията и ## ограничения по лиценза. ## ---------------------------------------------------------------------------
# Определя идентификационни данни, които ще се използват от компоненти (като уеб конзола) за достъп до брокера
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=***
Горната конфигурация установи, че има аномалия в мониторинга на опашката днес и накрая установи, че проблемът се появи тук:
Тъй като акаунтът, използван в мониторинга на опашките, администратор на проекта е system/manager(webapps\admin\WEB-INF\webconsole-embedded.xml
админ група, която изисква права
|