Artemis休息界面

问题描述 投票:1回答:1

我对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]

我做了什么来运行rest插件:

  1. Build artemis-rest.war

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>
  1. 编辑的broker.xml文件:

    <acceptors>
      <acceptor name="in-vm">vm://0</acceptor>
      <acceptor name="artemis">tcp://localhost:61616</acceptor>
    </acceptors>
    
  2. 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>
    
  3. 并将artemis-rest.war添加到apache-artemis-2.10.0\web目录。

有人知道为什么它不起作用吗?

java rest activemq-artemis
1个回答
0
投票

这是要在WEB-INF中使用的web.xml

<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安装为Bootstrap Listener,并且必须在此类之前列出它。

可能很快就会寻求帮助。

© www.soinside.com 2019 - 2024. All rights reserved.