[ 
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

Reply via email to