GitHubContribute in GitHub: Edit online

Manta ActiveMQ Artemis

ActiveMQ Artemis is an open-source, high-performance, asynchronous messaging broker that allows different parts of Manta Flow to communicate. It is included in Manta Flow as a standalone application which runs as a separate service alongside Keycloak, Manta Flow Server, and Manta Admin UI.

When used as installed, ActiveMQ Artemis requires extremely little configuration. Check out the full documentation from ActiveMQ Artemis for more in-depth information.

In this guide, you’ll learn how to:

There’s also a handy troubleshooting guide with solutions to common issues.

Open Ports for Active MQ Artemis

ActiveMQ Artemis is included when you install IBM Manta Data Lineage. To run it, you’ll need to open at least one, maybe two ports in the firewall (depending on which functions you want).

To open the ports:

  1. Open the Manta Data Lineage Installer.

  2. Enter the port numbers listed in the image below.

    • You won’t see this step if you’re upgrading Manta Data Lineage, unless you’re upgrading from Manta Data Lineage 37 to a newer version.
  3. Click Next until you reach the end of the installer.

  4. Click Finish.

No alt text provided

ActiveMQ Artemis configuration during installation/upgrade

Launch ActiveMQ Artemis

There are two ways to launch Artemis.

Set Up Secure Messaging

mTLS is an additional layer of security for your messaging. The steps for setting up mTLS differ depending on which Manta Data Lineage distribution you’re using.

Write Passwords for Secure Messaging

To write the password to the configuration:

  1. Open the configuration at <MANTA_HOME>/artemis/manta_broker/etc/broker.xml.

  2. Find the parameter keyStorePassword in the URL, which is a value of the tag <acceptor name="artemis">.

  3. Enter the password of the keystore as the value of this parameter.

  4. Find the parameter truststoreStorePassword in the URL, which is a value of the tag <acceptor name="artemis">.

  5. Enter the password of the truststore as the value of this parameter.

  6. Remove the tags <mask-password> and <password-codec> from the configuration.

To inject passwords with environment variables (not currently possible with Windows):

  1. Open the configuration at <MANTA_HOME>/artemis/manta_broker/etc/broker.xml.

  2. Find the parameter keyStorePassword in the URL; it is a value of the tag <acceptor name="artemis">.

  3. Replace the value with ${MY_ENVIRONMENT_VARIABLE_NAME_FOR_KEYSTORE_PASSWORD}. You can choose any environment variable name.

  4. Find the parameter truststoreStorePassword in the URL, which is a value of tag <acceptor name="artemis">.

  5. Replace the value with ${MY_ENVIRONMENT_VARIABLE_NAME_FOR_TRUSTSTORE_PASSWORD}. You can choose any environment variable name. The environment variable names for the keystore and the truststore have to be different, unless the values are the same.

  6. Remove the tags <mask-password>and<password-codec>from the configuration.

Set Up Security for the Artemis Management Console

ActiveMQ Artemis comes with a management console included. The console is an additional source of info about Artemis that lets you view configurations or definitions of messaging addresses. The console is not required by any functionality of Manta Flow — check out the original ActiveMQ Artemis documentation for more details.

If you want to use the console with HTTPS enabled for additional security, follow these steps.

  1. Stop ActiveMQ Artemis, if it is running.

  2. Open the configuration file at <MANTA_HOME>/artemis/manta_broker/etc/bootstrap.xml.

  3. Change the protocol in the tag web, attribute bind, from http to https.

  4. Add an attribute keyStorePath to the tag web and set it to the absolute path to the keystore.

  5. Add an attribute keyStorePassword to the tag web and set it to the keystore password.

  6. Add an attribute trustStorePath to the tag web and set it to the absolute path to the truststore.

  7. Add an attribute trustStorePassword to the tag web and set it to the truststore password.

  8. Restart ActiveMQ Artemis.

See the example below.

<web bind="https://localhost:8161" 
     path="web" 
     keyStorePath="C:\mantaflow\artemis\manta_broker\etc\keystore.p12" 
     keyStorePassword="KEYSTORE_PASSWORD" 
     trustStorePath="C:\mantaflow\artemis\manta_broker\etc\truststore.p12" 
     trustStorePassword="TRUSTSTORE_PASSWORD">

     <app url="activemq-branding" war="activemq-branding.war"/>
     <app url="artemis-plugin" war="artemis-plugin.war"/>
     <app url="console" war="console.war"/>

</web>

If you’re using Manta Launcher to start up your Manta Data Lineage services, you’ll need to follow these additional steps.

  1. Open the Manta Launcher configuration at <MANTA_HOMER>/launcher/conf/applications.json.

  2. Replace the line "healthEndpoint": "http://localhost:8161/console" with "healthEndpoint": "https://localhost:8161/console".

Turn Off the Artemis Management Console

If the Artemis management console is active and you don’t want to use it any more, follow these steps to switch it off.

  1. Stop ActiveMQ Artemis, if it is running.

  2. Open the configuration file at <MANTA_HOME>/artemis/manta_broker/etc/bootstrap.xml.

  3. Completely remove the tag <web> (everything from <web> to </web>).

  4. Save the file.

  5. Restart ActiveMQ Artemis.

Memory Configuration

When deploying an ActiveMQ Artemis broker, it is important to account for both the heap memory that it uses as well as the off-heap memory. Artemis heavily utilizes off-heap, direct memory for highly performant messaging.

By default, ActiveMQ broker runs with 1GB of heap memory on Windows machines and 2GB of heap memory on Linux machines. The size of the direct memory that the application can potentially use is by default equal to the maximum heap memory. Therefore, if Artemis is configured to use at most 1GB of heap memory, it can also use 1GB of off-heap memory.

The machines that run the broker, or containers in which the broker is run, therefore, have to have at least twice the configured heap memory available to safely run it.

Decreasing the direct memory that can be used by Artemis may have a negative impact on the performance of the broker.

The memory configuration can be changed in the <MANTA_HOME>/artemis/manta_broker/etc/artemis.profile(.cmd) file. To change it, follow these steps.

  1. Stop ActiveMQ Artemis, if it is running.

  2. Locate the <MANTA_HOME>/artemis/manta_broker/etc/artemis.profile(.cmd) file and open it in a text editor.

  3. Locate the line defining the JAVA_ARGS variable.

    1. The line starts IF "%JAVA_ARGS%"=="" (set JAVA_ARGS=... in a Windows script.

    2. The line starts JAVA_ARGS="-XX:+PrintClassHistogram in a Linux script.

  4. Change the values -Xms<size>[g|G|m|M|k|K] and -Xmx<size>[g|G|m|M|k|K] to the desired values. The first property sets the initial memory size. The latter sets the maximum heap size used by the broker.

  5. In the previous setting, the maximum direct memory is equal to the value defined in the -Xmx property. If you wish to change it, you can add -XX:MaxDirectMemorySize=<size>[g|G|m|M|k|K] as another parameter in the same line.

Artemis broker requires at least 1GB of heap memory to run, but it is recommended to run it with at least 2GB of memory.

Troubleshooting

Artemis Won’t Start

The most common reason ActiveMQ Artemis fails to start is that the port it’s configured to use is being used by another process. To confirm that this error has occurred, check the log file at <MANTA_HOME>/artemis/manta_broker/log/artemis.log. The log will contain a message that looks like:

2022-07-13 22:38:55,430 ERROR [org.apache.activemq.artemis.core.server] AMQ224000: Failure in initialisation: java.lang.IllegalStateException: AMQ229230: Failed to bind acceptor artemis to 0.0.0.0:61616
        at org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor.startServerChannels(NettyAcceptor.java:719) [artemis-server-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor.start(NettyAcceptor.java:524) [artemis-server-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.startAcceptors(RemotingServiceImpl.java:313) [artemis-server-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.completeActivation(ActiveMQServerImpl.java:3359) [artemis-server-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:78) [artemis-server-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:655) [artemis-server-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:568) [artemis-server-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:64) [artemis-cli-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:115) [artemis-cli-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:157) [artemis-cli-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:105) [artemis-cli-2.19.1.jar:2.19.1]
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:132) [artemis-cli-2.19.1.jar:2.19.1]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java.base:]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [java.base:]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java.base:]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) [java.base:]
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134) [artemis-boot.jar:2.19.1]
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50) [artemis-boot.jar:2.19.1]
Caused by: java.net.BindException: Address already in use: bind
        at java.base/sun.nio.ch.Net.bind0(Native Method) [java.base:]
        at java.base/sun.nio.ch.Net.bind(Net.java:455) [java.base:]
        at java.base/sun.nio.ch.Net.bind(Net.java:447) [java.base:]
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) [java.base:]
        at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:506) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:491) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:260) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [netty-common-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) [netty-common-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:503) [netty-transport-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [netty-common-4.1.73.Final.jar:4.1.73.Final]
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.73.Final.jar:4.1.73.Final]
        at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.19.1.jar:2.19.1]

There are two options for dealing with this issue.

Manually Change the Port

  1. Stop all Manta Data Lineage services.

  2. Open the broker configuration at <MANTA_HOME>/artemis/manta_broker/etc/broker.xml.

  3. Find the tag <acceptor name="artemis"> and the URL, which is its value.

  4. In the URL, change the port to the desired value.

  5. Open the configuration at <MANTA_HOME>/cli/scenarios/manta-dataflow-cli/conf/artemis.properties.

  6. Change the value of property artemis.server.port to the value of the new port.

  7. Open the configuration at <MANTA_HOME>/cli/scenarios/manta-dataflow-cli/conf/artemis.properties.

  8. Change the value of property artemis.server.port to the value of the new port.

Kill the Process Blocking the Port

To kill the process that is blocking the port you configured for Artemis, you should first try restarting the machine—sometimes this can resolve the issue. If that doesn’t work, follow these steps.

Note: Make sure you follow the steps that are relevant for your operating system (Windows or Linux).

Manually Kill the Process in Windows

  1. Press the Windows logo key + r.

  2. Type cmd and press Enter.

  3. Type netstat -ano | findStr ”<PORT>” into the command line.

  4. Replace <PORT> with the artemis.server.port property value.

  5. Hit Enter.

  6. You should see one or more rows with five columns of values. The fifth column shows the ID of the process currently blocking the port.

    • If you don’t see any values, try restarting your machine and running Manta Admin UI again.
  7. Type taskkill /F /PID <PID> in the command line. Replace <PID> with the value yielded in the previous steps.

  8. Press Enter.

    • The process blocking the port will be killed.

Manually Kill the Process in Linux

  1. Press CTRL + ALT + T.

  2. Type netstat -ano | grep ”:<PORT>” in the shell.

  3. Replace <PORT> with the artemis.server.port property value.

  4. Hit Enter.

  5. You should see one or more rows with five columns of values. The fifth column shows the ID of the process currently blocking the port.

    • If you don’t see any values, try restarting your machine and running Manta Admin UI again.
  6. Type kill -9 <PID> in the shell.

  7. Replace <PID> with the value yielded in the previous steps.

  8. Press Enter.

    • The process blocking the port will be killed.

The Broker Is Running but Not Receiving Logs

If you can’t see logs from previous or current scans in Log Viewer, there are a few potential causes. Follow these steps to troubleshoot the issue.

Step 1: Check the Manta CLI Log

  1. Go to the <MANTA_HOME>/cli/log/logging.log file and open it in a text editor.

  2. Verify that there are no errors regarding the connection.

  3. If there are no errors, proceed to the next section.

Step 2: Check the Manta Admin UI Log

  1. Go to the <MANTA_HOME>/serviceutility/logs/console.log file and open it in a text editor.

  2. Verify that there are no errors regarding the connection.

  3. If there are no errors, proceed to the next section.

Step 3: Check the Artemis Broker Log

  1. Navigate to the <MANTA_HOME>/artemis/manta_broker/log/artemis.log file and open it in a text editor.

  2. Verify that there are no errors regarding the connection.

  3. If there are no errors, proceed to the next section.

Step 4: Check the Available Disk Space

Important: Make sure that the hard drive you install Manta Data Lineage on is no more than 90% full. If it's more than 90% full, logs and messages (e.g., Manta Events) won’t be accepted. This error should be automatically logged in the Manta CLI log, Manta Admin UI log, and Artemis broker log.

When there’s a heavy message load for the embedded ActiveMQ Artemis version, incoming messages are sometimes stored on the disk instead of in-memory. As a safety measure to prevent your disk from filling up completely, Log Viewer is configured to stop accepting logs when the amount of available disk space drops below 10%. To fix the issue, you’ll need to reconfigure that setting by following the steps below.

First, you’ll need to verify that this is the problem. To do so, check the log files. You should see an error message like this one.

2021-10-25 11:06:18.023 [main] ERROR eu.profinit.manta.connector.jms.MantaJmsConnector [Context: MANTA Admin UI startup - 2021-10-25T11:06:11.880+0200] An unrecoverable Artemis error - ADDRESS_FULL - occurred in the producer. The connection will not be re-established for this thread.
2021-10-25 11:06:18.024 [main] ERROR eu.profinit.manta.connector.jms.MantaJmsConnector [Context: MANTA Admin UI startup - 2021-10-25T11:06:11.880+0200] Message producer for MantaJmsDestination{name='loggingQueue', type=QUEUE} has encountered an unrecoverable error. The connection will not be recovered for this thread.
javax.jms.JMSException: AMQ219058: Address "loggingQueue" is full. Message encode size = 2,066B
    at org.apache.activemq.artemis.core.client.impl.ClientProducerCreditsImpl.afterAcquired(ClientProducerCreditsImpl.java:57) ~[artemis-core-client-2.18.0.jar:2.18.0]
    at org.apache.activemq.artemis.core.client.impl.AbstractProducerCreditsImpl.acquireCredits(AbstractProducerCreditsImpl.java:79) ~[artemis-core-client-2.18.0.jar:2.18.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.sendRegularMessage(ClientProducerImpl.java:294) ~[artemis-core-client-2.18.0.jar:2.18.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:268) ~[artemis-core-client-2.18.0.jar:2.18.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:143) ~[artemis-core-client-2.18.0.jar:2.18.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:125) ~[artemis-core-client-2.18.0.jar:2.18.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:483) ~[artemis-jms-client-2.18.0.jar:2.18.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:193) ~[artemis-jms-client-2.18.0.jar:2.18.0]
    at eu.profinit.manta.connector.jms.MantaJmsConnector.sendMessageWithRecovery(MantaJmsConnector.java:191) ~[manta-connector-jms-34-MINOR-20211020.091842-5.jar:?]
    at eu.profinit.manta.platform.logging.appender.LogViewerManager.send(LogViewerManager.java:86) ~[manta-platform-logging-appender-34-MINOR-20211020.091842-5.jar:?]
    at eu.profinit.manta.platform.logging.appender.LogViewerAppender.append(LogViewerAppender.java:57) ~[manta-platform-logging-appender-34-MINOR-20211020.091842-5.jar:?]
    at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:543) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:502) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:485) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:460) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.core.Logger.log(Logger.java:161) ~[log4j-core-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2198) ~[log4j-api-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2152) ~[log4j-api-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2135) ~[log4j-api-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2022) ~[log4j-api-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1891) ~[log4j-api-2.13.1.jar:2.13.1]
    at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1280) ~[log4j-api-2.13.1.jar:2.13.1]
    at eu.profinit.manta.platform.logging.api.logging.Logger.info(Logger.java:605) ~[manta-platform-logging-api-34-MINOR-20211020.091842-5.jar:?]
    at eu.profinit.manta.connector.http.client.AbstractHttpsProvider.getMergedTrustManager(AbstractHttpsProvider.java:343) ~[manta-connector-http-34.0.0.jar:?]
    at eu.profinit.manta.connector.http.client.AbstractHttpsProvider.generateContextWithTrustStore(AbstractHttpsProvider.java:192) ~[manta-connector-http-34.0.0.jar:?]
    at eu.profinit.manta.configuration.logic.factories.FlowServerRequestFactory.afterPropertiesSet(FlowServerRequestFactory.java:169) ~[manta-admin-gui-configuration-logic-34-MINOR-20211020.091842-5.jar:?]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1858) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1795) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:886) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:790) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1361) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:886) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:790) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1361) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1307) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1227) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1425) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:409) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1341) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1181) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:556) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.initMessageSource(AbstractApplicationContext.java:733) [spring-context-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:539) [spring-context-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) [spring-web-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) [spring-web-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) [spring-web-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4766) [catalina.jar:9.0.52]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) [catalina.jar:9.0.52]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.52]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina.jar:9.0.52]
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) [catalina.jar:9.0.52]
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) [catalina.jar:9.0.52]
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) [catalina.jar:9.0.52]
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) [catalina.jar:9.0.52]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.52]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123) [?:?]
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) [catalina.jar:9.0.52]
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) [catalina.jar:9.0.52]
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) [catalina.jar:9.0.52]
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) [catalina.jar:9.0.52]
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina.jar:9.0.52]
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina.jar:9.0.52]
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina.jar:9.0.52]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) [catalina.jar:9.0.52]
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) [catalina.jar:9.0.52]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.52]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) [catalina.jar:9.0.52]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) [catalina.jar:9.0.52]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.52]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) [?:?]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) [catalina.jar:9.0.52]
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) [catalina.jar:9.0.52]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.52]
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) [catalina.jar:9.0.52]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.52]
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) [catalina.jar:9.0.52]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.52]
    at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina.jar:9.0.52]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) [bootstrap.jar:9.0.52]
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) [bootstrap.jar:9.0.52]
Caused by: org.apache.activemq.artemis.api.core.ActiveMQAddressFullException: AMQ219058: Address "loggingQueue" is full. Message encode size = 2,066B
    ... 136 more

To fix the issue:

  1. Open the broker configuration at <MANTA_HOME>/artemis/manta_broker/etc/broker.xml.

  2. Change the value of the tag <max-disk-usage> to the desired value (up to 100). The value sets the maximum disk usage, at which point Log Viewer stops accepting logs.

Resolve Unknown Issues

If you check the log files and there is no clear reason for an error, reach out to our support team and attach the following log files.