当前位置: 首页 > 知识库问答 >
问题:

Spring JMS无法连接JBoss EAP 7.1 ActiveMq Artemis

龙承颜
2023-03-14

我正在尝试连接到EAP 7.1上的ActiveMq Artemis,它具有传统配置(远程:4447)。我可以使用JMSToolBox通过端口5445连接,但是当我想从我的Spring Boot应用程序使用remote://xxx:4447访问服务器时,我得到了这个警告

对于目标“java:/队列/参与方”,JMS 消息侦听器调用程序的安装失败 - 尝试恢复。原因:无法将org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionQueueQueryResponseMessage_V2投射到org.apache.activemq.artemis.core.protocol.core.impl.wireformat.SessionQueueQueryResponseMessage_V3

还有很多这样的警告。

AMQ212052:由于以前的服务器超时,数据包Packet(sessionqueuequeryresponse message _ V2)[type =-7,channelID=13,Packet object = sessionqueuequeryresponse message _ V2,address=null,name=null,consumerCount=0,filterString=null,durable=false,exists=false,temporary=false,messageCount=0,autoCreationEnabled=false]的回答顺序错误,该问题将被忽略

我无法访问JBoss服务器,但我被告知配置很好。这是我的配置。

@Bean
public ConnectionFactory connectionFactory() {
    final Hashtable<String, Object> env = new Hashtable<>();
    env.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
    env.put(Context.PROVIDER_URL, providerUrl);
    env.put("jboss.naming.client.ejb.context", true);
    env.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");

    try {
        final Context ctx = new InitialContext(env);
        final String cfLookupName = "jms/RemoteConnectionFactory";

        final ConnectionFactory factory = (ConnectionFactory) ctx.lookup(cfLookupName);
        ctx.close();
        return factory;
    }
    catch (final NamingException e) {
        LOGGER.error(String.format("Error while connecting to JMS. %s", e));
    }
    return null;
}

@Bean
public JmsListenerContainerFactory<?> jmsConnectionFactory(
        final ConnectionFactory connectionFactory,
        final DefaultJmsListenerContainerFactoryConfigurer configurer) {
    final DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
    configurer.configure(factory, connectionFactory);
    return factory;
}

应用程序. yml

jms:
  context-factory: org.wildfly.naming.client.WildFlyInitialContextFactory
  provider-url: remote://<hostname>:4447

我不确定它是否相关,但我在Maven中使用此依赖项:

    <groupId>org.wildfly</groupId>
    <artifactId>wildfly-jms-client-bom</artifactId>
    <version>18.0.0.Final</version>
    <type>pom</type>

共有1个答案

夏侯楷
2023-03-14

看起来EAP 7.1(在Apache Artemis 1.x上)和您的客户端代码(在Apache Artemis 2.10上)不匹配。

 类似资料:
  • 下面是我们正在使用的配置,但我们得到如下所示的错误消息 错误信息如下所示 2014-06-27 11:25:42,503[main]debug-defaultMessageListenerContainer.InstructionSharedConnection(752)无法建立共享JMS连接-让异步调用程序尽快建立连接com.ibm.msg.client.JMS.detailedJMSSecur

  • 连接到hadoop时,出现以下错误 线程“main”java.lang.AbstractMethodError中出现异常:org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider。getProxy()Lorg/apache/hadoop/io/retry/failoverproxy提供程序$ProxyInfo

  • 问题内容: 我经常收到ServiceStack.Redis:无法连接:sPort:0或ServiceStack.Redis:无法连接:sPort:50071(或其他端口号)。 当我们的网站繁忙时,似乎会发生这种情况。Redis本身看起来很好,CPU或内存使用量并未真正增加。 我正在使用连接池,并尝试更改超时值,但未成功。 用法是这样的: 问题答案: 这是由于Redis在Hyper-V上作为虚拟机托

  • 问题内容: 我正在尝试使用Ruby on Rails运行Selenium的示例脚本。我必须使用代理运行它。这是我的代码: 我收到以下错误: 有人能帮我吗…?我已经尝试了好几个小时,却找不到问题…真的不知道该怎么办。 环境: Ubuntu 16.04 LTS,Firefox 45.0,rbenv 2.3.1 另一个问题:有人知道Selenium + Ruby on Rails的示例吗?我找不到真正好

  • 我无法使用我的应用程序甚至compass连接到mongoDB atlas,我收到了错误 连接11至cluster0-shard-00-02-uypd6。mongodb。净额:27017已结 这是我第一次尝试从本地连接,可能是LAN问题?在家里一切都很好

  • 我可以使用以下方式连接到stfp服务器: sftproot@44.333.22.1 然而,当我这样配置Spring时: 我得到以下信息: 原因:java。lang.IllegalArgumentException:org需要密码或私钥。springframework。util。明确肯定isTrue(Assert.java:65)位于org。springframework。整合。sftp。一场默认S

  • 我正在尝试连接到MySQL服务器,但出现无法处理的错误。 java.sql.SQLNonTransientConnectionException:无法创建到数据库服务器的连接。尝试重新连接3次。放弃。com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)com.mysql.cj.jdbc.excepti

  • 我真的想不通为什么我不能用下面的代码连接到我的Django项目内的JQuery。你能告诉我是什么原因吗?多谢! null null