<div dir="ltr">Hi to all,<br><br>I need to be able to do property replacement inside an MDB, for instance:<br><br>@MessageDriven(activationConfig = { <br>@ActivationConfigProperty(<br>propertyName = &quot;destinationLookup&quot;,<br>
propertyValue = &quot;java:global/jms/myAsyncQueue${short-postfix}&quot;<br>),<br>@ActivationConfigProperty(<br>propertyName=&quot;connectionFactoryLookup&quot;,<br>propertyValue=&quot;java:jboss/exported/jms/RemoteConnectionFactory&quot;<br>
)<br>})<br>public class TestMDB implements MessageListener {<br><div><br></div><div>I do this small patch:</div><div><br></div><div><br></div><div><div>diff --git a/ejb3/src/main/java/org/jboss/as/ejb3/deployment/processors/MessageDrivenComponentDescriptionFactory.java b/ejb3/src/main/java/org/jboss/as/ejb3/deployment/processors/MessageDrivenComponentDescriptionFactory.java</div>
<div>index 5d01865..7494d0f 100644</div><div>--- a/ejb3/src/main/java/org/jboss/as/ejb3/deployment/processors/MessageDrivenComponentDescriptionFactory.java</div><div>+++ b/ejb3/src/main/java/org/jboss/as/ejb3/deployment/processors/MessageDrivenComponentDescriptionFactory.java</div>
<div>@@ -52,6 +52,9 @@</div><div> import org.jboss.metadata.ejb.spec.ActivationConfigPropertyMetaData;</div><div> import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;</div><div> import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;</div>
<div>+import org.jboss.metadata.property.PropertyReplacer;</div><div>+import org.jboss.metadata.property.PropertyReplacers;</div><div>+import org.jboss.metadata.property.PropertyResolver;</div><div> import org.jboss.msc.service.ServiceController;</div>
<div> import org.jboss.msc.service.ServiceName;</div><div> import org.jboss.msc.service.ServiceRegistry;</div><div>@@ -108,7 +111,9 @@</div><div>             final MessageDrivenBeanMetaData beanMetaData = getEnterpriseBeanMetaData(deploymentUnit, beanName, MessageDrivenBeanMetaData.class);</div>
<div>             final String beanClassName;</div><div>             final String messageListenerInterfaceName;</div><div>-            final Properties activationConfigProperties = getActivationConfigProperties(messageBeanAnnotation);</div>
<div>+            final PropertyResolver propertyResolver = deploymentUnit.getAttachment(org.jboss.as.ee.metadata.property.Attachments.FINAL_PROPERTY_RESOLVER);</div><div>+            final PropertyReplacer propertyReplacer = PropertyReplacers.resolvingReplacer(propertyResolver);</div>
<div>+            final Properties activationConfigProperties = getActivationConfigProperties(messageBeanAnnotation, propertyReplacer);</div><div>             final String messagingType;</div><div>             if (beanMetaData != null) {</div>
<div>                 beanClassName = override(beanClassInfo.name().toString(), beanMetaData.getEjbClass());</div><div>@@ -244,13 +249,13 @@</div><div>         addComponent(deploymentUnit, mdbComponentDescription);</div><div>
     }</div><div> </div><div>-    private Properties getActivationConfigProperties(final AnnotationInstance messageBeanAnnotation) {</div><div>+    private Properties getActivationConfigProperties(final AnnotationInstance messageBeanAnnotation, PropertyReplacer propertyReplacer) {</div>
<div>         final Properties props = new Properties();</div><div>         final AnnotationValue activationConfig = messageBeanAnnotation.value(&quot;activationConfig&quot;);</div><div>         if (activationConfig == null)</div>
<div>             return props;</div><div>         for (final AnnotationInstance propAnnotation : activationConfig.asNestedArray()) {</div><div>-            props.put(propAnnotation.value(&quot;propertyName&quot;).asString(), propAnnotation.value(&quot;propertyValue&quot;).asString());</div>
<div>+            props.put(propAnnotation.value(&quot;propertyName&quot;).asString(), propertyReplacer.replaceProperties(propAnnotation.value(&quot;propertyValue&quot;).asString()));</div><div>         }</div><div>         return props;</div>
<div>     }</div></div><div><br></div><div>Do  you have any suggestions?</div><div><br></div><div>Luca</div></div>