blob: 7a28173bc7783abde5fa8464d5d1b396120a1c5c [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.activemq.tests</groupId>
<artifactId>artemis-tests-pom</artifactId>
<version>2.29.0-SNAPSHOT</version>
</parent>
<artifactId>soak-tests</artifactId>
<packaging>jar</packaging>
<name>ActiveMQ Artemis soak Tests</name>
<properties>
<activemq.basedir>${project.basedir}/../..</activemq.basedir>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-core-client</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<!-- logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-server</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq.tests</groupId>
<artifactId>integration-tests</artifactId>
<version>${project.version}</version>
<scope>test</scope>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-commons</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq.tests</groupId>
<artifactId>artemis-test-support</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-unit-test-support</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
<scope>test</scope>
</dependency>
<!-- The johnzon-core and json-api contents are repackaged in -commons,
However maven can still need them during tests, which run against
the original -commons classes when built+run in the same reactor,
and not the jar containing the shaded bits. -->
<dependency>
<groupId>org.apache.johnzon</groupId>
<artifactId>johnzon-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-maven-plugin</artifactId>
<version>${project.version}</version>
<executions>
<execution>
<phase>test-compile</phase>
<id>create-horizontal-paging</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>admin</user>
<password>admin</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/horizontalPaging</instance>
<configuration>${basedir}/target/classes/servers/horizontalPaging</configuration>
<args>
<arg>--java-memory</arg>
<arg>2G</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-flow-paging</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>admin</user>
<password>admin</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/flowControlPaging</instance>
<configuration>${basedir}/target/classes/servers/flowControlPaging</configuration>
<args>
<arg>--java-memory</arg>
<!-- some limited memory to make it more likely to fail -->
<arg>512M</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-subscription-paging</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>admin</user>
<password>admin</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/subscriptionPaging</instance>
<configuration>${basedir}/target/classes/servers/subscriptionPaging</configuration>
<args>
<arg>--java-memory</arg>
<!-- some limited memory to make it more likely to fail -->
<arg>512M</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-mmfactory</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<configuration>${basedir}/target/classes/servers/mmfactory</configuration>
<allowAnonymous>true</allowAnonymous>
<user>admin</user>
<password>admin</password>
<instance>${basedir}/target/mmfactory</instance>
<noWeb>false</noWeb>
<args>
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=11099 -Dcom.sun.management.jmxremote.rmi.port=11098
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-openwire-leaktest</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>admin</user>
<password>admin</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/openwire-leaktest</instance>
<configuration>${basedir}/target/classes/servers/openwire-leaktest</configuration>
</configuration>
</execution>
<!-- Used on TestRetention -->
<execution>
<phase>test-compile</phase>
<id>create-lmreplay</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>artemis</user>
<password>artemis</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/replay/large-message</instance>
<configuration>${basedir}/target/classes/servers/replay/large-message</configuration>
<args>
<!-- this is needed to run the server remotely -->
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost</arg>
<arg>--journal-retention</arg>
<arg>1</arg>
<arg>--queues</arg>
<arg>RetentionTest</arg>
<arg>--name</arg>
<arg>large-message</arg>
</args>
</configuration>
</execution>
<!-- Used on JournalFlushInterruptTest -->
<execution>
<phase>test-compile</phase>
<id>create-interruptjf</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>artemis</user>
<password>artemis</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/interruptjf</instance>
<configuration>${basedir}/target/classes/servers/interruptjf</configuration>
<args>
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost</arg>
<arg>--queues</arg>
<arg>JournalFlushInterruptTest</arg>
<arg>--name</arg>
<arg>interruptjf</arg>
</args>
</configuration>
</execution>
<!-- Used on LargeMessageInterruptTest -->
<execution>
<phase>test-compile</phase>
<id>create-interruptlm</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>artemis</user>
<password>artemis</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/interruptlm</instance>
<configuration>${basedir}/target/classes/servers/interruptlm</configuration>
<args>
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost</arg>
<arg>--queues</arg>
<arg>LargeMessageInterruptTest</arg>
<arg>--name</arg>
<arg>interruptlm</arg>
</args>
</configuration>
</execution>
<!-- Used on ClusteredLargeMessageInterruptTest -->
<execution>
<phase>test-compile</phase>
<id>create-lmbroker1</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>artemis</user>
<password>artemis</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/lmbroker1</instance>
<configuration>${basedir}/target/classes/servers/lmbroker1</configuration>
<args>
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost</arg>
<arg>--clustered</arg>
<arg>--staticCluster</arg>
<arg>tcp://localhost:61716</arg>
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost</arg>
<arg>--queues</arg>
<arg>ClusteredLargeMessageInterruptTest</arg>
<arg>--name</arg>
<arg>lmbroker1</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-lmbroker2</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<role>amq</role>
<user>artemis</user>
<password>artemis</password>
<allowAnonymous>true</allowAnonymous>
<noWeb>false</noWeb>
<instance>${basedir}/target/lmbroker2</instance>
<configuration>${basedir}/target/classes/servers/lmbroker2</configuration>
<portOffset>100</portOffset>
<args>
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost</arg>
<arg>--clustered</arg>
<arg>--staticCluster</arg>
<arg>tcp://localhost:61616</arg>
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost</arg>
<arg>--queues</arg>
<arg>ClusteredLargeMessageInterruptTest</arg>
<arg>--name</arg>
<arg>lmbroker2</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-mqtt</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<configuration>${basedir}/target/classes/servers/mqtt</configuration>
<allowAnonymous>true</allowAnonymous>
<user>artemis</user>
<password>artemis</password>
<instance>${basedir}/target/mqtt</instance>
<noWeb>false</noWeb>
<args>
<arg>--java-options</arg>
<arg>-Djava.rmi.server.hostname=localhost</arg>
<arg>--name</arg>
<arg>mqtt</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>created-static0</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/replicated-static0</instance>
<configuration>${basedir}/target/classes/servers/replicated-static0</configuration>
<args>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-replicated-static1</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/replicated-static1</instance>
<configuration>${basedir}/target/classes/servers/replicated-static1</configuration>
<args>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-tx-check-backup-zero</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/replica-tx-check/backup-zero</instance>
<configuration>${basedir}/target/classes/servers/replica-tx-check/backup-zero</configuration>
<args>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-tx-check-live-zero</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/replica-tx-check/live-zero</instance>
<configuration>${basedir}/target/classes/servers/replica-tx-check/live-zero</configuration>
<args>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-tx-check-backup-one</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/replica-tx-check/backup-one</instance>
<configuration>${basedir}/target/classes/servers/replica-tx-check/backup-one</configuration>
<args>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-tx-check-live-one</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/replica-tx-check/live-one</instance>
<configuration>${basedir}/target/classes/servers/replica-tx-check/live-one</configuration>
<args>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-tx-check-backup-two</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/replica-tx-check/backup-two</instance>
<configuration>${basedir}/target/classes/servers/replica-tx-check/backup-two</configuration>
<args>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-tx-check-live-two</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/replica-tx-check/live-two</instance>
<configuration>${basedir}/target/classes/servers/replica-tx-check/live-two</configuration>
<args>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-database-paging</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/database-paging/derby</instance>
<configuration>${basedir}/target/classes/servers/database-paging/derby</configuration>
<libList>
<arg>org.apache.derby:derby:${apache.derby.version}</arg>
</libList>
<args>
<arg>--jdbc</arg>
<arg>--global-max-messages</arg>
<arg>100</arg>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
<execution>
<phase>test-compile</phase>
<id>create-database-paging-mysql</id>
<goals>
<goal>create</goal>
</goals>
<configuration>
<!-- this makes it easier in certain envs -->
<javaOptions>-Djava.net.preferIPv4Stack=true</javaOptions>
<instance>${basedir}/target/database-paging/mysql</instance>
<configuration>${basedir}/target/classes/servers/database-paging/mysql</configuration>
<libListWithDeps>
<arg>com.mysql:mysql-connector-j:8.0.33</arg>
</libListWithDeps>
<args>
<arg>--jdbc</arg>
<arg>--jdbc-connection-url</arg>
<arg>jdbc:mysql://localhost/ARTEMIS-TEST?user=root&#38;#38;password=artemis</arg>
<arg>--jdbc-driver-class-name</arg>
<arg>com.mysql.cj.jdbc.Driver</arg>
<arg>--global-max-messages</arg>
<arg>100</arg>
<arg>--java-options</arg>
<arg>-ea</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<skipTests>${skipSoakTests}</skipTests>
<includes>
<include>**/*Test.java</include>
</includes>
<argLine>${activemq-surefire-argline}</argLine>
</configuration>
</plugin>
</plugins>
</build>
</project>