0

I am using evaluating a standalone apache qpid client, to connect to a secure AMQPS channel over SSL. The standalone code runs fine. the next step is I create an executable using native-image from graalvm.

the uri I am connecting to is

amqps://host_name:port?transport.enabledCipherSuites=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384&transport.useEpoll=true&transport.useKQueue=true&failover.startupMaxReconnectAttempts=3&failover.initialReconnectDelay=5000&failover.maxReconnectAttempts=2&failover.maxReconnectDelay=30000&failover.useReconnectBackOff=false

The error I see is

ERROR [org.apa.qpi.jms.JmsConnectionFactory] (Thread-4) Failed to create JMS Provider instance for: amqps
Exception in thread "Thread-4" javax.jms.JMSRuntimeException: Provider scheme NOT recognized: [amqps]
        at org.apache.qpid.jms.exceptions.JmsExceptionSupport.createRuntimeException(JmsExceptionSupport.java:211)
        at org.apache.qpid.jms.JmsConnectionFactory.createContext(JmsConnectionFactory.java:336)
        at com.uhg.uht.framework.jmsserver.common.PropertyAMQPObjectProvider.getQueueConnectionFactory(PropertyAMQPObjectProvider.java:59)
        at com.uhg.uht.framework.jmsserver.common.JmsConnection.init(JmsConnection.java:64)
        at com.uhg.uht.framework.jmsserver.common.JmsConnection.<init>(JmsConnection.java:37)
        at com.uhg.uht.framework.jmsserver.JmsManager.getConnection(JmsManager.java:115)
        at com.uhg.uht.framework.jmsserver.JmsManager.createClient(JmsManager.java:91)
        at com.uhg.uht.framework.jmsserver.JmsManager.getTransport(JmsManager.java:76)
        at com.uhg.ut.gateway.transaction.MQTransaction$LogProcessTransaction.log(MQTransaction.java:143)
        at com.uhg.ut.gateway.transaction.MQTransaction$LogProcessTransaction.run(MQTransaction.java:131)
        at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:567)
        at com.oracle.svm.core.windows.WindowsJavaThreads.osThreadStartRoutine(WindowsJavaThreads.java:138)
Caused by: javax.jms.JMSException: Provider scheme NOT recognized: [amqps]
        at org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:90)
        at org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:112)
        at org.apache.qpid.jms.JmsConnectionFactory.createConnection(JmsConnectionFactory.java:220)
        at org.apache.qpid.jms.JmsConnectionFactory.createContext(JmsConnectionFactory.java:333)
        ... 10 more
Caused by: java.io.IOException: Provider scheme NOT recognized: [amqps]
        at org.apache.qpid.jms.provider.ProviderFactory.findProviderFactory(ProviderFactory.java:156)
        at org.apache.qpid.jms.provider.ProviderFactory.findProviderFactory(ProviderFactory.java:131)
        at org.apache.qpid.jms.provider.ProviderFactory.create(ProviderFactory.java:102)
        at org.apache.qpid.jms.provider.ProviderFactory.create(ProviderFactory.java:82)
        at org.apache.qpid.jms.JmsConnectionFactory.createProvider(JmsConnectionFactory.java:350)
        at org.apache.qpid.jms.JmsConnectionFactory.createConnection(JmsConnectionFactory.java:209)
        ... 11 more
Caused by: org.apache.qpid.jms.util.ResourceNotFoundException: Could not find factory resource: META-INF/services/org/apache/qpid/jms/provider/amqps
        at org.apache.qpid.jms.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:230)
        at org.apache.qpid.jms.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:171)
        at org.apache.qpid.jms.util.FactoryFinder.newInstance(FactoryFinder.java:129)
        at org.apache.qpid.jms.provider.ProviderFactory.findProviderFactory(ProviderFactory.java:154)
        ... 16 more

Any inputs on the matter will help me complete the poc.

1 Answers1

0

Likely your build is not including the META_INF resources needed for the Qpid JMS client to find the factory for the 'amqps' type you've requested. You can look for some inspiration in building native images from the Quarkus QpidJMS project located here with some look at how the Quarkus build adds these resources here.

Tim Bish
  • 17,475
  • 4
  • 32
  • 42