You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Aaron Mulder (JIRA)" <de...@geronimo.apache.org> on 2006/04/29 05:16:37 UTC

[jira] Commented: (GERONIMO-1680) MDB without activation-config in openejb-jar.xml silently fails

    [ http://issues.apache.org/jira/browse/GERONIMO-1680?page=comments#action_12377062 ] 

Aaron Mulder commented on GERONIMO-1680:
----------------------------------------

Upon consideration, this doesn't seem so straightforward.

 - We don't know what the JMS provider is, so we don't know which activation-config settings are sufficient for it to be "working" (though ActivationSpec can be validated)

 - The settings can be provided in ejb-jar.xml (in the message-driven-bean/activation-config area), and we don't know which of *those* settings might be sufficient

 - If a message-destination-link is specified, that needs to be decoded to an admin object, and the physical name needs to be pulled out of that (that's a product-specific property).

Here's what I propose:

 - Create a Map to hold the activation config settings
 - Look up the ActivationSpec and determine whether it's class name is "org.activemq.ra.ActiveMQActivationSpec"
   - If so, do the admin object arithmatic and pop that value into "destination" in the map
 - Write all the values from ejb-jar.xml into the map
 - Write all the values from openejb-jar.xml into the map
 - Iterate the map and try to apply all the properties to the ActivationSpec
 - Temporarily instantiate the ActivationSpec, apply all the properties, and validate it


> MDB without activation-config in openejb-jar.xml silently fails
> ---------------------------------------------------------------
>
>          Key: GERONIMO-1680
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1680
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: ActiveMQ, OpenEJB
>     Versions: 1.0
>     Reporter: Aaron Mulder
>     Assignee: Aaron Mulder
>     Priority: Critical
>      Fix For: 1.1

>
> I created a queue and sent a couple messages to it.
> Then I created an MDB with a message-destination-type of javax.jms.Queue and a message-destination-link pointing to a message-destination with the name of the Queue.  It seems like this is enough information to point the MDB to that queue, assuming that openejb-jar.xml lists the resource adapter for the MDB.
> This deployed successfully, but no messages were received by the MDB.
> Adding an activation-config section to openejb-jar.xml fixed the problem -- the pending messages were received during deployment.
> One of these two issues strikes me as a bug:
>  1) Why wasn't the MDB hooked up to the queue without needing an activation-config block in openejb-jar.xml?
>  2) If that's an error, why is activation-config optional for an MDB in openejb-jar.xml and why didn't it cause a deployment error?
> In any case, I think deployment should always fail if an MDB is not actually hooked up to a destination.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira