【问题标题】:SAP Enterprise messaging - Add new queues with listeners to existing queues on runtimeSAP Enterprise 消息传递 - 在运行时将带有侦听器的新队列添加到现有队列
【发布时间】:2021-02-25 08:53:33
【问题描述】:

我有一个围绕 SAP Enterprise 消息传递(从 S4HC 使用 BusinessEvents)的用例,以使其成为多租户。为此,该方法是为每个租户创建一个队列,并且特定队列将订阅该租户的多个业务事件。 目前,我已经使用以下代码实现了使其工作/仅侦听 1 个队列的功能。请注意,所有事件都是异步或非阻塞调用,并实现了侦听器类。

    @Bean
public Connection getSession(MessagingServiceJmsConnectionFactory connectionFactory) throws JMSException, InterruptedException {
    Connection connection = connectionFactory.createConnection();
    //connection.start();
    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

    Queue queue = session.createQueue(QUEUE_PREFIX + QUEUE);
    final MessageConsumer messageConsumer = session.createConsumer(queue);
    messageConsumer.setMessageListener(new DefaultMessageListener());
    connection.start();
    Thread.sleep(5000);
    return connection;

}

方法是通过服务管理器在订阅回调上创建队列,并使应用程序在不停止/重新启动应用程序的情况下侦听新队列(将其添加到现有队列中)。 如何使用 SpringBoot 获取连接工厂会话并使用侦听器添加新队列以使其动态化? 你能在这方面提供帮助吗?

【问题讨论】:

    标签: sap-cloud-platform sap-cloud-sdk


    【解决方案1】:

    这段代码看起来不像SAP Cloud SDK。我们检查了两次,在我们的代码中找不到提到的类。我们为企业消息传递提供 PoC 支持,但不推荐使用它,而是支持通过云应用程序编程模型 (CAP) 为它计划发布的库

    查看 CAP 在 Java 中的 Event Handlers 部分了解更多详细信息。据我所知,feature overview table CAP 尚不支持 Java 库的多租户。从这个意义上说,Node.js 的实现已经完成。

    在 SDK 中,我们计划在 CAP 实施完成后提供一些便利。他们的实现

    我认为您可以通过他们的support channels 联系 CAP。

    【讨论】:

    • 您好 Artyom,感谢您的回复。我已按照 SAP Cloud SDK 中的 github 示例“github.com/SAP-samples/enterprise-messaging-client-java-samples”与 SAP s4h 云集成。现在已经弃用了吗?
    • 另外,我没有使用 CAP 模型来集成 EMS。目前,使用版本 SAP Cloud SDK 3.31.0
    • 嗨@ArunKumar,我检查了回购。它是 Java 中用于使用消息传递的通用示例。我不认为它已被弃用,但这不是由 SDK 创建的。我们曾经有一个类型安全的客户端实现,也使用 JMS 作为后端,但后来我们弃用了它,转而支持 CAP 的库。您可能可以将 SDK 与 repo 中的方法集成,但如果在两者之间失败,我相信最好的方法是在该存储库中创建一个 GitHub 问题。
    • 如果多租户不是您主要关心的问题,我也鼓励您尝试使用 CAP 库。
    • 是的...已经使用了这个示例 + SDK...将在提供的链接中提出问题请求
    猜你喜欢
    • 2021-03-16
    • 2019-09-02
    • 2019-06-03
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多