9 Replies Latest reply on Mar 3, 2017 10:34 AM by Sai Pabbathi

    WildFly 10 and Tibco EMS 8.2

    Luiz Almeida Newbie

      Hi everybody.

       

      I would like to configure my WildFly 10 to connect to Tibco EMS 8.2 allowing my MDBs to get messages from the Tibco EMS.

      I have been following a lot of links but unsuccessfully.

      Here I mention what I have done so far:

       

      I configured my WildFly's standalone.xml with the content in resource-adapter.xml file (see attachments).

      I also created the module org.jboss.genericjms.provider in WILD_FLY_HOME/modules/system/layers/base/org/jboss/genericjms. The content is in the provider.zip file.

      Here the configurations that I have in my MDB:

       

      @MessageDriven(activationConfig = { 

       

              @ActivationConfigProperty(propertyName = "destination", propertyValue = "MyTibcoQueue"), 

              @ActivationConfigProperty(propertyName = "connectionFactory", propertyValue = "jms/tibcoCF")

      }) 

      @ResourceAdapter("generic-jms-ra.rar")

       

      When JBoss starts I get an error. You can see it in the error.log file.

      Thank you in advance.

      Regards,


      LA

        • 1. Re: WildFly 10 and Tibco EMS 8.2
          Justin Bertram Master

          Did you happen to read the documentation for the resource adapter you're using?  Based on your comment I think you've got a fundamental misunderstanding of how it works.  An MDB uses the inbound adapter to consume messages.  What you've configured in resource-adapter.xml is a connection factory using the outbound adapter.  The MDB can't use this connection factory for consuming messages.  You need to configure the appropriate "jndiParameters" activation configuration property on your MDB along with the appropriate "connectionFactory" activation configuration property so the MDB can use the right connection factory from Tibco.

          • 2. Re: WildFly 10 and Tibco EMS 8.2
            Luiz Almeida Newbie

            Hi Justin.

             

            Thank you for your reply.

            Could you clarify me some doubts?
            Reading the J2EE Connector Architecture I got:

            The J2EE Connector architecture (Version 1.5) defines the following set of system-level contracts between an application server and EIS, which enables inbound connectivity from an EIS

            In another source I got these:

            While the initial offering (version 1.0) of outbound communications was successful, inbound connectivity was not introduced until the 1.5 version.

            and

            In an inbound communication model, all communication is sourced from an EIS via a resource adapter to an application component hosted in a J2EE container. A resource adapter is a software library that enables the communication between an application server and an EIS. It supports bidirectional connectivity. In a nutshell, it receives messages from an EIS and passes it to J2EE application components, usually message-driven beans (MDB).


            I didn't take a look but I'm quite sure that JBoss implements the JCA 1.5 version.

            If I configure my MDBs to use Activation, Am I jumping the app server, right?

            My goal here is to configure JBoss to handle the connection with the Tibco EMS, so my EJBs can ask for a connection to the application server and not directly to the Tibco EMS.

            Any ideas?

            Regards,

             

            LA

            • 3. Re: WildFly 10 and Tibco EMS 8.2
              Justin Bertram Master

              I didn't take a look but I'm quite sure that JBoss implements the JCA 1.5 version.

              Iron Jacamar is the JCA implementation in Wildfly and it actually implements JCA 1.7 which includes 1.5.

               

              If I configure my MDBs to use Activation, Am I jumping the app server, right?

              I'm not sure what you mean by "jumping the app server."  Can you clarify your question?

               

              In any case, the activation configuration properties you've configured will be passed to the inbound adapter of "generic-jms-ra.rar" to configure the details necessary to receive messages.  As I stated in my previous comment, your problem is that you haven't specified the necessary activation configuration properties on the MDB in order to connect to Tibco and receive messages.  I'm not sure how I can state it more plainly than that.

               

              My goal here is to configure JBoss to handle the connection with the Tibco EMS, so my EJBs can ask for a connection to the application server and not directly to the Tibco EMS.

              Using the generic JMS JCA RA for Tibco integration with your MDBs is the proper way to achieve your goal.  You just haven't configured your MDBs properly to accomplish this as I've already stated.

              • 4. Re: WildFly 10 and Tibco EMS 8.2
                Luiz Almeida Newbie

                Hi Justin

                 

                Thank you for your reply.

                I'm not sure what you mean by "jumping the app server."  Can you clarify your question?

                My initial idea here was the application server to handle all the connections between the EJBs and Tibco EMS, no matter if it was an inbound or outbound model.

                In an outbound model, the application server handles the connections between it and the Tibco EMS. We can even configure a connection pool to it.

                Is it possible to the inbound model?

                • 5. Re: WildFly 10 and Tibco EMS 8.2
                  Justin Bertram Master

                  Is it possible to the inbound model?

                  If you're using MDBs then all your inbound connections will go through the JCA RA (which uses a pool).

                  • 7. Re: WildFly 10 and Tibco EMS 8.2
                    Sai Pabbathi Newbie

                    luiz.mendes.almeida Did you install the IronJacamer to get this to work? Could you let me know the details of how you made this to work?

                    • 8. Re: WildFly 10 and Tibco EMS 8.2
                      Justin Bertram Master

                      IronJacamar is the JCA implementation that ships with Wildfly.  If you want to integrate Wildfly with Tibco EMS then I suggest you look at https://github.com/jms-ra/generic-jms-ra.  That should have everything you need to do the integration.

                      1 of 1 people found this helpful
                      • 9. Re: WildFly 10 and Tibco EMS 8.2
                        Sai Pabbathi Newbie

                        Hello Justin, I was able to solve the consuming part using the generic-jms-ra that you posted above, now I'm trying to put the publish into a transaction, i'm unable to put the whole thing into a single xa transction, find the details below. thank you!

                         

                        Publish messages to remote JMS provider in transaction