Author: jim.ma
Date: 2010-04-21 01:24:04 -0400 (Wed, 21 Apr 2010)
New Revision: 12062
Modified:
framework/branches/jms-integration/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java
Log:
[JBWS-2791]:register jms endpoints
Modified:
framework/branches/jms-integration/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java
===================================================================
---
framework/branches/jms-integration/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java 2010-04-21
04:41:54 UTC (rev 12061)
+++
framework/branches/jms-integration/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java 2010-04-21
05:24:04 UTC (rev 12062)
@@ -22,12 +22,18 @@
package org.jboss.wsf.framework.deployment;
import org.jboss.wsf.common.integration.AbstractDeploymentAspect;
+import org.jboss.wsf.common.integration.WSHelper;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.management.EndpointRegistry;
import org.jboss.wsf.spi.management.EndpointRegistryFactory;
+import org.jboss.wsf.spi.metadata.endpoints.EndpointMetaData;
+import org.jboss.wsf.spi.metadata.endpoints.EndpointsMetaData;
+import org.jboss.wsf.spi.metadata.endpoints.jms.JMSAddressMetaData;
+import org.jboss.wsf.spi.metadata.endpoints.jms.JMSDestinationMetaData;
/**
* A deployer that registers the endpoints
@@ -43,10 +49,52 @@
SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
if (registry == null)
registry =
spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
+
+ if (WSHelper.hasEndpointsDeployment(dep))
+ {
+ DeploymentModelFactory deploymentModelFactory =
spiProvider.getSPI(DeploymentModelFactory.class);
+ EndpointsMetaData endpointsMD = WSHelper.getRequiredAttachment(dep,
EndpointsMetaData.class);
+ for(EndpointMetaData endpointMD : endpointsMD.getEndpointsMetaData())
+ {
+ Endpoint endpoint =
deploymentModelFactory.newEndpoint(endpointMD.getImplementor());
+ endpoint.setShortName(dep.getSimpleName());
+
+ if (endpointMD.getAddressMetaData() instanceof JMSAddressMetaData)
+ {
+ StringBuffer address = new StringBuffer("jms:");
+ JMSAddressMetaData jmsAddressMetaData =
(JMSAddressMetaData)endpointMD.getAddressMetaData();
+ JMSDestinationMetaData request =
jmsAddressMetaData.getRequestDestination();
+ if (request.getProperty("jndiDestinationName") != null)
+ {
+ address.append("jndi:" +
request.getProperty("jndiDestinationName"));
+ }
+ else if (request.getProperty("jmsDestinationName") != null)
+ {
+ address.append("jndi:" +
request.getProperty("jmsDestinationName"));
+ }
+
+ JMSDestinationMetaData reply = jmsAddressMetaData.getReplyDestination();
+ if (reply.getProperty("jndiDestinationName") != null)
+ {
+ address.append("?replyToName =" +
reply.getProperty("jndiReplyDestinationName"));
+ }
+ else if (reply.getProperty("jmsDestinationName") != null)
+ {
+ address.append("?replyToName =" +
reply.getProperty("jmsReplyDestinationName"));
+ }
+
+
+ endpoint.setAddress(address.toString());
+ registry.register(endpoint);
+ }
+ }
+ }
+
for (Endpoint ep : dep.getService().getEndpoints())
{
registry.register(ep);
}
+
}
public void stop(Deployment dep)
Show replies by date