gpt4 book ai didi

java - ActiveMQ 的 NoSuchMethodError

转载 作者:行者123 更新时间:2023-11-30 06:31:00 25 4
gpt4 key购买 nike

java.lang.NoSuchMethodError: org.apache.activemq.thread.TaskRunnerFactory.setThreadClassLoader(Ljava/lang/ClassLoader;)V
at org.apache.activemq.broker.BrokerService.getTaskRunnerFactory(BrokerService.java:1265)
at org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:2346)
at org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:2305)
at org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:1017)
at org.apache.activemq.broker.BrokerService.getAdminConnectionContext(BrokerService.java:2576)
at org.apache.activemq.broker.BrokerService.startVirtualConsumerDestinations(BrokerService.java:2717)
at org.apache.activemq.broker.BrokerService.startDestinations(BrokerService.java:2567)
at org.apache.activemq.broker.BrokerService.doStartBroker(BrokerService.java:726)
at org.apache.activemq.broker.BrokerService.startBroker(BrokerService.java:720)
at org.apache.activemq.broker.BrokerService.start(BrokerService.java:623)
at com.bp.pnc.publisher.app.PncPublisherApplication.main(PncPublisherApplication.java:77)

我使用的代码是

BrokerService broker = new BrokerService();
TransportConnector connector = new TransportConnector();
connector.setUri(new URI("tcp://localhost:61616"));
broker.addConnector(connector);
broker.start();

问题发生在broker.start()方法上。我使用的是activemq 5.14.0。我正在使用 Java 7。我查看了文档和发生这种情况的确切行。

this.taskRunnerFactory.setThreadClassLoader(this.getClass().getClassLoader());

最佳答案

发生此错误的原因有多种:

  • 您使用比用于编译源代码的版本更旧的 activemq.jar 运行应用程序
  • 您的应用程序的类路径中有更多 jar,其中之一也包含 activemq 类(因为它本身使用类)。如果该 jar 在您的 activemq.jar 之前加载(即它出现在 acitvemq.jar 的“前面”),则说明正在使用旧版本。

如果是后者,您可以将以下代码放入您的类中(在问题中显示的代码之前)以查看该类从何处加载:

Class clazz = TaskRunnerFactory.class;
String name = clazz.getName().replace('.', '/') + ".class";
String loc = clazz.getClassLoader().getResource(name).toString();
System.out.println(loc);

关于java - ActiveMQ 的 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46133410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com