1 22 package org.jboss.ejb.plugins.inflow; 23 24 import javax.jms.Session ; 25 26 import org.jboss.deployment.DeploymentException; 27 import org.jboss.metadata.ActivationConfigPropertyMetaData; 28 import org.jboss.metadata.MessageDrivenMetaData; 29 import org.jboss.metadata.MetaData; 30 import org.w3c.dom.Element ; 31 32 38 public class JBossJMSMessageEndpointFactory 39 extends JBossMessageEndpointFactory 40 { 41 43 44 protected static String jmsra = "jms-ra.rar"; 45 46 48 50 52 54 56 protected String resolveResourceAdapterName() throws DeploymentException 57 { 58 String result = super.resolveResourceAdapterName(); 59 if (result == null) 60 result = jmsra; 61 return result; 62 } 63 64 69 protected void augmentActivationConfigProperties() throws DeploymentException 70 { 71 super.augmentActivationConfigProperties(); 72 73 if (metaData.isJMSMessagingType()) 75 { 76 checkActivationConfig("destination", metaData.getDestinationJndiName()); 77 checkActivationConfig("destinationType", metaData.getDestinationType()); 78 checkActivationConfig("messageSelector", metaData.getMessageSelector()); 79 if (Session.DUPS_OK_ACKNOWLEDGE == metaData.getAcknowledgeMode()) 80 checkActivationConfig("acknowledgeMode", "DUPS_OK_ACKNOWLEDGE"); 81 else 82 checkActivationConfig("acknowledgeMode", "AUTO_ACKNOWLEDGE"); 83 if (MessageDrivenMetaData.DURABLE_SUBSCRIPTION == metaData.getSubscriptionDurability()) 84 checkActivationConfig("subscriptionDurability", "Durable"); 85 else 86 checkActivationConfig("subscriptionDurability", "NonDurable"); 87 checkActivationConfig("clientID", metaData.getClientId()); 88 checkActivationConfig("subscriptionName", metaData.getSubscriptionId()); 89 90 if (jmsra.equals(resourceAdapterName)) 92 { 93 checkActivationConfig("user", metaData.getUser()); 94 checkActivationConfig("password", metaData.getPasswd()); 95 Element proxyConfig = invokerMetaData.getProxyFactoryConfig(); 96 checkActivationConfig("maxMessages", MetaData.getOptionalChildContent(proxyConfig, "MaxMessages")); 97 checkActivationConfig("minSession", MetaData.getOptionalChildContent(proxyConfig, "MinimumSize")); 98 checkActivationConfig("maxSession", MetaData.getOptionalChildContent(proxyConfig, "MaximumSize")); 99 checkActivationConfig("keepAlive", MetaData.getOptionalChildContent(proxyConfig, "KeepAliveMillis")); 100 Element mdbConfig = MetaData.getOptionalChild(proxyConfig, "MDBConfig"); 101 if (mdbConfig != null) 102 { 103 checkActivationConfig("reconnectInterval", MetaData.getOptionalChildContent(proxyConfig, "ReconnectIntervalSec")); 104 checkActivationConfig("deliveryActive", MetaData.getOptionalChildContent(proxyConfig, "DeliveryActive")); 105 checkActivationConfig("providerAdapterJNDI", MetaData.getOptionalChildContent(proxyConfig, "JMSProviderAdapterJNDI")); 106 } 108 } 109 } 110 } 111 112 118 void checkActivationConfig(String name, String value) 119 { 120 if (value != null && properties.containsKey(name) == false) 121 { 122 ActivationConfigPropertyMetaData md = new ActivationConfigPropertyMetaData(name, value); 123 properties.put(name, md); 124 } 125 } 126 127 129 131 } 133 | Popular Tags |