Проблемы с конфигурацией TibcojmsConnectionFactory

Я пытаюсь работать над продуктом tibco JMS CDC. У меня возникли проблемы с настройкой конфигурации, и я не смог найти решение своей проблемы.

import com.tibco.tibjms.TibjmsConnectionFactory;

import javax.jms.JMSException;
@Configuration
@EnableJms
public class TibcoBusConfiguration {
    @Value("${ems.password}")
    private String password;

    @Value("${ems.port}")
    private String port;

    @Value("${ems.topic}")
    private String queue;

    @Value("${ems.server}")
    private String server;

    @Value("${ems.user}")
    private String user;

    @Bean(name = "tibjmsConnectionFactory")
    public TibjmsConnectionFactory jmsConnectionFactory() throws javax.jms.JMSException {
        final TibjmsConnectionFactory factory = new TibjmsConnectionFactory();

        factory.setServerUrl(serverURL());
        factory.setUserName(user);
        factory.setUserPassword(password);

        return factory;
    }

    @Bean
    public JmsTemplate jmsTemplate(
        @Autowired TibjmsConnectionFactory tibjmsConnectionFactory) throws JMSException {
        final JmsTemplate jmsTemplate = new JmsTemplate();

        jmsTemplate.setConnectionFactory(jmsConnectionFactory());
        jmsTemplate.setDefaultDestinationName(queue);
        jmsTemplate.setExplicitQosEnabled(true);
        jmsTemplate.setDeliveryMode(DeliveryMode.PERSISTENT);
        jmsTemplate.setSessionAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE);
        jmsTemplate.setSessionTransacted(false);

        return jmsTemplate;
    }

    private String serverURL() {
        return "tcp://" + server + ":" + port;
    }



}

К сожалению, JmsTemplate разрешает только jakarta.jms.ConnectionFactory, как мне передать TibcoConnectionFactory, потому что кастинг не разрешен, поскольку классы не совпадают. Является ли мое понимание этого неправильным?

У меня есть следующие JAR-файлы в моей настройке maven: tibjms.jar jakarta.jms-api-3.0 javax.jms-api-2.0

Заранее спасибо

Это сложно, потому что документы Tibco не показывают всю иерархию наследования. Если TibjmsConnectionFactory не реализует javax.jms.ConnectionFactory их, возможно, вам не повезло.

Jim Garrison 24.01.2023 21:13

Boot 3/Spring 6 перемещен из пространства имен javax в пространство имен jakarta для поддержки JEE — вам нужно либо найти банку Tibco для JEE 9, либо вернуться к Boot 2.7/Spring 5.3.

Gary Russell 24.01.2023 21:14
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Boot 3/Spring 6 перемещен из пространства имен javax в пространство имен jakarta для поддержки JEE — вам нужно либо найти банку Tibco для JEE 9, либо вернуться к Boot 2.7/Spring 5.3.

А, понятно. Попробую поискать баночку. Спасибо за ответ

Sricharan Anand 24.01.2023 21:19

Похоже, сейчас мне придется перейти на Spring 5.3. Не удалось найти банку для Tibco. :( Спасибо.

Sricharan Anand 24.01.2023 22:47

Другие вопросы по теме