Я пытаюсь работать над продуктом 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
Заранее спасибо
Boot 3/Spring 6 перемещен из пространства имен javax в пространство имен jakarta для поддержки JEE — вам нужно либо найти банку Tibco для JEE 9, либо вернуться к Boot 2.7/Spring 5.3.
Boot 3/Spring 6 перемещен из пространства имен javax
в пространство имен jakarta
для поддержки JEE — вам нужно либо найти банку Tibco для JEE 9, либо вернуться к Boot 2.7/Spring 5.3.
А, понятно. Попробую поискать баночку. Спасибо за ответ
Похоже, сейчас мне придется перейти на Spring 5.3. Не удалось найти банку для Tibco. :( Спасибо.
Это сложно, потому что документы Tibco не показывают всю иерархию наследования. Если
TibjmsConnectionFactory
не реализуетjavax.jms.ConnectionFactory
их, возможно, вам не повезло.