【问题标题】:Is it possible to implement JMS, Spring and Tibco EMS on a standalone Java app?是否可以在独立的 Java 应用程序上实现 JMS、Spring 和 Tibco EMS?
【发布时间】:2023-07-09 20:05:01
【问题描述】:

这是我的问题!

我有一个带有身份验证的 Tibco EMS 主题

我有一个独立的应用程序,我想发布和使用来自该应用程序的消息

我想通过 Springs JMSTemplate、Listener 等来做到这一点。

E.x 监听器:

public class ExampleListener implements MessageListener {

public void onMessage(Message message) {
    if (message instanceof TextMessage) {
        try {
            //TODO DAO interface to write to db
            System.out.println(((TextMessage) message).getText());
        } catch (JMSException e) {
            throw new RuntimeException(e);
        }
    } else {
        throw new IllegalArgumentException(
                "Message must be of type TestMessage");
    }
} 

}

示例发布者:

import org.springframework.jms.core.JmsTemplate;

公共类 ExampleProducer {

私有的JmsTemplate jmsTemplate;

public ExampleProducer(JmsTemplate jmsTemplate) {
    this.jmsTemplate = jmsTemplate;
}

public void sendMessage() {
    jmsTemplate.convertAndSend("Example Message");
}

}

and here's some of the properties:

jms.jndi.initialContextFactory=com.tibco.tibjms.naming.TibjmsInitialContextFactory jms.jndi.urlPkgs=com.tibco.tibjms.naming

jms.jndi.providerUrl=tibjmsnaming:/****.net:***

这可能吗?

谢谢

【问题讨论】:

    标签: java spring jms tibco spring-jms


    【解决方案1】:

    是的。这是一个相当典型的设置。

    您只需要一些额外的配置来弥补您不在 Java EE 环境中操作的事实。因此,您无需通过资源引用进行简单的 JNDI 查找。

    【讨论】:

    • 您能否提供更多信息或为我指明方向或在线提供一些好的示例。我也认为这将是相当典型的,但似乎没有使用 tibco 的东西! JNDI 问题也是我所期待的主要问题。感谢您的帮助!
    • 我自己从未使用过 tibco,但您正在寻找的东西通常被称为“瘦客户端”。配置和 jar 要求将特定于供应商。
    最近更新 更多