[ 
https://issues.apache.org/jira/browse/AMQ-4305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13574887#comment-13574887
 ] 

Harald Wellmann commented on AMQ-4305:
--------------------------------------

Attached a simple patch which introduces an additional property "useJndi". If 
this property is true, then the "destination" is interpreted as a JNDI name. If 
JNDI lookup fails, a ResourceException is thrown.

Thus, an MDB can be configured like this:

@MessageDriven(activationConfig = { 
    @ActivationConfigProperty(propertyName = "destinationType", propertyValue = 
"javax.jms.Queue"),  
    @ActivationConfigProperty(propertyName = "destination", propertyValue = 
"java:jboss/exported/jms/demoQueue"),  
    @ActivationConfigProperty(propertyName = "useJndi", propertyValue = 
"true"),  
})

Tested with JBoss 7.1.3.

                
> Support destination lookup by JNDI name in resource adapter
> -----------------------------------------------------------
>
>                 Key: AMQ-4305
>                 URL: https://issues.apache.org/jira/browse/AMQ-4305
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: JCA Container
>    Affects Versions: 5.7.0
>            Reporter: Harald Wellmann
>         Attachments: AMQ-4305.patch
>
>
> Use Case:
> A standalone ActiveMQ broker is integrated with a Java EE 6 server (e.g. 
> JBoss AS 7.1, GlassFish 3.1) via activemq-rar-5.7.0.rar.
> Admin objects corresponding to queues or topics are created at server level, 
> assigning a JNDI name in addition to the physical destination name.
> MDBs are used to handle incoming messages from ActiveMQ destinations. The 
> destination is specified by
> @ActivationConfigProperty(propertyName = "destination", propertyValue = 
> "physical-destination-name")
> Problem:
> The physical destination name is now hard-coded in the application. Thus, it 
> is not possible to deploy the unchanged application in a different runtime 
> environment where the given destination has a different physical name.
> Possible solution:
> Create a new activation config property named "destinationJndiName". If this 
> property is set, the destination is supposed to be registered in JNDI with 
> the name given by the property value. When this property is set, both 
> "destinationType" and "destination" are not required.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to