Service Virtualization

  • 1.  Solace Queue Connectivity using Apache Qpid

    Posted Nov 21, 2018 04:38 AM

    Hi Expert,

    I have a requirement to Virtualize the Queue/Topic based services hosted on Solace Platform. My Developer has configured the Queueus and Topics using Apache Qpid. They have not used JNDI anywhere. Below are my asset configuration,

     

    Settings for Creating JNDI Context

    Name (Userdefined Context ) - SolaceQ_21Nov_Context

    Scope - Step

    JNDI Factory Class - org.apache.qpid.jms.JmsConnectionFactory

    URL -amqps://amqps-vpn-adhoc4-vmr1.fs-solace.apps.efg-ab-cd2.ocp.mybank.com:443?transport.trustAll=false&transport.verifyHost=true

    Username - <username>

    Password - <password>

    Custom Properties:

          javax.net.debug - ssl:trustmanager

          javax.net.ssl.trustStorePassword - <trustStorePwd>

          javax.net.ssl.keyStorePassword - <keyStorePwd>

          javax.net.ssl.keyStore - C:/Program Files/CA/DevTest/srdmsuser.jks

          javax.net.ssl.trustStore - C:/Program Files/CA/DevTest/ocpcerts.jks

          queue.srdbmsQueueLookup - scbCash/Payments/Initiation/CreditTransfer/srdms

          connectionfactory.solaceFactoryLookup - amqps://amqps-vpn-adhoc4-vmr1.fs-solace.apps.efg-ab-cd2.ocp.mybank.com:443?transport.trustAll=false&transport.verifyHost=true&jms.username=<username>&jms.password=<password>

     

             

    When I try to create an Asset in DevTest, I see that I am unable to connect, where i get following errors

     

    ERROR: 

    Verifying Asset
    Opening JNDI context with URL: amqps://amqps-vpn-adhoc4-vmr1.fs-solace.apps.efg-ab-cd2.ocp.mybank.com:443?transport.trustAll=false&transport.verifyHost=true
    Error: Error while creating JNDI context SolaceQ_21Nov_Context: Cannot instantiate class: org.apache.qpid.jms.JmsConnectionFactory


    ============================================================================
    | Exception:
    ============================================================================
    | Message: Error while creating JNDI context SolaceQ_21Nov_Context: Cannot instantiate class: org.apache.qpid.jms.JmsConnectionFactory
    ----------------------------------------------------------------------------
    | Trapped Exception: Cannot instantiate class: org.apache.qpid.jms.JmsConnectionFactory
    | Trapped Message: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.qpid.jms.JmsConnectionFactory [Root exception is java.lang.ClassCastException: org.apache.qpid.jms.JmsConnectionFactory cannot be cast to javax.naming.spi.InitialContextFactory]
    ----------------------------------------------------------------------------
    STACK TRACE
    javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.qpid.jms.JmsConnectionFactory [Root exception is java.lang.ClassCastException: org.apache.qpid.jms.JmsConnectionFactory cannot be cast to javax.naming.spi.InitialContextFactory]
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:674)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
    at javax.naming.InitialContext.init(InitialContext.java:244)
    at javax.naming.InitialContext.<init>(InitialContext.java:216)
    at com.itko.lisa.ejb.EJBNode.getContext(EJBNode.java:852)
    at com.itko.lisa.jndi.asset.JndiInitialContextAsset.createInstance(JndiInitialContextAsset.java:208)
    at com.itko.lisa.jndi.asset.JndiInitialContextAsset.createInstance(JndiInitialContextAsset.java:44)
    at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.open(LocalAssetRuntime.java:2336)
    at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.checkOut(LocalAssetRuntime.java:1555)
    at com.itko.lisa.asset.LocalAssetRuntime$RuntimeEntry.checkOut(LocalAssetRuntime.java:819)
    at com.itko.lisa.asset.LocalAssetRuntime.doOpenAsset(LocalAssetRuntime.java:166)
    at com.itko.lisa.asset.LocalAssetRuntime.openAssetInScope(LocalAssetRuntime.java:123)
    at com.itko.lisa.asset.LocalAssetRuntime.openAsset(LocalAssetRuntime.java:114)
    at com.itko.lisa.asset.AssetUtils.verifyRuntimeAsset(AssetUtils.java:1291)
    at com.itko.lisa.asset.ui.AssetEditor$5.run(AssetEditor.java:306)
    at com.itko.lisa.asset.ui.ProgressLog$Worker.doInBackground(ProgressLog.java:142)
    at com.itko.lisa.asset.ui.ProgressLog$Worker.doInBackground(ProgressLog.java:100)
    at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at javax.swing.SwingWorker.run(SwingWorker.java:334)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.ClassCastException: org.apache.qpid.jms.JmsConnectionFactory cannot be cast to javax.naming.spi.InitialContextFactory
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:672)
    ... 22 more

     

    Kevin.Bowman - Can you please help?



  • 2.  Re: Solace Queue Connectivity using Apache Qpid

    Posted Nov 22, 2018 01:19 AM

    I have loaded the following JARS to my hotDeploy folder - 

     

    qpid-jms-client-0.31.0.jar

    proton-j-0.26.0.jar

    proton-jms-0.12.2.jar

    activemq-all-5.15.7.jar

    qpid-client-0.20.jar

    netty-transport-native-unix-common-4.1.22.Final.jar

    netty-transport-native-kqueue-4.1.22.Final-osx-x86_64.jar

    netty-transport-native-epoll-4.1.22.Final-linux-x86_64.jar

    netty-transport-4.1.22.Final.jar

    netty-resolver-4.1.22.Final.jar

    netty-handler-4.1.22.Final.jar

    netty-common-4.1.22.Final.jar

    netty-codec-http-4.1.22.Final.jar

    netty-codec-4.1.22.Final.jar

    netty-buffer-4.1.22.Final.jar

    geronimo-jms_2.0_spec-1.0-alpha-2.jar