Weblogic EJB connection to external Tibco EMS JMS Queue

后端 未结 1 1646
挽巷
挽巷 2021-01-07 08:13

I\'m trying to connect a Weblogic (10.3) MDB to a Tibco EMS JMS queue. I\'ve read from the queue using a simple Java/Spring JNDI connection so I know the foreign JNDI lookup

相关标签:
1条回答
  • 2021-01-07 08:44

    Have finally achieved this - due to a bug in Weblogic 10.3 this isn't as simple as it should be.

    1. Create a foreign server with all the normal details (local/remote JNDI lookup names for destination and connection factories).

    2. Create a local WL user with the same name as the remote EMS user, including password.

    3. Create an ejb credential mapping (NOT security credential mapping)

      • do this by clicking on the relevant deployment, click on the relevant ejb name in the list, then Security tab then Credentials Mapping tab.
      • add the same name for WLS and Remote users (password doesn't seem to be necessary here).

    Add the following sections in config files:

    weblogic-ejb-jar.xml

    At the bottom of this file, after the closing 'weblogic-enterprise-bean' tag and before the ending 'weblogic-ejb-jar' tag add the following:

    <security-role-assignment>
        <role-name>rficonsumer</role-name>
        <principal-name>rdsuat</principal-name>
    </security-role-assignment>
    

    The 'rficonsumer' role only exists in these 2 config files and can be anything as long as it is consistent in all 3 sections described here. The principal-name 'rdsuat' must match the user created in the WL Admin console section and therefore must match the EMS queue user.

    ejb-jar.xml

    1. In the 'message-driven' tag section for the relevant MDB add the following section at the end before the closing 'message-driven' tag:

      rficonsumer

    2. At the very end of the file, after the closing 'enterprise-beans' tag, before the ending 'ejb-jar' closing tag add the following:

      rficonsumer

    0 讨论(0)
提交回复
热议问题