[jboss-cvs] JBossAS SVN: r99578 - in branches/Branch_Hornet_Temporary: component-matrix and 8 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jan 18 23:02:38 EST 2010


Author: clebert.suconic at jboss.com
Date: 2010-01-18 23:02:37 -0500 (Mon, 18 Jan 2010)
New Revision: 99578

Added:
   branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/destination/
   branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/destination/DestinationManager.java
   branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/
   branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/DestinationFactoryDeployerPlugin.java
   branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/hornetq/
   branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/hornetq/HornetQDestinationManager.java
Removed:
   branches/Branch_Hornet_Temporary/messaging/src/etc/
Modified:
   branches/Branch_Hornet_Temporary/build/build.xml
   branches/Branch_Hornet_Temporary/component-matrix/pom.xml
   branches/Branch_Hornet_Temporary/messaging/pom.xml
   branches/Branch_Hornet_Temporary/server/src/etc/deployers/ejb-deployer-jboss-beans.xml
   branches/Branch_Hornet_Temporary/server/src/main/java/org/jboss/ejb/deployers/CreateDestinationDeployer.java
   branches/Branch_Hornet_Temporary/server/src/main/java/org/jboss/ejb/deployers/CreateDestinationFactory.java
Log:
changes

Modified: branches/Branch_Hornet_Temporary/build/build.xml
===================================================================
--- branches/Branch_Hornet_Temporary/build/build.xml	2010-01-19 03:43:02 UTC (rev 99577)
+++ branches/Branch_Hornet_Temporary/build/build.xml	2010-01-19 04:02:37 UTC (rev 99578)
@@ -1082,8 +1082,8 @@
  	 <!--
          Default configuration
     -->
-   <mkdir dir="${install.default.deploy}/messaging"/>
-   <unzip src="${org.hornetq:hornetq-resources:jar}" dest="${install.default.deploy}/messaging">
+   <mkdir dir="${install.default.deploy}/hornetq.sar"/>
+   <unzip src="${org.hornetq:hornetq-resources:jar}" dest="${install.default.deploy}/hornetq.sar">
    	  <patternset>
    	    <include name="jboss-as/non-clustered/*"/>
    	  </patternset>
@@ -1093,8 +1093,8 @@
   	<!--
          All configuration
     -->
-   <mkdir dir="${install.all.deploy}/messaging"/>
-   <unzip src="${org.hornetq:hornetq-resources:jar}" dest="${install.all.deploy}/messaging">
+   <mkdir dir="${install.all.deploy}/hornetq.sar"/>
+   <unzip src="${org.hornetq:hornetq-resources:jar}" dest="${install.all.deploy}/hornetq.sar">
    	  <patternset>
    	    <include name="jboss-as/clustered/*"/>
    	  </patternset>

Modified: branches/Branch_Hornet_Temporary/component-matrix/pom.xml
===================================================================
--- branches/Branch_Hornet_Temporary/component-matrix/pom.xml	2010-01-19 03:43:02 UTC (rev 99577)
+++ branches/Branch_Hornet_Temporary/component-matrix/pom.xml	2010-01-19 04:02:37 UTC (rev 99578)
@@ -550,6 +550,11 @@
       </dependency>
       <dependency>
         <groupId>org.hornetq</groupId>
+        <artifactId>hornetq-jms</artifactId>
+        <version>${version.hornetq}</version> 
+      </dependency>
+      <dependency>
+        <groupId>org.hornetq</groupId>
         <artifactId>hornetq-logging</artifactId>
         <version>${version.hornetq}</version> 
       </dependency>

Modified: branches/Branch_Hornet_Temporary/messaging/pom.xml
===================================================================
--- branches/Branch_Hornet_Temporary/messaging/pom.xml	2010-01-19 03:43:02 UTC (rev 99577)
+++ branches/Branch_Hornet_Temporary/messaging/pom.xml	2010-01-19 04:02:37 UTC (rev 99578)
@@ -94,6 +94,10 @@
       <artifactId>hornetq-resources</artifactId>
     </dependency>
     <dependency>
+       <groupId>org.hornetq</groupId>
+      <artifactId>hornetq-jms</artifactId>
+    </dependency>
+    <dependency>
       <groupId>apache-xerces</groupId>
       <artifactId>xml-apis</artifactId>
     </dependency>

Added: branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/destination/DestinationManager.java
===================================================================
--- branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/destination/DestinationManager.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/destination/DestinationManager.java	2010-01-19 04:02:37 UTC (rev 99578)
@@ -0,0 +1,28 @@
+package org.jboss.jms.server.destination;
+
+public interface DestinationManager {
+
+	/**
+	 * Creates a JMS Queue with the specified name and JNDI binding.
+	 * 
+	 * @return {@code true} if the queue was created, {@code false} else
+	 */
+	boolean createQueue(String name, String jndiBinding) throws Exception;
+
+	/**
+	 * Destroys a JMS Queue with the specified name.
+	 * 
+	 * @return {@code true} if the queue was destroyed, {@code false} else
+	 */
+	boolean destroyQueue(String name) throws Exception;
+
+	/**
+	 * Creates a JMS Topic with the specified name and JNDI binding.
+	 * 
+	 * @return {@code true} if the topic was created, {@code false} else
+	 */
+	boolean createTopic(String name, String jndiBinding) throws Exception;
+
+	boolean destroyTopic(String name) throws Exception;
+
+}

Added: branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/DestinationFactoryDeployerPlugin.java
===================================================================
--- branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/DestinationFactoryDeployerPlugin.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/DestinationFactoryDeployerPlugin.java	2010-01-19 04:02:37 UTC (rev 99578)
@@ -0,0 +1,102 @@
+package org.jboss.jms.server.integration;
+
+import javax.jms.Queue;
+import javax.jms.Topic;
+
+import org.hornetq.jms.server.JMSServerManager;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb.deployers.CreateDestinationFactory;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
+import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
+import org.jboss.metadata.ejb.spec.ActivationConfigPropertiesMetaData;
+import org.jboss.metadata.ejb.spec.ActivationConfigPropertyMetaData;
+
+/**
+ * An integration point for the EJB deployers on creating destinations
+ * 
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="clebert.suconic at jboss.com">Clebert Suconic</a>
+ * @version $Revision: 82920 $
+ */
+public class DestinationFactoryDeployerPlugin implements CreateDestinationFactory {
+
+	private static final Logger log = Logger
+			.getLogger(DestinationFactoryDeployerPlugin.class);
+	
+	private JMSServerManager jmsManager;
+	
+	public JMSServerManager getJmsManager() {
+		return jmsManager;
+	}
+
+	public void setJmsManager(JMSServerManager jmsManager) {
+		this.jmsManager = jmsManager;
+	}
+
+	public boolean create(DeploymentUnit unit, JBossMessageDrivenBeanMetaData mdb)
+			throws DeploymentException {
+		String destinationName = null;
+		String destinationType = null;
+
+		ActivationConfigMetaData activationConfig = mdb.getActivationConfig();
+		if (activationConfig != null) {
+			ActivationConfigPropertiesMetaData properties = activationConfig
+					.getActivationConfigProperties();
+			if (properties != null) {
+				destinationName = getActivationConfigProperty(properties,
+						"destination");
+				destinationType = getActivationConfigProperty(properties,
+						"destinationType");
+			}
+		}
+
+		// TODO message-destination-link?
+
+		if (destinationName == null || destinationName.trim().length() == 0) {
+			log.warn("Unable to determine destination for " + mdb.getName());
+			return false;
+		}
+		boolean isTopic = false;
+		if (destinationType == null) {
+			log.warn("Unable to determine destination type for "
+					+ mdb.getName());
+			return false;
+		} else if (destinationType.equals(Queue.class.getName())) {
+			// Its a queue
+		} else if (destinationType.equals(Topic.class.getName())) {
+			isTopic = true;
+		} else {
+			log.warn("Unknown destination type '" + destinationType + "' for "
+					+ mdb.getName());
+			return false;
+		}
+
+		if (isTopic) {
+			System.out.println("Create topic " + destinationName);
+		} else {
+			System.out.println("Create queue " + destinationName);
+		}
+
+		return true;
+	}
+
+	/**
+	 * Get an activation config property
+	 * 
+	 * @param properties
+	 *            the properties
+	 * @param name
+	 *            the name
+	 * @return the property or null if not found
+	 */
+	protected static String getActivationConfigProperty(
+			ActivationConfigPropertiesMetaData properties, String name) {
+		ActivationConfigPropertyMetaData property = properties.get(name);
+		if (property == null)
+			return null;
+		return property.getValue();
+	}
+
+}

Added: branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/hornetq/HornetQDestinationManager.java
===================================================================
--- branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/hornetq/HornetQDestinationManager.java	                        (rev 0)
+++ branches/Branch_Hornet_Temporary/messaging/src/main/java/org/jboss/jms/server/integration/hornetq/HornetQDestinationManager.java	2010-01-19 04:02:37 UTC (rev 99578)
@@ -0,0 +1,36 @@
+package org.jboss.jms.server.integration.hornetq;
+
+import org.hornetq.jms.server.JMSServerManager;
+import org.jboss.aop.microcontainer.aspects.jmx.JMX;
+import org.jboss.jms.server.destination.DestinationManager;
+
+
+ at JMX(exposedInterface=DestinationManager.class, name="jboss.messaging:service=Messaging,name=DefaultJCAMetaDataRepository")
+public class HornetQDestinationManager implements DestinationManager
+{
+	
+	JMSServerManager jmsManager;
+
+	public boolean createQueue(String name, String jndiBinding)
+			throws Exception {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean createTopic(String name, String jndiBinding)
+			throws Exception {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean destroyQueue(String name) throws Exception {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean destroyTopic(String name) throws Exception {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+}

Modified: branches/Branch_Hornet_Temporary/server/src/etc/deployers/ejb-deployer-jboss-beans.xml
===================================================================
--- branches/Branch_Hornet_Temporary/server/src/etc/deployers/ejb-deployer-jboss-beans.xml	2010-01-19 03:43:02 UTC (rev 99577)
+++ branches/Branch_Hornet_Temporary/server/src/etc/deployers/ejb-deployer-jboss-beans.xml	2010-01-19 04:02:37 UTC (rev 99578)
@@ -99,7 +99,7 @@
    </bean>
 
    <!-- Destination creator for JBoss Messaging -->
-   <bean name="JBossMessageDestinationCreator" class="org.jboss.ejb.deployers.CreateDestination">
+   <bean name="HornetQDestinationCreator" class="org.jboss.ejb.deployers.CreateDestination">
       <!-- We match any jms mdb that is going to be deployed using our rar -->
       <property name="matcher">
          <bean class="org.jboss.ejb.deployers.SimpleCreateDestinationMatcher">
@@ -110,9 +110,8 @@
       </property>
       <!-- Create a destination with JBoss Messaging -->
       <property name="factory">
-         <bean class="org.jboss.jms.server.destination.JBossMessagingCreateDestinationFactory">
-            <property name="serverPeerName">jboss.messaging:service=ServerPeer</property>
-            <property name="postOfficeName">jboss.messaging:service=PostOffice</property>
+         <bean class="org.jboss.jms.server.integration.DestinationFactoryDeployerPlugin">
+            <property name="serverPeerName"><inject bean="JMSServerManager"/></property>
          </bean>
       </property>
    </bean>

Modified: branches/Branch_Hornet_Temporary/server/src/main/java/org/jboss/ejb/deployers/CreateDestinationDeployer.java
===================================================================
--- branches/Branch_Hornet_Temporary/server/src/main/java/org/jboss/ejb/deployers/CreateDestinationDeployer.java	2010-01-19 03:43:02 UTC (rev 99577)
+++ branches/Branch_Hornet_Temporary/server/src/main/java/org/jboss/ejb/deployers/CreateDestinationDeployer.java	2010-01-19 04:02:37 UTC (rev 99578)
@@ -79,6 +79,7 @@
     */
    public void removeCreateDestination(CreateDestination factory)
    {
+	  System.out.println("Adding createDestination " + factory.getClass().getCanonicalName());
       if (factory == null)
          throw new IllegalArgumentException("Null factory");
       factories.add(factory);

Modified: branches/Branch_Hornet_Temporary/server/src/main/java/org/jboss/ejb/deployers/CreateDestinationFactory.java
===================================================================
--- branches/Branch_Hornet_Temporary/server/src/main/java/org/jboss/ejb/deployers/CreateDestinationFactory.java	2010-01-19 03:43:02 UTC (rev 99577)
+++ branches/Branch_Hornet_Temporary/server/src/main/java/org/jboss/ejb/deployers/CreateDestinationFactory.java	2010-01-19 04:02:37 UTC (rev 99578)
@@ -41,5 +41,5 @@
     * @return the attachment
     * @throws DeploymentException for any error
     */
-    Object create(DeploymentUnit unit, JBossMessageDrivenBeanMetaData mdb) throws DeploymentException;
+    boolean create(DeploymentUnit unit, JBossMessageDrivenBeanMetaData mdb) throws DeploymentException;
 }




More information about the jboss-cvs-commits mailing list