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

嵌入ActiveMQ Artemis的JBoss EAP 7.1之间的远程查找失败

韩瀚
2023-03-14
        <subsystem xmlns="urn:jboss:domain:messaging-activemq:2.0">
            <server name="default">
              <html" target="_blank">security enabled="false"/>
                <address-setting name="jms.queue.TestQueue#" dead-letter-address="jms.queue.DLQTestQueue" expiry-address="jms.queue.ExpiryQueue" redelivery-delay="500" redelivery-multiplier="2.0" max-delivery-attempts="3" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-history-day-limit="10"/>
( …/…)
                <jms-queue name="DLQTestQueue" entries="java:/jms/queue/DLQTestQueue"/>
                <jms-queue name="TestQueueReq" entries="java:/jms/queue/TestQueueReq java:jboss/exported/jms/queue/TestQueueReq" durable="true"/>
                <jms-queue name="TestQueueRep" entries="java:/jms/queue/TestQueueRep java:jboss/exported/jms/queue/TestQueueRep" durable="true"/>
                <connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector"/>
            </server>
        </subsystem>
      <subsystem xmlns="urn:jboss:domain:messaging-activemq:2.0">
            <server name="default">
                <security enabled="false"/>
:…/…)
                <http-connector name="remote-http-connector" socket-binding="remote-server" endpoint="http-acceptor"/>
                <http-acceptor name="http-acceptor" http-listener="default"/>
                <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
                <pooled-connection-factory name="remote-artemis" entries="java:/jms/remoteCF" connectors="remote-http-connector"/>
            </server>
        </subsystem>
@ResourceAdapter("remote-artemis")
@MessageDriven(activationConfig = {
    @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
   @ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "TestQueueReq")
    }, messageListenerInterface = MessageListener.class)
@ApplicationScoped
public class ExampleSFBean implements ExampleSF, MessageListener {
@Override

  public void onMessage(final Message message) {
      …
  @Inject
  @JMSConnectionFactory("java:/jms/remoteCF")
  private JMSContext jmsContext;

  @Resource (lookup = "java:global/remoteContext")
  private Context remoteContext;

  @Resource (lookup="java:global/TestQueueRep")
  private Queue queueRep;

但是,由于注入/查找问题,我们在试图发送响应时不断出现异常。

  • JMSContext为空,除非MDB为@ApplicationContext注释。
  • QueuerEP注入无法工作,因为查找失败(具有:无效的URL方案名称“null”)
  • 使用remoteContext进行手动查找失败,出现与前面相同的以下异常:
Caused by: java.lang.RuntimeException: javax.naming.InvalidNameException: WFNAM00007: Invalid URL scheme name

在org.jboss.as.naming.subsystem.namingBindingAdd$lookupManagedReferenceFactory.getReference(namingBindingAdd.java:451)在org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:143)在org.jboss.as.naming.subsystem.namingBindingAdd$mutableManagedReferenceFactory.getReference(namingBindingAdd.java:354)在getProviderContext(wildflyrootcontext.java:808)在org.wildfly.naming.client.wildflyrootcontext.lookup(wildflyrootcontext.java:155)在javax.naming.initialcontext.lookup(initialcontext.java:421)

  • 问题1:有人能告诉我,我的代码/配置出了什么问题,为什么远程应答队列自动注入不起作用?或者,至少,为什么从远程上下文手动查找不起作用?以及这个方案错误意味着什么…
  • 问题2:如果MDB未注释@ApplicationScoped,则不会注入JMSContext(null)。正常吗?如果是,这样注释MDB有什么缺点吗?

谢谢

暂时还没有答案

 类似资料:
  • 我在本地机器上创建了两个liberty实例。我在服务器X中部署了一个包含远程ejb的war模块,并在服务器Y中部署了另一个war模块,它必须从服务器X中远程查找ejb。 下面是从宁静的 Web 服务中查找 ejb 的代码。 当我尝试调用 Web 服务时,我得到以下异常 本地对象不支持 DII 操作 P.S.我已经在两个端口号不同的服务器上启用了ejbRemote功能。 我将查找字符串更改为“cor

  • 我正在使用嵌入式Jetty 9.2,并试图设置一个需要通过JNDI访问的Oracle数据源。我相信我已经正确地设置了这个,但是它不起作用,尽管花了一天的大部分时间在网上搜索。有人能帮忙吗? 以下是我的启动代码: 这是我的jetty-env.xml(在我的战争的WEB-INF目录中): 这是我的web.xml参考资料: 我得到两个错误。当我启动服务器时,我得到 JAVAlang.IllegalSta

  • 问题内容: Spring Batch远程分块和远程分区有什么区别? 我无法理解Spring Batch中的远程分块和远程分区之间的区别。有人可以解释一下吗? 问题答案: 远程分区 分区是主/从步骤配置,允许并行处理数据分区。每个分区都是通过一些元数据来描述的。例如,如果您正在处理数据库表,则分区1可能是ID 0-100,分区2可能是101-200,等等。对于Spring Batch,主步骤使用分区

  • 该PDF文件已经包含一个名为“Lato(embedded)”的嵌入式字体,编码:ANSI。 如何创建一个PDFFont对象,使我和可以使用它来绘制额外的段落?

  • 问题内容: 您如何找到从向量a到b的正负角theta? 是的,我知道theta = arccos((ab)/(|| a || b |))。 但是,它不包含符号(即不能区分顺时针或逆时针旋转)。 我需要一些可以告诉我从a到b旋转的最小角度的东西。正号表示从+ x轴向+ y轴的旋转。相反,负号表示从+ x轴向-y轴的旋转。 问题答案: 如果您选择的数学库中有atan2()函数:

  • 对于下面的循环, 时间复杂度是多少,我应该怎么想?我的猜测是外环总共运行。内环运行次。因此,时间复杂度应该是。 我说得对吗? 提前感谢。