Modifica el archivo %ACTIVEMQ_BASE%/conf/activemq.xml, el nombre de usuario y la contraseña se almacenan en el archivo %ACTIVEMQ_BASE%/conf/credentials.properties,
activemq.xml detalles son los siguientes:
<!-- Licenciado a la Apache Software Foundation (ASF) bajo uno o más Acuerdos de licencia de contribuyentes. Consulte el archivo NOTICE distribuido con Este trabajo para obtener información adicional sobre la propiedad de los derechos de autor. La ASF te concede este archivo bajo la Licencia Apache, Versión 2.0 (la "Licencia"); No puedes usar este archivo salvo en cumplimiento de la Licencia. Puede obtener una copia de la Licencia en
http://www.apache.org/licenses/LICENSE-2.0
Salvo que la ley aplicable lo requiera o se acorde por escrito, software distribuida bajo la Licencia se distribuye de forma "TAL CUAL ESTÁ", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. Consulte la Licencia para el lenguaje específico que rige los permisos y limitaciones bajo la Licencia. --> <!-- START CHISPED: ejemplo --> < judías 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">
<!-- Nos permite usar propiedades del sistema como variables en este archivo de configuración --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <nombre de la propiedad="ubicaciones"> <value>Archivo:${activemq.conf}/Credentials.properties</value> </property> </bean>
<!-- Permite la búsqueda de registros en la consola de Hawtio --> <bean id="logQuery" clase="org.fusesource.insight.log.log4j.Log4jLogQuery" lazy-init="false" scope="singleton" init-method="start" destroy-method="stop"> </bean>
<!-- El <broker> elemento se utiliza para configurar el 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"> <!-- La estrategia constantPendingMessageLimitLimit se utiliza para prevenir Ralentizar a los consumidores para bloquear a los productores y afectar a otros consumidores limitando el número de mensajes que se retienen Para más información, véase:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Estrategia de distribución - > <dispatchPolicy> <!-- Distribuir secuencialmente - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Estrategia de recuperación - > <subscriptionRecoveryPolicy> <!-- Recuperar solo el último mensaje --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First guarda la referencia del mensaje en memoria y, si el uso de memoria está al máximo, la referencia al mensaje se guarda en un archivo temporal --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Currículum – > <policyEntry queue="PER.>" producerFlowControl="true" memoryLimit="10mb"> <!-- La estrategia constantPendingMessageLimitLimit se utiliza para prevenir Ralentizar a los consumidores para bloquear a los productores y afectar a otros consumidores limitando el número de mensajes que se retienen Para más información, véase:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Estrategia de distribución - > <dispatchPolicy> <!-- Distribuir secuencialmente - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Estrategia de recuperación - > <subscriptionRecoveryPolicy> <!-- Recuperar solo el último mensaje --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First guarda la referencia del mensaje en memoria y, si el uso de memoria está al máximo, la referencia al mensaje se guarda en un archivo temporal --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Enterprise - > <policyEntry queue="COM.>" producerFlowControl="true" memoryLimit="10mb"> <!-- La estrategia constantPendingMessageLimitLimit se utiliza para prevenir Ralentizar a los consumidores para bloquear a los productores y afectar a otros consumidores limitando el número de mensajes que se retienen Para más información, véase:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Estrategia de distribución - > <dispatchPolicy> <!-- Distribuir secuencialmente - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Estrategia de recuperación - > <subscriptionRecoveryPolicy> <!-- Recuperar solo el último mensaje --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First guarda la referencia del mensaje en memoria y, si el uso de memoria está al máximo, la referencia al mensaje se guarda en un archivo temporal --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Feria de empleo – > <policyEntry queue="RECR.>" producerFlowControl="true" memoryLimit="10mb"> <!-- La estrategia constantPendingMessageLimitLimit se utiliza para prevenir Ralentizar a los consumidores para bloquear a los productores y afectar a otros consumidores limitando el número de mensajes que se retienen Para más información, véase:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Estrategia de distribución - > <dispatchPolicy> <!-- Distribuir secuencialmente - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Estrategia de recuperación - > <subscriptionRecoveryPolicy> <!-- Recuperar solo el último mensaje --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First guarda la referencia del mensaje en memoria y, si el uso de memoria está al máximo, la referencia al mensaje se guarda en un archivo temporal --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Micro-reclutamiento --> <policyEntry queue="MCOM.>" producerFlowControl="true" memoryLimit="10mb"> <!-- La estrategia constantPendingMessageLimitLimit se utiliza para prevenir Ralentizar a los consumidores para bloquear a los productores y afectar a otros consumidores limitando el número de mensajes que se retienen Para más información, véase:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Estrategia de distribución - > <dispatchPolicy> <!-- Distribuir secuencialmente - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Estrategia de recuperación - > <subscriptionRecoveryPolicy> <!-- Recuperar solo el último mensaje --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First guarda la referencia del mensaje en memoria y, si el uso de memoria está al máximo, la referencia al mensaje se guarda en un archivo temporal --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Búsqueda de trabajo micro - > <policyEntry queue="MPER.>" producerFlowControl="true" memoryLimit="10mb"> <!-- La estrategia constantPendingMessageLimitLimit se utiliza para prevenir Ralentizar a los consumidores para bloquear a los productores y afectar a otros consumidores limitando el número de mensajes que se retienen Para más información, véase:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Estrategia de distribución - > <dispatchPolicy> <!-- Distribuir secuencialmente - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Estrategia de recuperación - > <subscriptionRecoveryPolicy> <!-- Recuperar solo el último mensaje --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First guarda la referencia del mensaje en memoria y, si el uso de memoria está al máximo, la referencia al mensaje se guarda en un archivo temporal --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry>
<!-- Backend - > <policyEntry queue="ERP.>" producerFlowControl="true" memoryLimit="10mb"> <!-- La estrategia constantPendingMessageLimitLimit se utiliza para prevenir Ralentizar a los consumidores para bloquear a los productores y afectar a otros consumidores limitando el número de mensajes que se retienen Para más información, véase:
http://activemq.apache.org/slow-consumer-handling.html
--> <!-- Estrategia de distribución - > <dispatchPolicy> <!-- Distribuir secuencialmente - > <strictOrderDispatchPolicy/> </dispatchPolicy> <!-- Estrategia de recuperación - > <subscriptionRecoveryPolicy> <!-- Recuperar solo el último mensaje --> <lastImageSubscriptionRecoveryPolicy/> </subscriptionRecoveryPolicy> <pendingQueuePolicy> <!-- First guarda la referencia del mensaje en memoria y, si el uso de memoria está al máximo, la referencia al mensaje se guarda en un archivo temporal --> <fileQueueCursor/> </pendingQueuePolicy> <pendingMessageLimitStrategy> <constPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry> </policyEntries> </policyMap> </destinationPolicy>
<!-- El managementContext se utiliza para configurar cómo se expone ActiveMQ en JMX. Por defecto, ActiveMQ utiliza el servidor MBean que se inicia por la JVM. Para más información, véase:
http://activemq.apache.org/jmx.html --> <managementContext> <managementContext createConnector="false"/> </managementContext>
<!-- Configura la persistencia de mensajes para el broker. La persistencia por defecto mecanismo es el almacén KahaDB (identificado por la etiqueta kahaDB). Para más información, véase:
http://activemq.apache.org/persistence.html --> <persistenceAdapter> <directorio kahaDB="E:/activemq_data" enableJournalDiskSyncs="false" indexWriteBatchSize="1000" indexCacheSize="10000" journalMaxFileLength="32mb"
/> </persistenceAdapter>
<plugins> <!-- Configurar autenticación; Nombre de usuario, contraseñas y grupos --> <simpleAuthenticationPlugin> <users> <autenticaciónUsuariousuariousuario="${activemq.usuario}" contraseña="${activemq.password}" grupos="admins"/> <autenticaciónUsuariousuario="${per.usuario}" contraseña="${per.contraseña}" grupos="personal"/> <autenticaciónUsuariousuario="${mper.username}" password="${mper.password}" groups="mpersonal"/> <autenticaciónUsuariousuario="${com.usuario}" contraseña="${com.password}" grupos="empresa"/> <autenticaciónNombre de usuario="${mcom.nombre}" contraseña="${mcom.password}" grupos="mcompany"/> <autenticaciónUsuariousuariousuario="${erp.username}" password="${erp.password}" groups="erp"/> <autenticaciónUsuariousuario="${recr.username}" password="${recr.password}" groups="recr"/> </users> </simpleAuthenticationPlugin>
<!-- Configuremos un mecanismo de autorización basado en el destino --> <authorizationPlugin> <map> <authorizationMap> <authorizationEntries> <cola de autorizaciónEntrada=">" read="admins" write="admins" admin="admins" /> <authorizationEntry queue="PER.>" read="personal, mpersonal, company, mcompany, erp, recr" write="personal" admin="personal" /> <cola de autorizaciónEntrada="MPER.>" read="personal, mpersonal, empresa, 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, personal, empresa, mcompañía, erp, recr" /> </authorizationEntries> </authorizationMap> </map> </authorizationPlugin> </plugins>
<!-- SystemUsage controla la cantidad máxima de espacio que tendrá el broker Úsalo antes de desactivar la caché y/o ralentizar a los productores. Para más información, véase:
http://activemq.apache.org/producer-flow-control.html --> <systemUsage> <systemUsage> <memoryUsage> <memoryUsage percentOfJvmHeap="100" /> </memoryUsage> <storeUsage> <límite de usoStore="1 gb"/> </storeUsage> <tempUsage> <límite de usoTemp="100 mb"/> </tempUsage> </systemUsage> </systemUsage>
<!-- Los conectores de transporte exponen ActiveMQ sobre un protocolo dado a clientes y otros corredores. Para más información, véase:
http://activemq.apache.org/configuring-transports.html --> <transportConnectors> <!-- protección contra DOS, limita las conexiones concurrentes a 1000 y el tamaño de trama a 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>
<!-- destruir el contexto de primavera sobre el cierre para detener el muelle — > <shutdownHooks> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> </shutdownHooks>
</broker>
<!-- Habilitar consolas web, APIs y demos de REST y Ajax Las consolas web requieren inicio de sesión por defecto, puedes desactivarlo en el archivo jetty.xml
Echa un vistazo a ${ACTIVEMQ_HOME}/conf/jetty.xml para más detalles --> <import resource="jetty.xml"/>
</beans> <!-- FIN DE FRAGMENTO: ejemplo -->
Credenciales.propiedades:
## --------------------------------------------------------------------------- ## Licenciado a la Apache Software Foundation (ASF) bajo uno o más ## Acuerdos de licencia de colaboradores. Consulte el archivo NOTICE distribuido con ## Este trabajo para obtener información adicional sobre la propiedad de los derechos de autor. ## La ASF te concede este archivo bajo la Licencia Apache, Versión 2.0 ## (la "Licencia"); No puedes usar este archivo salvo en cumplimiento de ## La licencia. Puede obtener una copia de la Licencia en ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## A menos que la ley aplicable lo requiera o se acorde por escrito, software ## distribuido bajo la Licencia se distribuye en base a "TAL CUAL", ## SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. ## Consulta la Licencia para el lenguaje específico que rige los permisos y ## limitaciones bajo la Licencia. ## ---------------------------------------------------------------------------
# Define credenciales que serán utilizadas por componentes (como la consola web) para acceder al broker
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=***
La configuración anterior detectó que hoy había una anomalía en la monitorización de la cola, y finalmente el problema apareció aquí:
Dado que la cuenta utilizada en el proyecto de monitorización de colas es administrador/gestor (webapps\admin\WEB-INF\webconsole-embedded.xml
grupo de administradores, que requiere permisos
|