| <!-- |
| ~ 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.32.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> |
| <!-- logging --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <scope>test</scope> |
| </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-mqtt-protocol</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.activemq</groupId> |
| <artifactId>artemis-cli</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.qpid</groupId> |
| <artifactId>qpid-jms-client</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.fusesource.mqtt-client</groupId> |
| <artifactId>mqtt-client</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.paho</groupId> |
| <artifactId>org.eclipse.paho.mqttv5.client</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.activemq</groupId> |
| <artifactId>artemis-core-client</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.activemq</groupId> |
| <artifactId>artemis-jms-client</artifactId> |
| <version>${project.version}</version> |
| <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</groupId> |
| <artifactId>artemis-openwire-protocol</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.activemq</groupId> |
| <artifactId>artemis-amqp-protocol</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.tests</groupId> |
| <artifactId>integration-tests</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| <type>test-jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.activemq</groupId> |
| <artifactId>activemq-client</artifactId> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-jms_1.1_spec</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-j2ee-management_1.1_spec</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.activemq</groupId> |
| <artifactId>artemis-commons</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>junit</groupId> |
| <artifactId>junit</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.transaction</groupId> |
| <artifactId>jakarta.transaction-api</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.jms</groupId> |
| <artifactId>jakarta.jms-api</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.management.j2ee</groupId> |
| <artifactId>jakarta.management.j2ee-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>--static-cluster</arg> |
| <arg>tcp://localhost:61716</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>--static-cluster</arg> |
| <arg>tcp://localhost:61616</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-paging-export</id> |
| <goals> |
| <goal>create</goal> |
| </goals> |
| <configuration> |
| <instance>${basedir}/target/paging-export</instance> |
| <args> |
| <arg>--global-max-messages</arg> |
| <arg>10000</arg> |
| <arg>--java-options</arg> |
| <arg>-ea</arg> |
| <arg>--queues</arg> |
| <arg>TEST</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> |