[jboss-jira] [JBoss JIRA] (WFLY-3830) Use external-context for remote TIBCO ems lookup

Jeff Mesnil (JIRA) issues at jboss.org
Tue Nov 4 11:09:35 EST 2014


    [ https://issues.jboss.org/browse/WFLY-3830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13017228#comment-13017228 ] 

Jeff Mesnil commented on WFLY-3830:
-----------------------------------

The fix that has been merged on master branch uses the org.jboss.as.naming.lookup.by.string env property to ensure that the JNDI resources will be looked up using the lookup(String) method:

<external-context name="java:global/tibco" module="com.tibco" class="javax.naming.InitialContext">
  <environment>
    <property name="java.naming.factory.initial" value="com.tibco.tibjms.naming.TibjmsInitialContextFactory"/>
    <property name="java.naming.factory.url.pkgs" value="com.tibco.tibjms.naming"/>
    <property name="java.naming.provider.url" value="tcp:/<server>:<port>"/>
    <property name="org.jboss.as.naming.lookup.by.string" value="true"/>
  </environment>
</external-context>

> Use external-context for remote TIBCO ems lookup
> ------------------------------------------------
>
>                 Key: WFLY-3830
>                 URL: https://issues.jboss.org/browse/WFLY-3830
>             Project: WildFly
>          Issue Type: Bug
>          Components: Naming
>    Affects Versions: 8.1.0.Final
>            Reporter: Jeff Mesnil
>            Assignee: Jeff Mesnil
>             Fix For: 9.0.0.Beta1
>
>
> If an users uses the generic JMS RA with the TIBCO EMS messaging server, he has to duplicate all the JNDI parameters in the MDB annotations.
> Instead, he should be able to use a naming's external-context to connect to the Remote TIBCO server with the following configuration:
> {noformat}
>             <bindings>
>                 <external-context name="java:global/tibco" module="com.tibco" class="javax.naming.InitialContext">
>                     <environment>
>                         <property name="java.naming.factory.initial" value="com.tibco.tibjms.naming.TibjmsInitialContextFactory"/>
>                         <property name="java.naming.provider.url" value="tcp://<tibco_server>:<tibco_port>"/>
>                         <property name="java.naming.factory.url.pkgs" value="com.tibco.tibjms.naming"/>
>                     </environment>
>                 </external-context>
>             </bindings>
> {noformat}
> With these settings, the user only needs to pass the expected connection factory and destination lookup in the MDB:
> {noformat}
>         @ActivationConfigProperty(propertyName = "connectionFactory", propertyValue = "java:global/tibco/XACF"),
>         @ActivationConfigProperty(propertyName = "destination", propertyValue = "java:global/tibco/Q1"),
> {noformat}
> The local JNDI lookup "java:global/tibco/Q1" will then use the external context (bound to "java:global/tibco") to lookup the "Q1" name on the TIBCO EMS.
> There are a few bugs in the ExternalObjectFactory that prevents to use this configuration with a regular javax.naming.InitialContext to build the external context.



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the jboss-jira mailing list