Доступ Quarkus к удаленным ресурсам - PullRequest
0 голосов
/ 11 июля 2020

всем, у меня есть приложение, которое мы переключаем на кваркус. До сих пор я мог выполнять удаленный поиск через JNDI в очереди JMS в weblogi c. Но похоже, что Quarkus больше не поддерживает JNDI.

Итак, мой вопрос: как я могу выполнить поиск в удаленной очереди в WLS? Мой старый код был таким

  Hashtable<String, String> env = new Hashtable();
  env.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
  env.put("java.naming.provider.url", url);
  InitialContext context = new InitialContext(env);
  ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup(jmsConnectionFactory);
  Destination destination = (Destination) context.lookup(jmsDestination);
  connection = connectionFactory.createConnection();

  session = connection.createSession(true, 1);
  sender = session.createProducer(destination);

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Но есть проблема, мне нужно подключиться к удаленной очереди WLS JMS по протоколу T3, который, похоже, не поддерживается =>

t3: // localhost: 7001

2020 -07-13 12: 31: 56,192 ОШИБКА [org.apa.qpi.jms.pro.ProviderFactory] (main) Не удалось создать экземпляр поставщика для t3 из-за: {}: java .io.IOException: схема поставщика НЕ распознано: [t3] в организации apache .qpid.jms.provider.ProviderFactory.findProviderFactory (ProviderFactory. java: 156) в организации apache .qpid.jms.provider.ProviderFactory.findProviderFactory (ProviderFactory. java: 131) в организации apache .qpid.jms.provider.ProviderFactory.create (ProviderFactory. java: 102) в организации apache .qpid.jms.provider.ProviderFactory.create (ProviderFactory. java: 82) в орг. apache .qpid.jms.JmsConnectionFactory.createProvider (JmsConnectionFactory. java: 349) в организации apache .qpid.jms.JmsConnectionFactory.createConnection (JmsConnection20 *: * 10 208) в орг. apache .qpid.jms.JmsConnectionFactory.createContext (JmsConnectionFactory. java: 332) в орг. * 1 023 * .qpid.jms.JmsConnectionFactory.createContext (JmsConnectionFactory java:. 320) при org.amqphub.quarkus.qpid.jms.runtime.QpidJmsProducer_ProducerMethod_connectionFactory_77384d97dd5fab56fb7d89e045176235cbda65cd_ClientProxy.createContext (QpidJmsProducer_ProducerMethod_connectionFactory_77384d97dd5fab56fb7d89e045176235cbda65cd_ClientProxy.zig: 191) в ch.postfinance.taas.eai .jms.test.EaiJmsSenderTest.testUpload (EaiJmsSenderTest. java: 86) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в java .base / jdk.internal.reflect. NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62) в java .base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl. java: 43) в java. think.Method.invoke (Method. java: 566) в io.quarkus.test.junit.QuarkusTestExtension.runExtensionMethod (QuarkusTestExtension. java: 547) в io.quarkus.test.junit.QuarkusTestExtension.interceptTtension (QuarkusTestExtension.interceptTtension java: 455) на org.junit.jupiter.engine.execution.ExecutableInvoker $ ReflectiveInterceptorCall.lambda $ ofVoidMethod $ 0 (ExecutableInvoker. java: 115) на org.junit.jupiter.engine.execution.ExecutableInvoker $ invoker $. ExecutableInvoker. java: 105) в org.junit.jupiter.engine.execution.InvocationInterceptorChain $ InterceptedInvocation.proceed (InvocationInterceptorChain. java: 106) в org.junit.jupiter.engine.extension.interceptor. java: 149) в org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod (TimeoutExtension. java: 140) в org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod (TimeoutExtension. * 10 84) на org.junit.jupiter.engine.execution.ExecutableInvoker $ ReflectiveInterceptorCall.lambda $ ofVoidMethod $ 0 (ExecutableInvoker. java: 115) на org.junit.jupiter. $ engine.execution.ExecutableIntervoker.lambda ($ invokervoker.lambda java: 105) в org.junit.jupiter.engine.execution.InvocationInterceptorChain $ InterceptedInvoca tion.proceed (InvocationInterceptorChain. java: 106) в org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed (InvocationInterceptorChain. java: 64) в org.junit.jupiter.enginecution.Invocation.InvocationInterceptorChain. InvocationInterceptorChain. java: 45) в org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke (InvocationInterceptorChain. java: 37) в org.junit.jupiter.engine.execution.ExecutableInvoker (. ExecutableInvoker. *: 104) в org.junit.jupiter.engine.execution.ExecutableInvoker.invoke (ExecutableInvoker. java: 98) в org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda $ invokeTestMethodcriptor $ 6 (Test : 212) на org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector. java: 73) на org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod8. ) в org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor. выполнить (TestMethodTestDescriptor. java: 137) в org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute (TestMethodTestDescriptor. java: 71) в org.junit.platform.engine.support.Tierarchy executeRecursively $ 5 (NodeTestTask. java: 135) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector. java: 73) в org.junit.platform.engine.support.hierarchical.Nierarchical. .lambda $ executeRecursively $ 7 (NodeTestTask. java: 125) в org.junit.platform.engine.support.hierarchical.Node.around (Node. java: 135) в org.junit.platform.engine.support. иерархический.NodeTestTask.lambda $ executeRecursively $ 8 (NodeTestTask. java: 123) на org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector. java: 73) на org.engineit.platform .support.hierarchical.NodeTestTask.executeRecursively (NodeTestTask. java: 122) в org.junit.platform.engine.support.hierarchical.NodeTestTask.execute (NodeTestTask. java: 80) в java .base / java .util.ArrayList.forEach (ArrayList. java: 1540) в org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll 1066 или SameThreadHierarchicalTestExecut. .junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 5 (NodeTestTask. java: 139) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector 1068 *: 73. ) в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 7 (NodeTestTask. java: 125) в org.junit.platform.engine.support.hierarchical.Node.around (Node. java: 135) в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 8 (NodeTestTask. java: 123) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.executelector ( . java: 73) на org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively (NodeTestTask. java: 122) на org.junit.platform.engine.supp ort.hierarchical.NodeTestTask.execute (NodeTestTask. java: 80) в java .base / java .util.ArrayList.forEach (ArrayList. java: 1540) в org.junit.platform.engine. support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll (SameThreadHierarchicalTestExecutorService. java: 38) на org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeask NodecursiveTatform. * 139 или 139 .engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector. java: 73) в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 7 (NodeTestTask. java. 125) в org. junit.platform.engine.support.hierarchical.Node.around (Node. java: 135) в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 8 (NodeTestTask. java: 123) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector. java: 73) в org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecu rsively (NodeTestTask. java: 122) в org.junit.platform.engine.support.hierarchical.NodeTestTask.execute (NodeTestTask. java: 80) в org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalSameThreadHierarchicalTask. отправить (SameThreadHierarchicalTestExecutorService. java: 32) в org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute (HierarchicalTestExecutor. java: 57) в org.junit.platform.ngine.chine.support выполнить (HierarchicalTestEngine. java: 51) в org.junit.platform.launcher.core.DefaultLauncher.execute (DefaultLauncher. java: 248) в org.junit.platform.launcher.core.DefaultLauncher.lambda $ execute $ 5 (DefaultLauncher. java: 211) в org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams (DefaultLauncher. java: 226) в org.junit.platform.launcher.core.DefaultLauncher.execute (DefaultLauncher. java: 199) в org.junit.platform.launcher.core.DefaultLauncher.execute (DefaultLauncher. java: 132) в com.intellij. junit5.JUnit5IdeaTestRunner.startRunnerWithArgs (JUnit5IdeaTestRunner. java: 69) в com.intellij.rt.junit.IdeaTestRunner $ Repeater.startRunnerWithArgs (IdeaTestRunner. JUnitStarter. java: 230) в com.intellij.rt.junit.JUnitStarter.main (JUnitStarter. java: 58) Вызвано: org. apache .qpid.jms.util.ResourceNotFoundException: не удалось найти factory ресурс: META-INF / services / org / apache / qpid / jms / provider / t3 в орг. apache .qpid.jms.util.FactoryFinder $ StandaloneObjectFactory.loadProperties (FactoryFinder. java: 230) в орг. apache .qpid.jms.util.FactoryFinder $ StandaloneObjectFactory.create (FactoryFinder. java: 171) в орг. apache .qpid.jms.util.FactoryFinder.newInstance (FactoryFinder. java: 129) в орг. . apache .qpid.jms.provider.ProviderFactory.findProviderFactory (ProviderFactory. java: 154) ... еще 74

2020-07-13 12: 31: 56,193 ОШИБКА [org.apa. qpi.jms.JmsConnectionFactory] (main) Не удалось создать экземпляр JMS Provider для: t3

0 голосов
/ 11 июля 2020

Quarkus действительно не поддерживает JNDI.

JMS можно использовать через расширение Quarkus QPid . Вы можете прочитать документацию здесь и просмотреть приложение быстрого запуска здесь .

...