I have problem with the ActiveMQ Artemis REST plugin. When I start Artemis it throws an error like below:
Caused by: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ219007: Cannot connect to server(s). Tried with all available servers.]
at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:798) [artemis-core-client-2.10.0.jar:2.10.0]
at org.apache.activemq.artemis.rest.MessageServiceManager.start(MessageServiceManager.java:151) [artemis-rest-2.10.0.jar:2.10.0]
at org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener.contextInitialized(RestMessagingBootstrapListener.java:50) [artemis-rest-2.10.0.jar:2.10.0]
What I did to run rest plugin:
pom.xml config:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-
4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.artemis</groupId>
<artifactId>artemis-rest</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>artemis-rest</name>
<dependencies>
<dependency>
<groupId>org.apache.activemq.rest</groupId>
<artifactId>artemis-rest</artifactId>
<version>2.10.0</version>
</dependency>
</dependencies>
</project>
Edited broker.xml file:
<acceptors> <acceptor name="in-vm">vm://0</acceptor> <acceptor name="artemis">tcp://localhost:61616</acceptor> </acceptors>
Edited bootstrap.xml
<web bind="http://0.0.0.0:8161" path="web"> <app url="activemq-branding" war="activemq-branding.war"/> <app url="artemis-plugin" war="artemis-plugin.war"/> <app url="console" war="console.war"/> <app url="artemis-rest" war="artemis-rest.war"/> </web>
And added artemis-rest.war
to the apache-artemis-2.10.0\\web
directory.
Does someone know why it does not work?
You have not listed your input in the web.xml. And also missing the rest-messaging.xml file? Do you have RESTEasy installed? Here is the web.xml to go in WEB-INF
<web-app>
<listener>
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
<listener>
<listener-class>org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener</listener-class>
</listener>
<filter>
<filter-name>Rest-Messaging</filter-name>
<filter-class>org.jboss.resteasy.plugins.server.servlet.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>Rest-Messaging</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>rest.messaging.config.file</param-name>
<param-value>file:///WEB-INF/rest-messaging.xml</param-value>
</context-param>
</web-app>
Here is the rest-messaging-xml file:
<rest-messaging>
<server-in-vm-id>0</server-in-vm-id> <!-- deprecated, use "url" -->
<use-link-headers>false</use-link-headers>
<default-durable-send>false</default-durable-send>
<dups-ok>true</dups-ok>
<topic-push-store-dir>topic-push-store</topic-push-store-dir>
<queue-push-store-dir>queue-push-store</queue-push-store-dir>
<producer-time-to-live>0</producer-time-to-live>
<producer-session-pool-size>10</producer-session-pool-size>
<session-timeout-task-interval>1</session-timeout-task-interval>
<consumer-session-timeout-seconds>300</consumer-session-timeout-seconds>
<consumer-window-size>-1</consumer-window-size> <!-- deprecated, use "url" -->
<url>vm://0</url>
</rest-messaging>
Haven't got it to work yet though. I have an issue with RESTEasy. I don't know what version to use with Artemis 2.10.1. Getting this: java.lang.RuntimeException: java.lang.RuntimeException: You must install RESTEasy as a Bootstrap Listener and it must be listed before this class
Will probably be asking for help soon.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.