我对ActiveMQ Artemis REST插件有问题。当我启动Artemis时,它会抛出如下所示的错误:
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]
我做了什么来运行休息插件:
- 建立阿尔忒弥斯-休息.战争
pom.xml配置:
<?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>
已编辑的代理.xml文件:
<acceptors> <acceptor name="in-vm">vm://0</acceptor> <acceptor name="artemis">tcp://localhost:61616</acceptor> </acceptors>
编辑引导程序.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>
并将
artemis-rest.war
添加到apache-artemis-2.10.0web
目录中。
有人知道为什么它不起作用吗?
您尚未在 Web .xml中列出您的输入。并且还缺少休息消息.xml文件?您是否安装了 RESTEasy? 这是网络.xml进入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>
下面是 rest-messaging-xml 文件:
<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>
不过还没有让它工作。我对 RESTEasy 有问题。我不知道与Artemis 2.10.1一起使用哪个版本。 得到这个: java.lang.RuntimeException: java.lang.RuntimeException: 你必须安装 RESTEasy 作为引导侦听器,并且它必须列在此类之前
可能很快就会寻求帮助。