[
http://jira.jboss.com/jira/browse/JBAS-4958?page=comments#action_12386902 ]
Adrian Brock commented on JBAS-4958:
------------------------------------
To test run:
./build.sh one-test
-Dtest=org.jboss.test.messagedriven.test.DurableTopicMessageDrivenUnitTestCase -Dnojars=t
Which will fail to deploy the MDB listening on the DLQ, because it is not seeing the
activation-config-properties
in ejb-jar.xml
18:42:32,098 ERROR [AbstractKernelController] Error installing to Start:
name=jboss.j2ee:binding=jms-message-inflow-driven-bean,jndiName=local/TestDLQ@29803959,plugin=invoker,service=EJB
state=Create mode=Manual requiredState=Installed
org.jboss.deployment.DeploymentException: Required config property
RequiredConfigPropertyMetaData@16091de[name=destinationType
descriptions=[DescriptionMetaData@7b954b[language=en]]] for messagingType
'javax.jms.MessageListener' not found in activation config
[ActivationConfigProperty(maxMessages=1),
ActivationConfigProperty(acknowledgeMode=AUTO_ACKNOWLEDGE),
ActivationConfigProperty(DLQMaxResent=10),
ActivationConfigProperty(DLQJNDIName=queue/DLQ), ActivationConfigProperty(useDLQ=true),
ActivationConfigProperty(keepAlive=60000), ActivationConfigProperty(reconnectInterval=10),
ActivationConfigProperty(DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler),
ActivationConfigProperty(providerAdapterJNDI=DefaultJMSProvider),
ActivationConfigProperty(maxSession=15),
ActivationConfigProperty(subscriptionDurability=NonDurable),
ActivationConfigProperty(minSession=1)]
ra=jboss.jca:service=RARDeployment,name='jms-ra.rar'
at
org.jboss.resource.deployment.ActivationSpecFactory.createActivationSpec(ActivationSpecFactory.java:95)
ActivationConfigMetaData is not merged correctly in the new metadata
--------------------------------------------------------------------
Key: JBAS-4958
URL:
http://jira.jboss.com/jira/browse/JBAS-4958
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: JMS service
Reporter: Adrian Brock
Fix For: JBossAS-5.0.0.Beta3
In JBossMessageDrivenMetaData it is merging the activation-config-propertys between
ejb-jar.xml
and jboss.xml by simply checking whether the jboss.xml has any and using that in
preference to the ejb-jar.xml
In fact, it always has them since it is initialized on field
/** The activation config */
private ActivationConfigMetaData activationConfig = new ActivationConfigMetaData();
JBossMessageDrivenBeanMetaData joverride = (JBossMessageDrivenBeanMetaData)
override;
MessageDrivenBeanMetaData soriginal = (MessageDrivenBeanMetaData) original;
...
// activationConfig
if(joverride != null && joverride.activationConfig != null)
activationConfig = joverride.activationConfig;
else if(soriginal != null && soriginal.getActivationConfig() != null)
activationConfig = soriginal.getActivationConfig();
The joverride.activationConfig is always not null when there is a jboss.xml!
Instead, what it needs to do is merge on per property basis.
i.e. take all the properties from ejb-jar.xml and jboss.xml favouring jboss.xml if there
is a duplicate property name.
Because of this, it is currently impossible to define an activation-config-property in
ejb-jar.xml unless there is no jboss.xml
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira