JBoss hornetq SVN: r9392 - in branches/2_2_0_HA_Improvements/src: main/org/hornetq/core/server/cluster/impl and 1 other directory.
by do-not-reply@jboss.org
Author: timfox
Date: 2010-07-09 10:53:41 -0400 (Fri, 09 Jul 2010)
New Revision: 9392
Modified:
branches/2_2_0_HA_Improvements/src/config/common/schema/hornetq-configuration.xsd
branches/2_2_0_HA_Improvements/src/config/common/schema/hornetq-jms.xsd
branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
Log:
ha improvements
Modified: branches/2_2_0_HA_Improvements/src/config/common/schema/hornetq-configuration.xsd
===================================================================
--- branches/2_2_0_HA_Improvements/src/config/common/schema/hornetq-configuration.xsd 2010-07-09 14:39:16 UTC (rev 9391)
+++ branches/2_2_0_HA_Improvements/src/config/common/schema/hornetq-configuration.xsd 2010-07-09 14:53:41 UTC (rev 9392)
@@ -200,9 +200,6 @@
<xsd:element name="broadcast-period" type="xsd:long"/>
- <xsd:element name="connector-ref" type="connector-refType">
- </xsd:element>
-
<xsd:element name="broadcast-group">
<xsd:complexType>
<xsd:sequence>
@@ -295,6 +292,8 @@
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="forwarding-address" type="xsd:string">
</xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ha" type="xsd:boolean">
+ </xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="filter">
<xsd:complexType>
<xsd:attribute name="string" type="xsd:string" use="required"/>
@@ -318,9 +317,14 @@
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="password" type="xsd:string">
</xsd:element>
- <xsd:choice>
- <xsd:element maxOccurs="1" minOccurs="1" name="connector-ref" type="connector-refType">
- </xsd:element>
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="static-connectors">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="connector-ref" type="connectorRefType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="discovery-group-ref">
<xsd:complexType>
<xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
@@ -347,9 +351,13 @@
<xsd:element maxOccurs="1" minOccurs="0" name="confirmation-window-size" type="xsd:int">
</xsd:element>
<xsd:choice>
- <xsd:element maxOccurs="1" minOccurs="1" name="static-connectors" type="connector-refType">
-
- </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" name="static-connectors">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="connector-ref" type="connectorRefType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
<xsd:element maxOccurs="1" minOccurs="1" name="discovery-group-ref">
<xsd:complexType>
<xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
Modified: branches/2_2_0_HA_Improvements/src/config/common/schema/hornetq-jms.xsd
===================================================================
--- branches/2_2_0_HA_Improvements/src/config/common/schema/hornetq-jms.xsd 2010-07-09 14:39:16 UTC (rev 9391)
+++ branches/2_2_0_HA_Improvements/src/config/common/schema/hornetq-jms.xsd 2010-07-09 14:53:41 UTC (rev 9392)
@@ -29,7 +29,7 @@
<xsd:element name="discovery-group-ref" type="discovery-group-refType" maxOccurs="1" minOccurs="0"></xsd:element>
<xsd:element name="discovery-initial-wait-timeout" type="xsd:long" maxOccurs="1" minOccurs="0"></xsd:element>
- <xsd:element name="connectors" maxOccurs="1" minOccurs="0">
+ <xsd:element name="static-connectors" maxOccurs="1" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="connector-ref" type="connector-refType"
Modified: branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
===================================================================
--- branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java 2010-07-09 14:39:16 UTC (rev 9391)
+++ branches/2_2_0_HA_Improvements/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java 2010-07-09 14:53:41 UTC (rev 9392)
@@ -256,6 +256,8 @@
{
server.getClusterManager().nodeDown(nodeID);
+ //Remove the flow record for that node
+
MessageFlowRecord record = records.remove(nodeID);
if (record != null)
13 years, 11 months
JBoss hornetq SVN: r9391 - trunk/src/config/stand-alone/non-clustered.
by do-not-reply@jboss.org
Author: jmesnil
Date: 2010-07-09 10:39:16 -0400 (Fri, 09 Jul 2010)
New Revision: 9391
Modified:
trunk/src/config/stand-alone/non-clustered/hornetq-beans.xml
Log:
https://jira.jboss.org/browse/HORNETQ-437: /non-clustered/hornetq-beans.xml should pick up port properties from run.sh script
* add configurable properties for JNDI server
Modified: trunk/src/config/stand-alone/non-clustered/hornetq-beans.xml
===================================================================
--- trunk/src/config/stand-alone/non-clustered/hornetq-beans.xml 2010-07-09 14:04:42 UTC (rev 9390)
+++ trunk/src/config/stand-alone/non-clustered/hornetq-beans.xml 2010-07-09 14:39:16 UTC (rev 9391)
@@ -9,10 +9,10 @@
<property name="namingInfo">
<inject bean="Naming"/>
</property>
- <property name="port">1099</property>
- <property name="bindAddress">localhost</property>
- <property name="rmiPort">1098</property>
- <property name="rmiBindAddress">localhost</property>
+ <property name="port">${jnp.port:1099}</property>
+ <property name="bindAddress">${jnp.host:localhost}</property>
+ <property name="rmiPort">${jnp.rmiPort:1098}</property>
+ <property name="rmiBindAddress">${jnp.host:localhost}</property>
</bean>
<!-- MBean server -->
13 years, 11 months
JBoss hornetq SVN: r9390 - trunk.
by do-not-reply@jboss.org
Author: jmesnil
Date: 2010-07-09 10:04:42 -0400 (Fri, 09 Jul 2010)
New Revision: 9390
Modified:
trunk/.classpath
Log:
in eclipse's .classpath, reorder twitter-connector example
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2010-07-09 14:02:01 UTC (rev 9389)
+++ trunk/.classpath 2010-07-09 14:04:42 UTC (rev 9390)
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**/.svn/**/*" kind="src" path="src/main"/>
- <classpathentry kind="src" path="examples/core/twitter-connector/src"/>
<classpathentry kind="src" path="src/config/common"/>
<classpathentry kind="src" path="build/src"/>
<classpathentry kind="src" path="tests/jms-tests/config"/>
@@ -18,6 +17,7 @@
<classpathentry kind="src" path="examples/core/microcontainer/src"/>
<classpathentry kind="src" path="examples/core/embedded-remote/src"/>
<classpathentry kind="src" path="examples/core/perf/src"/>
+ <classpathentry kind="src" path="examples/core/twitter-connector/src"/>
<classpathentry kind="src" path="examples/jms/applet/src"/>
<classpathentry kind="src" path="examples/jms/application-layer-failover/src"/>
<classpathentry kind="src" path="examples/jms/bridge/src"/>
13 years, 11 months
JBoss hornetq SVN: r9389 - trunk/tests/jms-tests/src/org/hornetq/jms/tests.
by do-not-reply@jboss.org
Author: ataylor
Date: 2010-07-09 10:02:01 -0400 (Fri, 09 Jul 2010)
New Revision: 9389
Modified:
trunk/tests/jms-tests/src/org/hornetq/jms/tests/TransactedSessionTest.java
Log:
added test for http://community.jboss.org/message/551534#551534
Modified: trunk/tests/jms-tests/src/org/hornetq/jms/tests/TransactedSessionTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/hornetq/jms/tests/TransactedSessionTest.java 2010-07-09 13:59:30 UTC (rev 9388)
+++ trunk/tests/jms-tests/src/org/hornetq/jms/tests/TransactedSessionTest.java 2010-07-09 14:02:01 UTC (rev 9389)
@@ -13,19 +13,19 @@
package org.hornetq.jms.tests;
-import javax.jms.Connection;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Session;
-import javax.jms.TextMessage;
+import javax.jms.*;
import org.hornetq.jms.tests.util.ProxyAssertSupport;
+import java.text.MessageFormat;
+import java.util.Date;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
/**
* @author <a href="mailto:tim.fox@jboss.com">Tim Fox</a>
- *
- * $Id$
+ * <p/>
+ * $Id$
*/
public class TransactedSessionTest extends JMSTestCase
{
@@ -58,7 +58,7 @@
Message m = c.receive(1000);
ProxyAssertSupport.assertNotNull(m);
- ProxyAssertSupport.assertEquals("one", ((TextMessage)m).getText());
+ ProxyAssertSupport.assertEquals("one", ((TextMessage) m).getText());
ProxyAssertSupport.assertFalse(m.getJMSRedelivered());
ProxyAssertSupport.assertEquals(1, m.getIntProperty("JMSXDeliveryCount"));
@@ -106,7 +106,7 @@
conn.start();
- TextMessage mRec1 = (TextMessage)consumer1.receive(2000);
+ TextMessage mRec1 = (TextMessage) consumer1.receive(2000);
ProxyAssertSupport.assertNotNull(mRec1);
ProxyAssertSupport.assertEquals("igloo", mRec1.getText());
@@ -114,7 +114,7 @@
sess1.rollback(); // causes redelivery for session
- mRec1 = (TextMessage)consumer1.receive(2000);
+ mRec1 = (TextMessage) consumer1.receive(2000);
ProxyAssertSupport.assertEquals("igloo", mRec1.getText());
ProxyAssertSupport.assertTrue(mRec1.getJMSRedelivered());
@@ -129,7 +129,9 @@
}
}
- /** Test redelivery works ok for Topic */
+ /**
+ * Test redelivery works ok for Topic
+ */
public void testRedeliveredTopic() throws Exception
{
Connection conn = null;
@@ -149,14 +151,14 @@
sess.commit();
- TextMessage mRec = (TextMessage)consumer.receive(2000);
+ TextMessage mRec = (TextMessage) consumer.receive(2000);
ProxyAssertSupport.assertEquals("igloo", mRec.getText());
ProxyAssertSupport.assertFalse(mRec.getJMSRedelivered());
sess.rollback();
- mRec = (TextMessage)consumer.receive(2000);
+ mRec = (TextMessage) consumer.receive(2000);
ProxyAssertSupport.assertNotNull(mRec);
ProxyAssertSupport.assertEquals("igloo", mRec.getText());
@@ -194,7 +196,7 @@
sess.commit();
- TextMessage mRec = (TextMessage)consumer.receive(2000);
+ TextMessage mRec = (TextMessage) consumer.receive(2000);
ProxyAssertSupport.assertEquals("igloo", mRec.getText());
sess.commit();
@@ -206,11 +208,11 @@
sess.commit();
- mRec = (TextMessage)consumer.receive(2000);
+ mRec = (TextMessage) consumer.receive(2000);
ProxyAssertSupport.assertEquals("rollback", mRec.getText());
sess.rollback();
- TextMessage mRec2 = (TextMessage)consumer.receive(2000);
+ TextMessage mRec2 = (TextMessage) consumer.receive(2000);
sess.commit();
@@ -394,6 +396,7 @@
* Rollback the session.
* Verify messages aren't received by consumer.
*/
+
public void testSendRollbackTopic() throws Exception
{
Connection conn = null;
@@ -455,12 +458,12 @@
sess.commit();
- TextMessage mRec = (TextMessage)consumer.receive(2000);
+ TextMessage mRec = (TextMessage) consumer.receive(2000);
ProxyAssertSupport.assertEquals("igloo", mRec.getText());
ProxyAssertSupport.assertFalse(mRec.getJMSRedelivered());
sess.rollback();
- mRec = (TextMessage)consumer.receive(2000);
+ mRec = (TextMessage) consumer.receive(2000);
ProxyAssertSupport.assertEquals("igloo", mRec.getText());
ProxyAssertSupport.assertTrue(mRec.getJMSRedelivered());
@@ -503,7 +506,7 @@
conn.start();
- TextMessage tm = (TextMessage)cons.receive(1000);
+ TextMessage tm = (TextMessage) cons.receive(1000);
ProxyAssertSupport.assertNotNull(tm);
ProxyAssertSupport.assertEquals("a message", tm.getText());
@@ -519,7 +522,7 @@
cons = sess2.createConsumer(HornetQServerTestCase.queue1);
- tm = (TextMessage)cons.receive(1000);
+ tm = (TextMessage) cons.receive(1000);
ProxyAssertSupport.assertEquals("a message", tm.getText());
@@ -552,7 +555,7 @@
sess.commit();
- TextMessage mRec = (TextMessage)consumer.receive(1000);
+ TextMessage mRec = (TextMessage) consumer.receive(1000);
ProxyAssertSupport.assertNotNull(mRec);
log.trace("Got 1");
ProxyAssertSupport.assertNotNull(mRec);
@@ -566,7 +569,7 @@
sess.commit();
log.trace("Receiving 2");
- mRec = (TextMessage)consumer.receive(1000);
+ mRec = (TextMessage) consumer.receive(1000);
ProxyAssertSupport.assertNotNull(mRec);
log.trace("Received 2");
@@ -575,7 +578,7 @@
sess.rollback();
- TextMessage mRec2 = (TextMessage)consumer.receive(1000);
+ TextMessage mRec2 = (TextMessage) consumer.receive(1000);
ProxyAssertSupport.assertNotNull(mRec2);
ProxyAssertSupport.assertEquals("rollback", mRec2.getText());
@@ -679,6 +682,126 @@
}
+ public void _testSendCommitQueueCommitsInOrder() throws Exception
+ {
+ Connection conn = null;
+
+ try
+ {
+ conn = JMSTestCase.cf.createConnection();
+
+ Session producerSess = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE);
+ MessageProducer producer = producerSess.createProducer(HornetQServerTestCase.queue1);
+ producer.setDeliveryMode(DeliveryMode.PERSISTENT);
+
+ Session consumerSession = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageConsumer consumer = consumerSession.createConsumer(HornetQServerTestCase.queue1);
+ CountDownLatch latch = new CountDownLatch(1);
+ conn.start();
+ myReceiver myReceiver = new myReceiver(latch, conn);
+ consumer.setMessageListener(myReceiver);
+ long lastBatchTime = System.currentTimeMillis();
+ int sentId = 0;
+ boolean started = false;
+ // Send some messages
+ while (true)
+ {
+ try
+ {
+ Message m = producerSess.createMessage();
+ m.setIntProperty("foo", sentId);
+ sentId++;
+ producer.send(m);
+
+ if (sentId == 1 || System.currentTimeMillis() - lastBatchTime > 50)
+ {
+ lastBatchTime = System.currentTimeMillis();
+ producerSess.commit();
+ }
+ }
+ catch (JMSException e)
+ {
+ //ignore connection closed by consumer
+ }
+
+ // wait for the first message to be received before we continue sending
+ if(!started)
+ {
+ assertTrue(latch.await(5, TimeUnit.SECONDS));
+ started = true;
+ }
+ else
+ {
+ if(myReceiver.failed)
+ {
+ fail(myReceiver.e.getMessage());
+ }
+ }
+ }
+
+
+ }
+ finally
+ {
+ if (conn != null)
+ {
+ conn.close();
+ }
+ removeAllMessages(HornetQServerTestCase.queue1.getQueueName(), true);
+ }
+
+ }
+
+ class myReceiver implements MessageListener
+ {
+ int count = 0;
+ boolean started = false;
+ private CountDownLatch startLatch;
+ boolean failed = false;
+ Exception e = null;
+
+ private Connection conn;
+
+ public myReceiver(CountDownLatch startLatch, Connection conn)
+ {
+ this.startLatch = startLatch;
+ this.conn = conn;
+ }
+
+ public void onMessage(Message message)
+ {
+ if(!started)
+ {
+ startLatch.countDown();
+ started = true;
+ }
+ try
+ {
+ int foo = message.getIntProperty("foo");
+ if(foo != count)
+ {
+ e = new Exception("received out of order expected " + count + " received " + foo);
+ failed = true;
+ conn.close();
+ }
+ count++;
+ }
+ catch (JMSException e)
+ {
+
+ this.e = e;
+ failed = true;
+ try
+ {
+ conn.close();
+ }
+ catch (JMSException e1)
+ {
+ e1.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ }
+ }
+ }
/**
* Test IllegateStateException is thrown if commit is called on a non-transacted session
*/
@@ -719,7 +842,6 @@
* Do not commit the receiving session.
* Close the connection
* Create a new connection, session and consumer - verify messages are redelivered
- *
*/
public void testAckNoCommitQueue() throws Exception
{
@@ -870,6 +992,7 @@
* Rollback the session.
* Verify messages aren't received by consumer.
*/
+
public void testSendRollbackQueue() throws Exception
{
Connection conn = null;
@@ -1033,6 +1156,7 @@
/*
* Send multiple messages in multiple contiguous sessions
*/
+
public void testSendMultipleQueue() throws Exception
{
Connection conn = null;
13 years, 11 months
JBoss hornetq SVN: r9388 - trunk/src/main/org/hornetq/utils.
by do-not-reply@jboss.org
Author: jmesnil
Date: 2010-07-09 09:59:30 -0400 (Fri, 09 Jul 2010)
New Revision: 9388
Modified:
trunk/src/main/org/hornetq/utils/PriorityLinkedListImpl.java
Log:
remove unused public constructor
Modified: trunk/src/main/org/hornetq/utils/PriorityLinkedListImpl.java
===================================================================
--- trunk/src/main/org/hornetq/utils/PriorityLinkedListImpl.java 2010-07-09 13:42:29 UTC (rev 9387)
+++ trunk/src/main/org/hornetq/utils/PriorityLinkedListImpl.java 2010-07-09 13:59:30 UTC (rev 9388)
@@ -40,12 +40,6 @@
private final AtomicInteger size = new AtomicInteger(0);
- public PriorityLinkedListImpl(final HQDeque<T>[] levels)
- {
- this.levels = levels;
- this.priorities = levels.length;
- }
-
public PriorityLinkedListImpl(final int priorities)
{
this.priorities = priorities;
13 years, 11 months
JBoss hornetq SVN: r9387 - in trunk: docs/user-manual/en and 6 other directories.
by do-not-reply@jboss.org
Author: jmesnil
Date: 2010-07-09 09:42:29 -0400 (Fri, 09 Jul 2010)
New Revision: 9387
Added:
trunk/src/main/org/hornetq/utils/HQIterator.java
trunk/src/main/org/hornetq/utils/concurrent/ConcurrentHQDeque.java
trunk/src/main/org/hornetq/utils/concurrent/ConcurrentPriorityLinkedListImpl.java
Removed:
trunk/src/main/org/hornetq/utils/ConcurrentHQDeque.java
trunk/src/main/org/hornetq/utils/concurrent/HQIterator.java
Modified:
trunk/build-hornetq.xml
trunk/docs/user-manual/en/client-classpath.xml
trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java
trunk/src/main/org/hornetq/core/server/impl/QueueImpl.java
trunk/src/main/org/hornetq/utils/HQDeque.java
trunk/src/main/org/hornetq/utils/NonConcurrentHQDeque.java
trunk/src/main/org/hornetq/utils/PriorityLinkedList.java
trunk/src/main/org/hornetq/utils/PriorityLinkedListImpl.java
trunk/src/main/org/hornetq/utils/concurrent/HornetQConcurrentLinkedQueue.java
trunk/tests/src/org/hornetq/tests/unit/core/list/impl/ConcurrentPriorityLinkedListTest.java
trunk/tests/src/org/hornetq/tests/unit/core/list/impl/NonConcurrentPriorityLinkedListTest.java
trunk/tests/src/org/hornetq/tests/unit/core/list/impl/PriorityLinkedListTestBase.java
trunk/tests/src/org/hornetq/tests/unit/util/concurrent/HornetQConcurrentLinkedQueueTest.java
Log:
https://jira.jboss.org/browse/HORNETQ-428: Add JDK 1.5 support on client libraries
* add jars hornetq-core-client-java5.jar & hornetq-jms-client-java5.jar (compiled to target java 1.5) in build-hornetq.xml
* refactor PriorityLinkedListImpl & extracted ConcurrentPriorityLinkedListImpl (used on the server side)
* clean up classes in utils & utils.concurrent packages
* update documentation
Modified: trunk/build-hornetq.xml
===================================================================
--- trunk/build-hornetq.xml 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/build-hornetq.xml 2010-07-09 13:42:29 UTC (rev 9387)
@@ -60,6 +60,8 @@
<property name="jms.sources.jar.name" value="hornetq-jms-sources.jar"/>
<property name="jms.client.jar.name" value="hornetq-jms-client.jar"/>
<property name="jms.client.sources.jar.name" value="hornetq-jms-client-sources.jar"/>
+ <property name="jms.client.java5.jar.name" value="hornetq-jms-client-java5.jar"/>
+ <property name="jms.client.java5.sources.jar.name" value="hornetq-jms-client-java5-sources.jar"/>
<property name="jnp.client.jar.name" value="jnp-client.jar"/>
<property name="jboss.integration.jar.name" value="hornetq-jboss-as-integration.jar"/>
<property name="jboss.integration.sources.jar.name" value="hornetq-jboss-as-integration-sources.jar"/>
@@ -71,6 +73,8 @@
<property name="logging.sources.jar.name" value="hornetq-logging-sources.jar"/>
<property name="core.client.jar.name" value="hornetq-core-client.jar"/>
<property name="core.client.sources.jar.name" value="hornetq-core-client-sources.jar"/>
+ <property name="core.client.java5.jar.name" value="hornetq-core-client-java5.jar"/>
+ <property name="core.client.java5.sources.jar.name" value="hornetq-core-client-java5-sources.jar"/>
<property name="ra.jar.name" value="hornetq-ra.jar"/>
<property name="ra.sources.jar.name" value="hornetq-ra-sources.jar"/>
<property name="ra.rar.name" value="hornetq-ra.rar"/>
@@ -86,7 +90,9 @@
<property name="build.dir" value="build"/>
<property name="build.classes.dir" value="${build.dir}/classes"/>
<property name="build.core.classes.dir" value="${build.dir}/classes/core"/>
+ <property name="build.core.client.java5.classes.dir" value="${build.dir}/classes/core-client-java5"/>
<property name="build.jms.classes.dir" value="${build.dir}/classes/jms"/>
+ <property name="build.jms.java5.classes.dir" value="${build.dir}/classes/jms-java5"/>
<property name="build.jboss.integration.classes.dir" value="${build.dir}/classes/jboss-integration"/>
<property name="build.twitter.integration.classes.dir" value="${build.dir}/classes/twitter-integration"/>
<property name="build.service.classes.dir" value="${build.dir}/classes/service"/>
@@ -372,7 +378,9 @@
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes.dir}"/>
<mkdir dir="${build.core.classes.dir}"/>
+ <mkdir dir="${build.core.client.java5.classes.dir}"/>
<mkdir dir="${build.jms.classes.dir}"/>
+ <mkdir dir="${build.jms.java5.classes.dir}"/>
<mkdir dir="${build.jboss.integration.classes.dir}"/>
<mkdir dir="${build.twitter.integration.classes.dir}"/>
<mkdir dir="${build.service.classes.dir}"/>
@@ -403,7 +411,7 @@
<!-- Compilation targets -->
<!-- ================================= -->
- <target name="compile" depends="compile-jms"/>
+ <target name="compile" depends="compile-jms, compile-core-client-java5"/>
<target name="compile-core" depends="init">
<mkdir dir="${build.src.dir}/org/hornetq/core/filter/impl"/>
@@ -449,6 +457,49 @@
</target>
+ <target name="compile-core-client-java5" depends="init">
+ <mkdir dir="${build.src.dir}/org/hornetq/core/filter/impl"/>
+ <javacc target="${src.main.dir}/org/hornetq/core/filter/impl/FilterParser.jj"
+ outputdirectory="${build.src.dir}/org/hornetq/core/filter/impl"
+ javacchome="${sun.javacc.lib}"
+ static="false"/>
+ <javac destdir="${build.core.client.java5.classes.dir}"
+ target="1.5"
+ source="1.5"
+ optimize="${javac.optimize}"
+ debug="${javac.debug}"
+ depend="${javac.depend}"
+ verbose="${javac.verbose}"
+ deprecation="${javac.deprecation}"
+ includeAntRuntime="${javac.include.ant.runtime}"
+ includeJavaRuntime="${javac.include.java.runtime}"
+ failonerror="${javac.fail.onerror}">
+ <src>
+ <pathelement path="${build.src.dir}"/>
+ <pathelement path="${src.main.dir}"/>
+ </src>
+ <exclude name="**/hornetq/**/server/**/*.java" />
+
+ <include name="**/hornetq/*.java"/>
+ <include name="**/hornetq/api/*.java"/>
+ <include name="**/hornetq/api/core/**/*.java"/>
+ <include name="**/hornetq/core/**/*.java"/>
+ <include name="**/hornetq/spi/**/*.java"/>
+ <include name="**/hornetq/utils/**/*.java"/>
+ <classpath refid="core.compilation.classpath"/>
+ </javac>
+ <java classname="org.jboss.netty.util.Version" classpathref="org.jboss.netty.classpath"
+ outputproperty="netty.version" fork="true"/>
+ <echo>setting netty version ${netty.version}</echo>
+ <copy file="${src.config.dir}/common/hornetq-version.properties"
+ tofile="${build.core.client.java5.classes.dir}/hornetq-version.properties" overwrite="true">
+ <filterset>
+ <filter token="NETTY.VERSION" value="${netty.version}"/>
+ </filterset>
+ </copy>
+
+ </target>
+
<target name="compile-jms" depends="compile-core">
<javac destdir="${build.jms.classes.dir}"
target="${javac.target}"
@@ -469,6 +520,26 @@
</javac>
</target>
+ <target name="compile-jms-java5" depends="compile-core-client-java5">
+ <javac destdir="${build.jms.java5.classes.dir}"
+ target="1.5"
+ source="1.5"
+ optimize="${javac.optimize}"
+ debug="${javac.debug}"
+ depend="${javac.depend}"
+ verbose="${javac.verbose}"
+ deprecation="${javac.deprecation}"
+ includeAntRuntime="${javac.include.ant.runtime}"
+ includeJavaRuntime="${javac.include.java.runtime}"
+ failonerror="${javac.fail.onerror}">
+ <src>
+ <pathelement path="${src.main.dir}"/>
+ </src>
+ <include name="**/jms/**/*.java"/>
+ <classpath refid="jms.compilation.classpath"/>
+ </javac>
+ </target>
+
<target name="compile-jboss-integration" depends="compile-core">
<javac destdir="${build.jboss.integration.classes.dir}"
target="${javac.target}"
@@ -649,11 +720,11 @@
<!-- ======================================================================================== -->
<target name="sources-jar" description="create jar files containing source code"
- depends="jar-core-sources, jar-core-client-sources, jar-jms-sources, jar-jms-client-sources, jar-jboss-integration-sources, jar-jboss-service-sources, jar-bootstrap-sources, jar-logging-sources, jar-ra-sources, jar-resources-sources, jar-twitter-integration-sources">
+ depends="jar-core-sources, jar-core-client-sources, jar-core-client-java5-sources, jar-jms-sources, jar-jms-client-sources, jar-jms-client-java5-sources, jar-jboss-integration-sources, jar-jboss-service-sources, jar-bootstrap-sources, jar-logging-sources, jar-ra-sources, jar-resources-sources, jar-twitter-integration-sources">
</target>
<target name="jar"
- depends="jar-core, jar-core-client, jar-jms, jar-jms-client, jar-jboss-integration, jar-jboss-service, jar-bootstrap, jar-logging, jar-ra, jar-mc, jar-jnp-client, jar-resources, sources-jar, jar-twitter-integration">
+ depends="jar-core, jar-core-client, jar-core-client-java5, jar-jms, jar-jms-client, jar-jms-client-java5, jar-jboss-integration, jar-jboss-service, jar-bootstrap, jar-logging, jar-ra, jar-mc, jar-jnp-client, jar-resources, sources-jar, jar-twitter-integration">
</target>
<target name="jar-jnp-client" depends="init">
@@ -761,8 +832,28 @@
</jar>
</target>
- <target name="jar-jboss-integration" depends="compile-jboss-integration">
+ <target name="jar-jms-client-java5" depends="compile-jms-java5">
+ <jar jarfile="${build.jars.dir}/${jms.client.java5.jar.name}">
+ <fileset dir="${build.jms.java5.classes.dir}" includes="org/hornetq/api/jms/**/*.class"/>
+ <fileset dir="${build.jms.java5.classes.dir}" includes="org/hornetq/jms/client/*.class"/>
+ <fileset dir="${build.jms.java5.classes.dir}" includes="org/hornetq/jms/referenceable/*.class"/>
+ </jar>
+
+ </target>
+
+ <target name="jar-jms-client-java5-sources">
+ <jar jarfile="${build.jars.dir}/${jms.client.java5.sources.jar.name}">
+ <fileset dir="${src.main.dir}">
+ <include name="org/hornetq/api/jms/**/*.*"/>
+ <include name="org/hornetq/jms/client/**/*.*"/>
+ <include name="org/hornetq/jms/referenceable/**/*.*"/>
+ </fileset>
+ </jar>
+ </target>
+
+ <target name="jar-jboss-integration" depends="compile-jboss-integration">
+
<jar jarfile="${build.jars.dir}/${jboss.integration.jar.name}">
<fileset dir="${build.jboss.integration.classes.dir}" includes="**"/>
</jar>
@@ -907,6 +998,71 @@
</jar>
</target>
+ <target name="jar-core-client-java5" depends="compile-core-client-java5">
+ <jar jarfile="${build.jars.dir}/${core.client.java5.jar.name}">
+ <fileset dir="${build.core.client.java5.classes.dir}">
+ <include name="hornetq-version.properties"/>
+ <include name="org/hornetq/api/**/*.class"/>
+ <include name="org/hornetq/*.class"/>
+ <include name="org/hornetq/core/buffers/**/*.class"/>
+ <include name="org/hornetq/core/client/**/*.class"/>
+ <include name="org/hornetq/core/filter/**/*.class"/>
+ <include name="org/hornetq/core/exception/**/*.class"/>
+ <include name="org/hornetq/core/remoting/impl/**/*.class"/>
+ <include name="org/hornetq/utils/**/*.class"/>
+ <include name="org/hornetq/core/cluster/**/*.class"/>
+ <include name="org/hornetq/core/list/**/*.class"/>
+ <include name="org/hornetq/core/logging/**/*.class"/>
+ <include name="org/hornetq/core/message/**/*.class"/>
+ <include name="org/hornetq/core/protocol/core/**/*.class"/>
+ <include name="org/hornetq/core/remoting/**/*.class"/>
+ <include name="org/hornetq/core/version/**/*.class"/>
+ <include name="org/hornetq/core/management/*.class"/>
+ <include name="org/hornetq/core/transaction/impl/XidImpl.class"/>
+ <include name="org/hornetq/spi/core/logging/*.class"/>
+ <include name="org/hornetq/spi/core/protocol/*.class"/>
+ <include name="org/hornetq/spi/core/remoting/*.class"/>
+
+ <!-- required by SessionSendMessage -->
+ <include name="org/hornetq/core/server/ServerMessage.class"/>
+ <include name="org/hornetq/core/journal/EncodingSupport.class"/>
+ </fileset>
+ </jar>
+
+ </target>
+
+ <target name="jar-core-client-java5-sources">
+ <jar jarfile="${build.jars.dir}/${core.client.java5.sources.jar.name}">
+ <fileset dir="${src.main.dir}">
+ <include name="hornetq-version.properties"/>
+ <include name="org/hornetq/api/**/*.*"/>
+ <include name="org/hornetq/*.*"/>
+ <include name="org/hornetq/core/buffers/**/*.*"/>
+ <include name="org/hornetq/core/client/**/*.*"/>
+ <include name="org/hornetq/core/filter/**/*.*"/>
+ <include name="org/hornetq/core/exception/**/*.*"/>
+ <include name="org/hornetq/core/remoting/impl/**/*.*"/>
+ <include name="org/hornetq/utils/**/*.*"/>
+ <include name="org/hornetq/core/cluster/**/*.*"/>
+ <include name="org/hornetq/core/list/**/*.*"/>
+ <include name="org/hornetq/core/logging/**/*.*"/>
+ <include name="org/hornetq/core/message/**/*.*"/>
+ <include name="org/hornetq/core/protocol/core/**/*.*"/>
+ <include name="org/hornetq/core/remoting/**/*.*"/>
+ <include name="org/hornetq/core/version/**/*.*"/>
+ <include name="org/hornetq/core/management/*.*"/>
+ <include name="org/hornetq/core/transaction/impl/XidImpl.java"/>
+ <include name="org/hornetq/spi/core/logging/*.*"/>
+ <include name="org/hornetq/spi/core/protocol/*.*"/>
+ <include name="org/hornetq/spi/core/remoting/*.*"/>
+
+ <!-- required by SessionSendMessage -->
+ <include name="org/hornetq/core/server/ServerMessage.java"/>
+ <include name="org/hornetq/core/journal/EncodingSupport.java"/>
+ </fileset>
+ </jar>
+ </target>
+
<target name="jar-ra" depends="jar-core-client, jar-jms-client, compile-ra">
<jar jarfile="${build.jars.dir}/${ra.jar.name}">
<fileset dir="${build.ra.classes.dir}">
@@ -988,7 +1144,9 @@
<include name="${mc.jar.name}"/>
<include name="${ra.rar.name}"/>
<include name="${core.client.jar.name}"/>
+ <include name="${core.client.java5.jar.name}"/>
<include name="${jms.client.jar.name}"/>
+ <include name="${jms.client.java5.jar.name}"/>
<include name="${jnp.client.jar.name}"/>
<include name="${twitter.integration.jar.name}"/>
</fileset>
Modified: trunk/docs/user-manual/en/client-classpath.xml
===================================================================
--- trunk/docs/user-manual/en/client-classpath.xml 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/docs/user-manual/en/client-classpath.xml 2010-07-09 13:42:29 UTC (rev 9387)
@@ -32,16 +32,20 @@
<para>If you are using just a pure HornetQ Core client (i.e. no JMS) then you need <literal
>hornetq-core-client.jar</literal> and
<literal>netty.jar</literal> on your client classpath.</para>
+ <para>If the client runs inside a <emphasis>Java 5 virtual machine</emphasis>, use instead <literal>hornetq-core-client-java5.jar</literal>.</para>
</section>
<section>
<title>JMS Client</title>
<para>If you are using JMS on the client side, then you will also need to include <literal
>hornetq-jms-client.jar</literal> and <literal>jboss-jms-api.jar</literal>.</para>
+ <para>If the client runs inside a <emphasis>Java 5 virtual machine</emphasis>, include instead <literal>hornetq-jms-client-java5.jar</literal>.</para>
+
<note>
<para><literal>jboss-jms-api.jar</literal> just contains Java EE API interface classes
needed for the <literal>javax.jms.*</literal> classes. If you already have a jar
with these interface classes on your classpath, you will not need it.</para>
</note>
+
</section>
<section>
<title>JMS Client with JNDI</title>
Modified: trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -30,10 +30,10 @@
import org.hornetq.core.protocol.core.impl.wireformat.SessionReceiveContinuationMessage;
import org.hornetq.core.protocol.core.impl.wireformat.SessionReceiveLargeMessage;
import org.hornetq.utils.Future;
+import org.hornetq.utils.HQIterator;
import org.hornetq.utils.PriorityLinkedList;
import org.hornetq.utils.PriorityLinkedListImpl;
import org.hornetq.utils.TokenBucketLimiter;
-import org.hornetq.utils.concurrent.HQIterator;
/**
* @author <a href="mailto:tim.fox@jboss.com">Tim Fox</a>
@@ -79,8 +79,7 @@
private final int ackBatchSize;
- private final PriorityLinkedList<ClientMessageInternal> buffer = new PriorityLinkedListImpl<ClientMessageInternal>(false,
- ClientConsumerImpl.NUM_PRIORITIES);
+ private final PriorityLinkedList<ClientMessageInternal> buffer = new PriorityLinkedListImpl<ClientMessageInternal>(ClientConsumerImpl.NUM_PRIORITIES);
private final Runner runner = new Runner();
Modified: trunk/src/main/org/hornetq/core/server/impl/QueueImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/server/impl/QueueImpl.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/core/server/impl/QueueImpl.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -50,9 +50,9 @@
import org.hornetq.core.transaction.TransactionPropertyIndexes;
import org.hornetq.core.transaction.impl.TransactionImpl;
import org.hornetq.utils.ConcurrentHashSet;
+import org.hornetq.utils.HQIterator;
import org.hornetq.utils.PriorityLinkedList;
-import org.hornetq.utils.PriorityLinkedListImpl;
-import org.hornetq.utils.concurrent.HQIterator;
+import org.hornetq.utils.concurrent.ConcurrentPriorityLinkedListImpl;
/**
* Implementation of a Queue
@@ -82,8 +82,7 @@
private final PostOffice postOffice;
- private final PriorityLinkedList<MessageReference> messageReferences = new PriorityLinkedListImpl<MessageReference>(true,
- QueueImpl.NUM_PRIORITIES);
+ private final PriorityLinkedList<MessageReference> messageReferences = new ConcurrentPriorityLinkedListImpl<MessageReference>(QueueImpl.NUM_PRIORITIES);
private final List<ConsumerHolder> consumerList = new ArrayList<ConsumerHolder>();
Deleted: trunk/src/main/org/hornetq/utils/ConcurrentHQDeque.java
===================================================================
--- trunk/src/main/org/hornetq/utils/ConcurrentHQDeque.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/utils/ConcurrentHQDeque.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -1,140 +0,0 @@
-/*
- * Copyright 2010 Red Hat, Inc.
- * Red Hat licenses this file to you under the Apache License, version
- * 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package org.hornetq.utils;
-
-import java.util.Iterator;
-
-import org.hornetq.core.logging.Logger;
-import org.hornetq.utils.concurrent.BlockingDeque;
-import org.hornetq.utils.concurrent.HQIterator;
-import org.hornetq.utils.concurrent.HornetQConcurrentLinkedQueue;
-import org.hornetq.utils.concurrent.LinkedBlockingDeque;
-
-/**
- * A ConcurrentHQDeque
- *
- * @author Tim Fox
- *
- *
- */
-public class ConcurrentHQDeque<T> implements HQDeque<T>
-{
- private static final Logger log = Logger.getLogger(ConcurrentHQDeque.class);
-
- private final HornetQConcurrentLinkedQueue<T> bodyQueue;
-
- private final BlockingDeque<T> headQueue;
-
- public ConcurrentHQDeque()
- {
- this.bodyQueue = new HornetQConcurrentLinkedQueue<T>();
-
- this.headQueue = new LinkedBlockingDeque<T>();
- }
-
- public synchronized void addFirst(T t)
- {
- headQueue.addFirst(t);
- }
-
- public void addLast(T t)
- {
- bodyQueue.add(t);
- }
-
- public void clear()
- {
- bodyQueue.clear();
- headQueue.clear();
- }
-
- public synchronized T getFirst()
- {
- if (headQueue.isEmpty())
- {
- return bodyQueue.peek();
- }
- else
- {
- return headQueue.peek();
- }
- }
-
- public boolean isEmpty()
- {
- return bodyQueue.isEmpty() && headQueue.isEmpty();
- }
-
- public HQIterator<T> iterator()
- {
- return new Iter();
- }
-
- public T removeFirst()
- {
- if (headQueue.isEmpty())
- {
- return bodyQueue.remove();
- }
- else
- {
- return headQueue.remove();
- }
- }
-
- private class Iter implements HQIterator<T>
- {
- private Iterator<T> headIter;
-
- private HQIterator<T> bodyIter;
-
- private boolean inHead;
-
- private Iter()
- {
- headIter = headQueue.iterator();
-
- bodyIter = bodyQueue.hqIterator();
- }
-
- public T next()
- {
- if (headIter.hasNext())
- {
- inHead = true;
-
- return headIter.next();
- }
- else
- {
- inHead = false;
-
- return bodyIter.next();
- }
- }
-
- public void remove()
- {
- if (inHead)
- {
- headIter.remove();
- }
- else
- {
- bodyIter.remove();
- }
- }
-
- }
-}
Modified: trunk/src/main/org/hornetq/utils/HQDeque.java
===================================================================
--- trunk/src/main/org/hornetq/utils/HQDeque.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/utils/HQDeque.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -13,7 +13,6 @@
package org.hornetq.utils;
-import org.hornetq.utils.concurrent.HQIterator;
/**
* A HQDeque
Copied: trunk/src/main/org/hornetq/utils/HQIterator.java (from rev 9378, trunk/src/main/org/hornetq/utils/concurrent/HQIterator.java)
===================================================================
--- trunk/src/main/org/hornetq/utils/HQIterator.java (rev 0)
+++ trunk/src/main/org/hornetq/utils/HQIterator.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.utils;
+
+/**
+ * A HQIterator
+ *
+ * @author Tim Fox
+ *
+ *
+ */
+public interface HQIterator<E>
+{
+ E next();
+
+ void remove();
+}
Modified: trunk/src/main/org/hornetq/utils/NonConcurrentHQDeque.java
===================================================================
--- trunk/src/main/org/hornetq/utils/NonConcurrentHQDeque.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/utils/NonConcurrentHQDeque.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -17,7 +17,6 @@
import java.util.LinkedList;
import org.hornetq.core.logging.Logger;
-import org.hornetq.utils.concurrent.HQIterator;
/**
* A NonConcurrentHQDeque
@@ -28,7 +27,7 @@
*/
public class NonConcurrentHQDeque<T> implements HQDeque<T>
{
- private static final Logger log = Logger.getLogger(ConcurrentHQDeque.class);
+ private static final Logger log = Logger.getLogger(NonConcurrentHQDeque.class);
private final LinkedList<T> queue;
Modified: trunk/src/main/org/hornetq/utils/PriorityLinkedList.java
===================================================================
--- trunk/src/main/org/hornetq/utils/PriorityLinkedList.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/utils/PriorityLinkedList.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -13,7 +13,6 @@
package org.hornetq.utils;
-import org.hornetq.utils.concurrent.HQIterator;
/**
* A type of linked list which maintains items according to a priority
Modified: trunk/src/main/org/hornetq/utils/PriorityLinkedListImpl.java
===================================================================
--- trunk/src/main/org/hornetq/utils/PriorityLinkedListImpl.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/utils/PriorityLinkedListImpl.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -18,7 +18,6 @@
import java.util.concurrent.atomic.AtomicInteger;
import org.hornetq.core.logging.Logger;
-import org.hornetq.utils.concurrent.HQIterator;
/**
* A priority linked list implementation
@@ -35,28 +34,27 @@
{
private static final Logger log = Logger.getLogger(PriorityLinkedListImpl.class);
- private HQDeque<T>[] levels;
+ protected HQDeque<T>[] levels;
- private final int priorities;
+ protected final int priorities;
private final AtomicInteger size = new AtomicInteger(0);
- public PriorityLinkedListImpl(final boolean concurrent, final int priorities)
+ public PriorityLinkedListImpl(final HQDeque<T>[] levels)
{
+ this.levels = levels;
+ this.priorities = levels.length;
+ }
+
+ public PriorityLinkedListImpl(final int priorities)
+ {
this.priorities = priorities;
levels = (HQDeque<T>[])Array.newInstance(HQDeque.class, priorities);
for (int i = 0; i < priorities; i++)
{
- if (concurrent)
- {
- levels[i] = new ConcurrentHQDeque<T>();
- }
- else
- {
- levels[i] = new NonConcurrentHQDeque<T>();
- }
+ levels[i] = new NonConcurrentHQDeque<T>();
}
}
Copied: trunk/src/main/org/hornetq/utils/concurrent/ConcurrentHQDeque.java (from rev 9378, trunk/src/main/org/hornetq/utils/ConcurrentHQDeque.java)
===================================================================
--- trunk/src/main/org/hornetq/utils/concurrent/ConcurrentHQDeque.java (rev 0)
+++ trunk/src/main/org/hornetq/utils/concurrent/ConcurrentHQDeque.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.utils.concurrent;
+
+import java.util.Iterator;
+
+import org.hornetq.core.logging.Logger;
+import org.hornetq.utils.HQDeque;
+import org.hornetq.utils.HQIterator;
+
+/**
+ * A ConcurrentHQDeque
+ *
+ * @author Tim Fox
+ *
+ *
+ */
+public class ConcurrentHQDeque<T> implements HQDeque<T>
+{
+ private static final Logger log = Logger.getLogger(ConcurrentHQDeque.class);
+
+ private final HornetQConcurrentLinkedQueue<T> bodyQueue;
+
+ private final BlockingDeque<T> headQueue;
+
+ public ConcurrentHQDeque()
+ {
+ this.bodyQueue = new HornetQConcurrentLinkedQueue<T>();
+
+ this.headQueue = new LinkedBlockingDeque<T>();
+ }
+
+ public synchronized void addFirst(T t)
+ {
+ headQueue.addFirst(t);
+ }
+
+ public void addLast(T t)
+ {
+ bodyQueue.add(t);
+ }
+
+ public void clear()
+ {
+ bodyQueue.clear();
+ headQueue.clear();
+ }
+
+ public synchronized T getFirst()
+ {
+ if (headQueue.isEmpty())
+ {
+ return bodyQueue.peek();
+ }
+ else
+ {
+ return headQueue.peek();
+ }
+ }
+
+ public boolean isEmpty()
+ {
+ return bodyQueue.isEmpty() && headQueue.isEmpty();
+ }
+
+ public HQIterator<T> iterator()
+ {
+ return new Iter();
+ }
+
+ public T removeFirst()
+ {
+ if (headQueue.isEmpty())
+ {
+ return bodyQueue.remove();
+ }
+ else
+ {
+ return headQueue.remove();
+ }
+ }
+
+ private class Iter implements HQIterator<T>
+ {
+ private Iterator<T> headIter;
+
+ private HQIterator<T> bodyIter;
+
+ private boolean inHead;
+
+ private Iter()
+ {
+ headIter = headQueue.iterator();
+
+ bodyIter = bodyQueue.hqIterator();
+ }
+
+ public T next()
+ {
+ if (headIter.hasNext())
+ {
+ inHead = true;
+
+ return headIter.next();
+ }
+ else
+ {
+ inHead = false;
+
+ return bodyIter.next();
+ }
+ }
+
+ public void remove()
+ {
+ if (inHead)
+ {
+ headIter.remove();
+ }
+ else
+ {
+ bodyIter.remove();
+ }
+ }
+
+ }
+}
Added: trunk/src/main/org/hornetq/utils/concurrent/ConcurrentPriorityLinkedListImpl.java
===================================================================
--- trunk/src/main/org/hornetq/utils/concurrent/ConcurrentPriorityLinkedListImpl.java (rev 0)
+++ trunk/src/main/org/hornetq/utils/concurrent/ConcurrentPriorityLinkedListImpl.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2009 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.utils.concurrent;
+
+import java.lang.reflect.Array;
+
+import org.hornetq.utils.HQDeque;
+import org.hornetq.utils.PriorityLinkedListImpl;
+
+/**
+ * A concurrent priority linked list implementation.
+ *
+ * Requires Java 6.
+ *
+ * @author <a href="mailto:jmesnil@redhat.com>Jeff Mesnil</a>
+ * @version <tt>$Revision: 1174 $</tt>
+ *
+ * $Id: BasicPrioritizedDeque.java 1174 2006-08-02 14:14:32Z timfox $
+ */
+public class ConcurrentPriorityLinkedListImpl<T> extends PriorityLinkedListImpl<T>
+{
+ public ConcurrentPriorityLinkedListImpl(final int priorities)
+ {
+ super(priorities);
+
+ levels = (HQDeque<T>[])Array.newInstance(HQDeque.class, priorities);
+
+ for (int i = 0; i < priorities; i++)
+ {
+ levels[i] = new ConcurrentHQDeque<T>();
+ }
+ }
+}
Deleted: trunk/src/main/org/hornetq/utils/concurrent/HQIterator.java
===================================================================
--- trunk/src/main/org/hornetq/utils/concurrent/HQIterator.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/utils/concurrent/HQIterator.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -1,28 +0,0 @@
-/*
- * Copyright 2010 Red Hat, Inc.
- * Red Hat licenses this file to you under the Apache License, version
- * 2.0 (the "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package org.hornetq.utils.concurrent;
-
-/**
- * A HQIterator
- *
- * @author Tim Fox
- *
- *
- */
-public interface HQIterator<E>
-{
- E next();
-
- void remove();
-}
Modified: trunk/src/main/org/hornetq/utils/concurrent/HornetQConcurrentLinkedQueue.java
===================================================================
--- trunk/src/main/org/hornetq/utils/concurrent/HornetQConcurrentLinkedQueue.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/src/main/org/hornetq/utils/concurrent/HornetQConcurrentLinkedQueue.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -9,6 +9,7 @@
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
import org.hornetq.core.logging.Logger;
+import org.hornetq.utils.HQIterator;
/**
* An unbounded thread-safe {@linkplain Queue queue} based on linked nodes.
Modified: trunk/tests/src/org/hornetq/tests/unit/core/list/impl/ConcurrentPriorityLinkedListTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/unit/core/list/impl/ConcurrentPriorityLinkedListTest.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/tests/src/org/hornetq/tests/unit/core/list/impl/ConcurrentPriorityLinkedListTest.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -14,6 +14,7 @@
package org.hornetq.tests.unit.core.list.impl;
import org.hornetq.utils.PriorityLinkedListImpl;
+import org.hornetq.utils.concurrent.ConcurrentPriorityLinkedListImpl;
/**
* A ConcurrentPriorityLinkedListTest
@@ -28,7 +29,7 @@
@Override
protected PriorityLinkedListImpl<Wibble> getList()
{
- return new PriorityLinkedListImpl<Wibble>(true, 10);
+ return new ConcurrentPriorityLinkedListImpl<Wibble>(10);
}
}
Modified: trunk/tests/src/org/hornetq/tests/unit/core/list/impl/NonConcurrentPriorityLinkedListTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/unit/core/list/impl/NonConcurrentPriorityLinkedListTest.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/tests/src/org/hornetq/tests/unit/core/list/impl/NonConcurrentPriorityLinkedListTest.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -28,7 +28,7 @@
@Override
protected PriorityLinkedListImpl<Wibble> getList()
{
- return new PriorityLinkedListImpl<Wibble>(false, 10);
+ return new PriorityLinkedListImpl<Wibble>(10);
}
}
Modified: trunk/tests/src/org/hornetq/tests/unit/core/list/impl/PriorityLinkedListTestBase.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/unit/core/list/impl/PriorityLinkedListTestBase.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/tests/src/org/hornetq/tests/unit/core/list/impl/PriorityLinkedListTestBase.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -16,8 +16,8 @@
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.hornetq.utils.HQIterator;
import org.hornetq.utils.PriorityLinkedListImpl;
-import org.hornetq.utils.concurrent.HQIterator;
/**
* @author <a href="tim.fox(a)jboss.com>Tim Fox</a>
Modified: trunk/tests/src/org/hornetq/tests/unit/util/concurrent/HornetQConcurrentLinkedQueueTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/unit/util/concurrent/HornetQConcurrentLinkedQueueTest.java 2010-07-09 03:10:45 UTC (rev 9386)
+++ trunk/tests/src/org/hornetq/tests/unit/util/concurrent/HornetQConcurrentLinkedQueueTest.java 2010-07-09 13:42:29 UTC (rev 9387)
@@ -19,7 +19,7 @@
import junit.framework.TestCase;
import org.hornetq.core.logging.Logger;
-import org.hornetq.utils.concurrent.HQIterator;
+import org.hornetq.utils.HQIterator;
import org.hornetq.utils.concurrent.HornetQConcurrentLinkedQueue;
/**
13 years, 11 months
JBoss hornetq SVN: r9386 - in branches/maven-move: hornetq-bootstrap and 77 other directories.
by do-not-reply@jboss.org
Author: bill.burke(a)jboss.com
Date: 2010-07-08 23:10:45 -0400 (Thu, 08 Jul 2010)
New Revision: 9386
Added:
branches/maven-move/hornetq-bootstrap/
branches/maven-move/hornetq-bootstrap/pom.xml
branches/maven-move/hornetq-bootstrap/src/
branches/maven-move/hornetq-bootstrap/src/main/
branches/maven-move/hornetq-bootstrap/src/main/java/
branches/maven-move/hornetq-bootstrap/src/main/java/org/
branches/maven-move/hornetq-bootstrap/src/main/java/org/hornetq/
branches/maven-move/hornetq-bootstrap/src/main/java/org/hornetq/integration/
branches/maven-move/hornetq-bootstrap/src/main/java/org/hornetq/integration/bootstrap/
branches/maven-move/hornetq-core-client/
branches/maven-move/hornetq-core-client/pom.xml
branches/maven-move/hornetq-core/
branches/maven-move/hornetq-core/pom.xml
branches/maven-move/hornetq-core/src/
branches/maven-move/hornetq-core/src/main/
branches/maven-move/hornetq-core/src/main/java/
branches/maven-move/hornetq-core/src/main/java/org/
branches/maven-move/hornetq-core/src/main/java/org/hornetq/
branches/maven-move/hornetq-core/src/main/java/org/hornetq/api/
branches/maven-move/hornetq-core/src/main/java/org/hornetq/api/core/
branches/maven-move/hornetq-core/src/main/java/org/hornetq/core/
branches/maven-move/hornetq-core/src/main/java/org/hornetq/spi/
branches/maven-move/hornetq-core/src/main/java/org/hornetq/utils/
branches/maven-move/hornetq-core/src/main/javacc/
branches/maven-move/hornetq-core/src/main/javacc/FilterParser.jj
branches/maven-move/hornetq-core/src/main/resources/
branches/maven-move/hornetq-core/src/main/resources/hornetq-version.properties
branches/maven-move/hornetq-core/src/main/resources/schema/
branches/maven-move/hornetq-core/src/main/resources/schema/hornetq-configuration.xsd
branches/maven-move/hornetq-core/src/main/resources/schema/hornetq-users.xsd
branches/maven-move/hornetq-core/src/test/
branches/maven-move/hornetq-jboss-as-integration/
branches/maven-move/hornetq-jboss-as-integration/hornetq-jboss-as-integration.iml
branches/maven-move/hornetq-jboss-as-integration/pom.xml
branches/maven-move/hornetq-jboss-as-integration/src/
branches/maven-move/hornetq-jboss-as-integration/src/main/
branches/maven-move/hornetq-jboss-as-integration/src/main/java/
branches/maven-move/hornetq-jboss-as-integration/src/main/java/org/
branches/maven-move/hornetq-jboss-as-integration/src/main/java/org/hornetq/
branches/maven-move/hornetq-jboss-as-integration/src/main/java/org/hornetq/integration/
branches/maven-move/hornetq-jboss-as-integration/src/main/java/org/hornetq/integration/jboss/
branches/maven-move/hornetq-jms-client/
branches/maven-move/hornetq-jms-client/pom.xml
branches/maven-move/hornetq-jms/
branches/maven-move/hornetq-jms/pom.xml
branches/maven-move/hornetq-jms/src/
branches/maven-move/hornetq-jms/src/main/
branches/maven-move/hornetq-jms/src/main/java/
branches/maven-move/hornetq-jms/src/main/java/org/
branches/maven-move/hornetq-jms/src/main/java/org/hornetq/
branches/maven-move/hornetq-jms/src/main/java/org/hornetq/api/
branches/maven-move/hornetq-jms/src/main/java/org/hornetq/api/jms/
branches/maven-move/hornetq-jms/src/main/java/org/hornetq/jms/
branches/maven-move/hornetq-jms/src/main/resources/
branches/maven-move/hornetq-jms/src/main/resources/schema/
branches/maven-move/hornetq-jms/src/main/resources/schema/hornetq-jms.xsd
branches/maven-move/hornetq-jms/src/test/
branches/maven-move/hornetq-logging/
branches/maven-move/hornetq-logging/pom.xml
branches/maven-move/hornetq-logging/src/
branches/maven-move/hornetq-logging/src/main/
branches/maven-move/hornetq-logging/src/main/java/
branches/maven-move/hornetq-logging/src/main/java/org/
branches/maven-move/hornetq-logging/src/main/java/org/hornetq/
branches/maven-move/hornetq-logging/src/main/java/org/hornetq/integration/
branches/maven-move/hornetq-logging/src/main/java/org/hornetq/integration/logging/
branches/maven-move/hornetq-rar/
branches/maven-move/hornetq-rar/hornetq-ra-jar/
branches/maven-move/hornetq-rar/hornetq-ra-jar/pom.xml
branches/maven-move/hornetq-rar/hornetq-ra-jar/src/
branches/maven-move/hornetq-rar/hornetq-ra-jar/src/main/
branches/maven-move/hornetq-rar/hornetq-ra-jar/src/main/java/
branches/maven-move/hornetq-rar/hornetq-ra-jar/src/main/java/org/
branches/maven-move/hornetq-rar/hornetq-ra-jar/src/main/java/org/hornetq/
branches/maven-move/hornetq-rar/hornetq-ra-jar/src/main/java/org/hornetq/ra/
branches/maven-move/hornetq-rar/hornetq-ra-rar/
branches/maven-move/hornetq-rar/hornetq-ra-rar/pom.xml
branches/maven-move/hornetq-rar/hornetq-ra-rar/src/
branches/maven-move/hornetq-rar/hornetq-ra-rar/src/main/
branches/maven-move/hornetq-rar/hornetq-ra-rar/src/main/resources/
branches/maven-move/hornetq-rar/hornetq-ra-rar/src/main/resources/ra.xml
branches/maven-move/hornetq-rar/pom.xml
branches/maven-move/hornetq-service-sar/
branches/maven-move/hornetq-service-sar/pom.xml
branches/maven-move/hornetq-service-sar/src/
branches/maven-move/hornetq-service-sar/src/main/
branches/maven-move/hornetq-service-sar/src/main/java/
branches/maven-move/hornetq-service-sar/src/main/java/org/
branches/maven-move/hornetq-service-sar/src/main/java/org/hornetq/
branches/maven-move/hornetq-service-sar/src/main/java/org/hornetq/service/
branches/maven-move/hornetq-twitter-integration/
branches/maven-move/hornetq-twitter-integration/pom.xml
branches/maven-move/hornetq-twitter-integration/src/
branches/maven-move/hornetq-twitter-integration/src/main/
branches/maven-move/hornetq-twitter-integration/src/main/java/
branches/maven-move/hornetq-twitter-integration/src/main/java/org/
branches/maven-move/hornetq-twitter-integration/src/main/java/org/hornetq/
branches/maven-move/hornetq-twitter-integration/src/main/java/org/hornetq/integration/
branches/maven-move/hornetq-twitter-integration/src/main/java/org/hornetq/integration/twitter/
branches/maven-move/tests/test-util-jar/
branches/maven-move/tests/test-util-jar/pom.xml
branches/maven-move/tests/test-util-jar/src/
branches/maven-move/tests/test-util-jar/src/main/
branches/maven-move/tests/test-util-jar/src/main/java/
Removed:
branches/maven-move/hornetq-core/src/main/java/org/hornetq/core/filter/impl/FilterParser.jj
branches/maven-move/src/config/common/hornetq-version.properties
branches/maven-move/src/config/common/schema/hornetq-configuration.xsd
branches/maven-move/src/config/common/schema/hornetq-jms.xsd
branches/maven-move/src/config/common/schema/hornetq-users.xsd
branches/maven-move/src/config/ra.xml
branches/maven-move/src/main/org/hornetq/api/core/
branches/maven-move/src/main/org/hornetq/api/jms/
branches/maven-move/src/main/org/hornetq/core/
branches/maven-move/src/main/org/hornetq/integration/bootstrap/
branches/maven-move/src/main/org/hornetq/integration/jboss/
branches/maven-move/src/main/org/hornetq/integration/logging/
branches/maven-move/src/main/org/hornetq/integration/twitter/
branches/maven-move/src/main/org/hornetq/jms/
branches/maven-move/src/main/org/hornetq/ra/
branches/maven-move/src/main/org/hornetq/service/
branches/maven-move/src/main/org/hornetq/spi/
branches/maven-move/src/main/org/hornetq/utils/
Modified:
branches/maven-move/hornetq-core/src/main/java/org/hornetq/api/core/management/ObjectNameBuilder.java
branches/maven-move/pom.xml
Log:
Added: branches/maven-move/hornetq-bootstrap/pom.xml
===================================================================
--- branches/maven-move/hornetq-bootstrap/pom.xml (rev 0)
+++ branches/maven-move/hornetq-bootstrap/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,44 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-bootstrap</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ Bootstrap</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-bootstrap/src/main/java/org/hornetq/integration/bootstrap (from rev 9385, branches/maven-move/src/main/org/hornetq/integration/bootstrap)
Added: branches/maven-move/hornetq-core/pom.xml
===================================================================
--- branches/maven-move/hornetq-core/pom.xml (rev 0)
+++ branches/maven-move/hornetq-core/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,69 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ Core</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.netty</groupId>
+ <artifactId>netty</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <HornetQ-Version>${HornetQ-Version}</HornetQ-Version>
+ <HornetQ-SVN-URL>${HornetQ-SVN-URL}</HornetQ-SVN-URL>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>javacc-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>javacc</id>
+ <goals>
+ <goal>javacc</goal>
+ </goals>
+ <configuration>
+ <isStatic>false</isStatic>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-core/src/main/java/org/hornetq/api/core (from rev 9385, branches/maven-move/src/main/org/hornetq/api/core)
Modified: branches/maven-move/hornetq-core/src/main/java/org/hornetq/api/core/management/ObjectNameBuilder.java
===================================================================
--- branches/maven-move/src/main/org/hornetq/api/core/management/ObjectNameBuilder.java 2010-07-08 15:05:36 UTC (rev 9385)
+++ branches/maven-move/hornetq-core/src/main/java/org/hornetq/api/core/management/ObjectNameBuilder.java 2010-07-09 03:10:45 UTC (rev 9386)
@@ -16,10 +16,6 @@
import javax.management.ObjectName;
import org.hornetq.api.core.SimpleString;
-import org.hornetq.api.jms.management.ConnectionFactoryControl;
-import org.hornetq.api.jms.management.JMSQueueControl;
-import org.hornetq.api.jms.management.JMSServerControl;
-import org.hornetq.api.jms.management.TopicControl;
import org.hornetq.core.config.impl.ConfigurationImpl;
/**
Copied: branches/maven-move/hornetq-core/src/main/java/org/hornetq/core (from rev 9385, branches/maven-move/src/main/org/hornetq/core)
Deleted: branches/maven-move/hornetq-core/src/main/java/org/hornetq/core/filter/impl/FilterParser.jj
===================================================================
--- branches/maven-move/src/main/org/hornetq/core/filter/impl/FilterParser.jj 2010-07-08 15:05:36 UTC (rev 9385)
+++ branches/maven-move/hornetq-core/src/main/java/org/hornetq/core/filter/impl/FilterParser.jj 2010-07-09 03:10:45 UTC (rev 9386)
@@ -1,646 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-options {
- LOOKAHEAD=1;
- UNICODE_INPUT=true;
-/*
- DEBUG_PARSER=true;
- DEBUG_LOOKAHEAD=true;
- DEBUG_TOKEN_MANAGER=true;
-*/
-}
-
-PARSER_BEGIN(FilterParser)
-
-package org.hornetq.core.filter.impl;
-
-import java.io.StringReader;
-
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.hornetq.api.core.SimpleString;
-import org.hornetq.core.filter.impl.SimpleStringReader;
-
-/**
- * A JavaCC 2.0 grammar for HornetQ filters
- *
- * @author Scott.Stark(a)jboss.org
- * @author adrian(a)jboss.org
- * @version $Revision: 2681 $
- */
-public class FilterParser
-{
- private static final String LOFFER_L = "l";
- private static final String UPPER_L = "L";
- private static final String OX = "0X";
- private static final String Ox = "0x";
- private static final String ZERRO = "0";
-
- private Map identifierMap;
-
- public FilterParser()
- {
- // keep the parser from freaking out, init using one of
- // the JavaCC generated constructor
- this(new StringReader(""));
- }
-
- public Object parse(SimpleString selector, Map identifierMap)
- throws ParseException
- {
- return parse(selector, identifierMap, false);
- }
-
- public Object parse(SimpleString selector, Map identifierMap, boolean trace)
- throws ParseException
- {
- SimpleStringReader sr = new SimpleStringReader(selector);
- ReInit(sr);
-
- // This will have no effect unless the debugging options are true
- if (trace)
- {
- this.enable_tracing();
- }
- else
- {
- this.disable_tracing();
- }
-
- this.identifierMap = identifierMap;
- return this.expression();
- }
-
- /**
- * Strip off the leading and trailing (quote) chars from the given string
- * and return it.
- */
- private SimpleString stripQuotes(String image)
- {
- StringBuffer result = new StringBuffer(image.length()-2);
- int i = 1;
- boolean escaped = false;
- while (i < image.length() - 1)
- {
- if (escaped)
- {
- if (image.charAt(i) == '\'')
- result.append('\'');
- else
- throw new RuntimeException("Invalid uses of quotes: " + image);
- escaped = false;
- }
- else if (image.charAt(i) == '\'')
- escaped = true;
- else
- result.append(image.charAt(i));
- ++i;
- }
- return new SimpleString(result.toString());
- }
-
- public static Object doParse(SimpleString selector, Map identifierMap)
- throws ParseException
- {
- return doParse(selector, identifierMap, false);
- }
-
- public static Object doParse(SimpleString selector, Map identifierMap, boolean trace)
- throws ParseException
- {
- FilterParser parser = new FilterParser();
- return parser.parse(selector, identifierMap, trace);
- }
-}
-
-PARSER_END(FilterParser)
-
-/* IGNORE WHITESPACE */
-
-SKIP :
-{
- " "
- | "\r"
- | "\t"
- | "\f"
- | "\n"
-}
-
-
-/* RESERVED WORDS AND LITERALS */
-
-TOKEN [IGNORE_CASE]:
-{
- < TRUE: "TRUE" >
- | < FALSE: "FALSE" >
- | < NULL: "NULL" >
- | < AND: "AND" >
- | < NOT: "NOT" >
- | < OR: "OR" >
- | < BETWEEN: "BETWEEN" >
- | < LIKE: "LIKE" >
- | < IN: "IN" >
- | < IS: "IS" >
- | < ESCAPE: "ESCAPE" >
- | < LPAREN: "(" >
- | < RPAREN: ")" >
- | < SEMICOLON: ";" >
- | < COMMA: "," >
-
-}
-
-/* OPERATORS */
-
-TOKEN :
-{
- < MULT: "*" >
- | < DIV: "/" >
- | < MINUS: "-" >
- | < PLUS: "+" >
- | < GT: ">" >
- | < GE: ">=" >
- | < LT: "<" >
- | < LE: "<=" >
- | < NE: "<>" >
- | < EQ: "=" >
-
-}
-
-/* Literals */
-
-<DEFAULT> TOKEN : /* Numeric Literal */
-{
- < INTEGER_LITERAL:
- "-9223372036854775808"
- | "-9223372036854775808l"
- | "-9223372036854775808L"
- | <DECIMAL_LITERAL> (["l","L"])?
- | <HEX_LITERAL> (["l","L"])?
- | <OCTAL_LITERAL> (["l","L"])?
- >
-|
- < #DECIMAL_LITERAL: ["1"-"9"] (["0"-"9"])* >
-|
- < #HEX_LITERAL: "0" ["x","X"] (["0"-"9","a"-"f","A"-"F"])+ >
-|
- < #OCTAL_LITERAL: "0" (["0"-"7"])* >
-|
- < FLOATING_POINT_LITERAL:
- (["+","-"])? (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)? (["f","F","d","D"])?
- | "." (["0"-"9"])+ (<EXPONENT>)? (["f","F","d","D"])?
- | (["0"-"9"])+ <EXPONENT> (["f","F","d","D"])?
- | (["0"-"9"])+ (<EXPONENT>)? ["f","F","d","D"]
- >
-|
- < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
-}
-
-
-TOKEN :
-{
- < SIMPLE_STRING:
- "'"
- ( (~["'","\n","\r"])
- | ("''")
- )*
- "'"
- >
-}
-
-/* Function names */
-
-TOKEN :
-{
- < IDENTIFIER: <LETTER> (<LETTER>|<DIGIT>)* >
- |
- < #LETTER: [ "_","$", "a"-"z", "A"-"Z" ] >
- |
- < #DIGIT: ["0" - "9"] >
-}
-
-/** Start of the grammar */
-
-Object expression() :
-{
- Object exp1 = null;
-}
-{
- exp1=selectorExpression()<EOF>
- {
- return exp1;
- }
-}
-
-Object selectorExpression() :
-{
- Object exp1 = null;
- Object exp2 = null;
-}
-{
- exp1=selectorTerm()
- (
- <OR> exp2=selectorTerm()
- {
- exp1 = new Operator(Operator.OR, exp1, exp2);
- }
- )*
- {
- return exp1;
- }
-}
-
-Object selectorTerm() :
-{
- Object exp1 = null;
- Object exp2 = null;
-}
-{
- exp1=selectorFactor()
- (
- <AND> exp2=selectorFactor()
- {
- exp1 = new Operator(Operator.AND, exp1, exp2);
- }
- )*
- {
- return exp1;
- }
-}
-
-Object selectorFactor() :
-{
- Object exp1 = null;
-}
-{
- exp1=conditionalExpression()
- {
- return exp1;
- }
- | <NOT> exp1=conditionalExpression()
- {
- exp1 = new Operator(Operator.NOT, exp1);
- }
- {
- return exp1;
- }
-}
-
-Object conditionalExpression() :
-{
- Object exp1 = null;
-}
-{
- LOOKAHEAD(3)
- <LPAREN> exp1=selectorExpression() <RPAREN>
- {
- return exp1;
- }
- |
- exp1 = comparisonExpression()
- {
- return exp1;
- }
-}
-
-Object comparisonExpression() :
-{
- int op = -1;
- Set set = null;
- Object exp1 = null;
- Object exp2 = null;
- Object exp3 = null;
- Object id = null;
- Token not = null;
-}
-{
- LOOKAHEAD(2147483647)
- exp1=identifier() <IS> [ not=<NOT> ] <NULL>
- {
- int opCode = not == null ? Operator.IS_NULL : Operator.IS_NOT_NULL;
- return new Operator(opCode, exp1);
- }
- |
- LOOKAHEAD(2147483647)
- id=identifier() [ not=<NOT> ] <IN> <LPAREN> { set = new HashSet(); } stringList(set) <RPAREN>
- {
- if (not == null)
- return new Operator(Operator.IN, id, set);
- else
- return new Operator(Operator.NOT_IN, id, set);
- return exp1;
- }
- |
- LOOKAHEAD(2147483647)
- id=identifier() [ not=<NOT> ] <LIKE> exp1=patternExpression(id)
- {
- if (not != null)
- exp1 = new Operator(Operator.NOT, exp1);
- return exp1;
- }
- |
- LOOKAHEAD(2147483647)
- exp1=stringExpression()
- (
- <EQ>{ op = Operator.EQUAL;}
- | <NE>{ op = Operator.DIFFERENT;}
- ) exp2=stringExpression()
- {
- return new Operator(op, exp1, exp2);
- }
- |
- LOOKAHEAD(2147483647)
- exp1=booleanExpression()
- (
- <EQ>{ op = Operator.EQUAL;}
- | <NE>{ op = Operator.DIFFERENT;}
- ) exp2=booleanExpression()
- {
- return new Operator(op, exp1, exp2);
- }
- |
- LOOKAHEAD(2147483647)
- exp1=arithExpression()
- (
- <EQ>{ op = Operator.EQUAL;}
- | <NE>{ op = Operator.DIFFERENT;}
- | <GT>{ op = Operator.GT;}
- | <GE>{ op = Operator.GE;}
- | <LT>{ op = Operator.LT;}
- | <LE>{ op = Operator.LE;}
- ) exp2=arithExpression()
- {
- return new Operator(op, exp1, exp2);
- }
- |
- LOOKAHEAD(2147483647)
- exp1=arithExpression() [ not=<NOT> ] <BETWEEN> exp2=arithExpression() <AND> exp3=arithExpression()
- {
- exp1 = new Operator(Operator.BETWEEN, exp1, exp2, exp3);
- if (not != null)
- exp1 = new Operator(Operator.NOT, exp1);
- return exp1;
- }
- | exp1=booleanExpression()
- {
- return exp1;
- }
-}
-
-void stringList(Set set) :
-{
-}
-{
- stringToken(set) ( <COMMA> stringToken(set))*
-}
-
-void stringToken(Set set) :
-{
- Token t = null;
-}
-{
- [ t=<SIMPLE_STRING> ]
- {
- if (t != null)
- set.add(stripQuotes(t.image));
- }
-}
-
-Object patternExpression(Object exp1) :
-{
- Object exp2 = null;
- Token esc = null;
- Object escChar = null;
-}
-{
- exp2=stringLiteral() [ esc=<ESCAPE> escChar=stringLiteral() ]
- {
- Operator op = null;
- if (esc == null)
- op = new Operator(Operator.LIKE, exp1, exp2);
- else
- op = new Operator(Operator.LIKE_ESCAPE, exp1, exp2, escChar);
- return op;
- }
-}
-
-Object arithExpression() :
-{
- Object exp1 = null;
- Object exp2 = null;
-}
-{
- exp1=arithTerm()
- (
- <PLUS> exp2=arithTerm()
- {
- exp1 = new Operator(Operator.ADD, exp1, exp2);
- }
- | <MINUS> exp2=arithTerm()
- {
- exp1 = new Operator(Operator.SUB, exp1, exp2);
- }
- )*
- {
- return exp1;
- }
-}
-
-Object arithTerm() :
-{
- Object exp1 = null;
- Object exp2 = null;
-}
-{
- exp1=arithFactor()
- (
- <MULT> exp2=arithFactor()
- {
- exp1 = new Operator(Operator.MUL, exp1, exp2);
- }
- | <DIV> exp2=arithFactor()
- {
- exp1 = new Operator(Operator.DIV, exp1, exp2);
- }
- )*
- {
- return exp1;
- }
-}
-
-Object arithFactor() :
-{
- Object exp1 = null;
- boolean negate = false;
-}
-{
- [<PLUS>|<MINUS>{ negate = true; }] exp1=numericExpression()
- {
- if (negate)
- exp1 = new Operator(Operator.NEG, exp1);
- return exp1;
- }
-}
-
-Object booleanExpression() :
-{
- Object exp1 = null;
-}
-{
- (
- exp1=identifier()
- | exp1=booleanLiteral()
- )
- {
- return exp1;
- }
-}
-
-Object booleanLiteral() :
-{
- boolean isTrue = true;
-}
-{
- (<TRUE>|<FALSE>{ isTrue = false; })
- {
- if (isTrue)
- return Boolean.TRUE;
- else
- return Boolean.FALSE;
- }
-}
-
-Object stringExpression() :
-{
- Object exp1 = null;
-}
-{
- (
- exp1=identifier()
- | exp1=stringLiteral()
- )
- {
- return exp1;
- }
-}
-
-Object stringLiteral() :
-{
- Token string = null;
-}
-{
- string=<SIMPLE_STRING>
- {
- return stripQuotes(string.image);
- }
-}
-
-Object numericExpression() :
-{
- Object exp1 = null;
-}
-{
- (
- exp1 = numericLiteral()
- | (<LPAREN> exp1=arithExpression() <RPAREN>)
- | exp1 = identifier()
- )
- {
- return exp1;
- }
-}
-Object numericLiteral() :
-{
- Token literal = null;
-}
-{
- literal=<FLOATING_POINT_LITERAL>
- {
- return new Double(literal.image);
- }
- |
- literal=<INTEGER_LITERAL>
- {
- String number = literal.image;
-
- // long suffix
- if (number.endsWith(LOFFER_L) || number.endsWith(UPPER_L))
- {
- // chop off the suffix
- return new Long(number.substring(0, number.length() - 1));
- }
-
- // hex
- if (number.startsWith(OX) || number.startsWith(Ox))
- {
- // handle literals from 0x8000000000000000L to 0xffffffffffffffffL:
- // remove sign bit, parse as positive, then calculate the negative
- // value with the sign bit
- if(number.length() == 18)
- {
- byte first = Byte.decode(number.substring(0, 3)).byteValue();
- if (first >= 8)
- {
- number = Ox + (first - 8) + number.substring(3);
- return new Long(Long.decode(number).longValue() - Long.MAX_VALUE - 1);
- }
- }
- }
- else if (number.startsWith(ZERRO))
- {
- // octal
- // handle literals
- // from 01000000000000000000000L to 01777777777777777777777L
- // remove sign bit, parse as positive, then calculate the
- // negative value with the sign bit
- if (number.length() == 23)
- {
- if (number.charAt(1) == '1')
- {
- number = ZERRO + number.substring(2);
- return new Long(Long.decode(number).longValue() - Long.MAX_VALUE - 1);
- }
- }
- }
- return Long.decode(number);
- }
-}
-
-Object identifier() :
-{
- Token id = null;
-}
-{
- id=<IDENTIFIER>
- {
- SimpleString simage = new SimpleString(id.image);
- Identifier identifier = (Identifier) identifierMap.get(simage);
- if (identifier == null)
- {
- identifier = new Identifier(simage);
- identifierMap.put(simage, identifier);
- }
- return identifier;
- }
-}
Copied: branches/maven-move/hornetq-core/src/main/java/org/hornetq/spi (from rev 9385, branches/maven-move/src/main/org/hornetq/spi)
Copied: branches/maven-move/hornetq-core/src/main/java/org/hornetq/utils (from rev 9385, branches/maven-move/src/main/org/hornetq/utils)
Copied: branches/maven-move/hornetq-core/src/main/javacc/FilterParser.jj (from rev 9385, branches/maven-move/src/main/org/hornetq/core/filter/impl/FilterParser.jj)
===================================================================
--- branches/maven-move/hornetq-core/src/main/javacc/FilterParser.jj (rev 0)
+++ branches/maven-move/hornetq-core/src/main/javacc/FilterParser.jj 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,646 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+options {
+ LOOKAHEAD=1;
+ UNICODE_INPUT=true;
+/*
+ DEBUG_PARSER=true;
+ DEBUG_LOOKAHEAD=true;
+ DEBUG_TOKEN_MANAGER=true;
+*/
+}
+
+PARSER_BEGIN(FilterParser)
+
+package org.hornetq.core.filter.impl;
+
+import java.io.StringReader;
+
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.hornetq.api.core.SimpleString;
+import org.hornetq.core.filter.impl.SimpleStringReader;
+
+/**
+ * A JavaCC 2.0 grammar for HornetQ filters
+ *
+ * @author Scott.Stark(a)jboss.org
+ * @author adrian(a)jboss.org
+ * @version $Revision: 2681 $
+ */
+public class FilterParser
+{
+ private static final String LOFFER_L = "l";
+ private static final String UPPER_L = "L";
+ private static final String OX = "0X";
+ private static final String Ox = "0x";
+ private static final String ZERRO = "0";
+
+ private Map identifierMap;
+
+ public FilterParser()
+ {
+ // keep the parser from freaking out, init using one of
+ // the JavaCC generated constructor
+ this(new StringReader(""));
+ }
+
+ public Object parse(SimpleString selector, Map identifierMap)
+ throws ParseException
+ {
+ return parse(selector, identifierMap, false);
+ }
+
+ public Object parse(SimpleString selector, Map identifierMap, boolean trace)
+ throws ParseException
+ {
+ SimpleStringReader sr = new SimpleStringReader(selector);
+ ReInit(sr);
+
+ // This will have no effect unless the debugging options are true
+ if (trace)
+ {
+ this.enable_tracing();
+ }
+ else
+ {
+ this.disable_tracing();
+ }
+
+ this.identifierMap = identifierMap;
+ return this.expression();
+ }
+
+ /**
+ * Strip off the leading and trailing (quote) chars from the given string
+ * and return it.
+ */
+ private SimpleString stripQuotes(String image)
+ {
+ StringBuffer result = new StringBuffer(image.length()-2);
+ int i = 1;
+ boolean escaped = false;
+ while (i < image.length() - 1)
+ {
+ if (escaped)
+ {
+ if (image.charAt(i) == '\'')
+ result.append('\'');
+ else
+ throw new RuntimeException("Invalid uses of quotes: " + image);
+ escaped = false;
+ }
+ else if (image.charAt(i) == '\'')
+ escaped = true;
+ else
+ result.append(image.charAt(i));
+ ++i;
+ }
+ return new SimpleString(result.toString());
+ }
+
+ public static Object doParse(SimpleString selector, Map identifierMap)
+ throws ParseException
+ {
+ return doParse(selector, identifierMap, false);
+ }
+
+ public static Object doParse(SimpleString selector, Map identifierMap, boolean trace)
+ throws ParseException
+ {
+ FilterParser parser = new FilterParser();
+ return parser.parse(selector, identifierMap, trace);
+ }
+}
+
+PARSER_END(FilterParser)
+
+/* IGNORE WHITESPACE */
+
+SKIP :
+{
+ " "
+ | "\r"
+ | "\t"
+ | "\f"
+ | "\n"
+}
+
+
+/* RESERVED WORDS AND LITERALS */
+
+TOKEN [IGNORE_CASE]:
+{
+ < TRUE: "TRUE" >
+ | < FALSE: "FALSE" >
+ | < NULL: "NULL" >
+ | < AND: "AND" >
+ | < NOT: "NOT" >
+ | < OR: "OR" >
+ | < BETWEEN: "BETWEEN" >
+ | < LIKE: "LIKE" >
+ | < IN: "IN" >
+ | < IS: "IS" >
+ | < ESCAPE: "ESCAPE" >
+ | < LPAREN: "(" >
+ | < RPAREN: ")" >
+ | < SEMICOLON: ";" >
+ | < COMMA: "," >
+
+}
+
+/* OPERATORS */
+
+TOKEN :
+{
+ < MULT: "*" >
+ | < DIV: "/" >
+ | < MINUS: "-" >
+ | < PLUS: "+" >
+ | < GT: ">" >
+ | < GE: ">=" >
+ | < LT: "<" >
+ | < LE: "<=" >
+ | < NE: "<>" >
+ | < EQ: "=" >
+
+}
+
+/* Literals */
+
+<DEFAULT> TOKEN : /* Numeric Literal */
+{
+ < INTEGER_LITERAL:
+ "-9223372036854775808"
+ | "-9223372036854775808l"
+ | "-9223372036854775808L"
+ | <DECIMAL_LITERAL> (["l","L"])?
+ | <HEX_LITERAL> (["l","L"])?
+ | <OCTAL_LITERAL> (["l","L"])?
+ >
+|
+ < #DECIMAL_LITERAL: ["1"-"9"] (["0"-"9"])* >
+|
+ < #HEX_LITERAL: "0" ["x","X"] (["0"-"9","a"-"f","A"-"F"])+ >
+|
+ < #OCTAL_LITERAL: "0" (["0"-"7"])* >
+|
+ < FLOATING_POINT_LITERAL:
+ (["+","-"])? (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)? (["f","F","d","D"])?
+ | "." (["0"-"9"])+ (<EXPONENT>)? (["f","F","d","D"])?
+ | (["0"-"9"])+ <EXPONENT> (["f","F","d","D"])?
+ | (["0"-"9"])+ (<EXPONENT>)? ["f","F","d","D"]
+ >
+|
+ < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ >
+}
+
+
+TOKEN :
+{
+ < SIMPLE_STRING:
+ "'"
+ ( (~["'","\n","\r"])
+ | ("''")
+ )*
+ "'"
+ >
+}
+
+/* Function names */
+
+TOKEN :
+{
+ < IDENTIFIER: <LETTER> (<LETTER>|<DIGIT>)* >
+ |
+ < #LETTER: [ "_","$", "a"-"z", "A"-"Z" ] >
+ |
+ < #DIGIT: ["0" - "9"] >
+}
+
+/** Start of the grammar */
+
+Object expression() :
+{
+ Object exp1 = null;
+}
+{
+ exp1=selectorExpression()<EOF>
+ {
+ return exp1;
+ }
+}
+
+Object selectorExpression() :
+{
+ Object exp1 = null;
+ Object exp2 = null;
+}
+{
+ exp1=selectorTerm()
+ (
+ <OR> exp2=selectorTerm()
+ {
+ exp1 = new Operator(Operator.OR, exp1, exp2);
+ }
+ )*
+ {
+ return exp1;
+ }
+}
+
+Object selectorTerm() :
+{
+ Object exp1 = null;
+ Object exp2 = null;
+}
+{
+ exp1=selectorFactor()
+ (
+ <AND> exp2=selectorFactor()
+ {
+ exp1 = new Operator(Operator.AND, exp1, exp2);
+ }
+ )*
+ {
+ return exp1;
+ }
+}
+
+Object selectorFactor() :
+{
+ Object exp1 = null;
+}
+{
+ exp1=conditionalExpression()
+ {
+ return exp1;
+ }
+ | <NOT> exp1=conditionalExpression()
+ {
+ exp1 = new Operator(Operator.NOT, exp1);
+ }
+ {
+ return exp1;
+ }
+}
+
+Object conditionalExpression() :
+{
+ Object exp1 = null;
+}
+{
+ LOOKAHEAD(3)
+ <LPAREN> exp1=selectorExpression() <RPAREN>
+ {
+ return exp1;
+ }
+ |
+ exp1 = comparisonExpression()
+ {
+ return exp1;
+ }
+}
+
+Object comparisonExpression() :
+{
+ int op = -1;
+ Set set = null;
+ Object exp1 = null;
+ Object exp2 = null;
+ Object exp3 = null;
+ Object id = null;
+ Token not = null;
+}
+{
+ LOOKAHEAD(2147483647)
+ exp1=identifier() <IS> [ not=<NOT> ] <NULL>
+ {
+ int opCode = not == null ? Operator.IS_NULL : Operator.IS_NOT_NULL;
+ return new Operator(opCode, exp1);
+ }
+ |
+ LOOKAHEAD(2147483647)
+ id=identifier() [ not=<NOT> ] <IN> <LPAREN> { set = new HashSet(); } stringList(set) <RPAREN>
+ {
+ if (not == null)
+ return new Operator(Operator.IN, id, set);
+ else
+ return new Operator(Operator.NOT_IN, id, set);
+ return exp1;
+ }
+ |
+ LOOKAHEAD(2147483647)
+ id=identifier() [ not=<NOT> ] <LIKE> exp1=patternExpression(id)
+ {
+ if (not != null)
+ exp1 = new Operator(Operator.NOT, exp1);
+ return exp1;
+ }
+ |
+ LOOKAHEAD(2147483647)
+ exp1=stringExpression()
+ (
+ <EQ>{ op = Operator.EQUAL;}
+ | <NE>{ op = Operator.DIFFERENT;}
+ ) exp2=stringExpression()
+ {
+ return new Operator(op, exp1, exp2);
+ }
+ |
+ LOOKAHEAD(2147483647)
+ exp1=booleanExpression()
+ (
+ <EQ>{ op = Operator.EQUAL;}
+ | <NE>{ op = Operator.DIFFERENT;}
+ ) exp2=booleanExpression()
+ {
+ return new Operator(op, exp1, exp2);
+ }
+ |
+ LOOKAHEAD(2147483647)
+ exp1=arithExpression()
+ (
+ <EQ>{ op = Operator.EQUAL;}
+ | <NE>{ op = Operator.DIFFERENT;}
+ | <GT>{ op = Operator.GT;}
+ | <GE>{ op = Operator.GE;}
+ | <LT>{ op = Operator.LT;}
+ | <LE>{ op = Operator.LE;}
+ ) exp2=arithExpression()
+ {
+ return new Operator(op, exp1, exp2);
+ }
+ |
+ LOOKAHEAD(2147483647)
+ exp1=arithExpression() [ not=<NOT> ] <BETWEEN> exp2=arithExpression() <AND> exp3=arithExpression()
+ {
+ exp1 = new Operator(Operator.BETWEEN, exp1, exp2, exp3);
+ if (not != null)
+ exp1 = new Operator(Operator.NOT, exp1);
+ return exp1;
+ }
+ | exp1=booleanExpression()
+ {
+ return exp1;
+ }
+}
+
+void stringList(Set set) :
+{
+}
+{
+ stringToken(set) ( <COMMA> stringToken(set))*
+}
+
+void stringToken(Set set) :
+{
+ Token t = null;
+}
+{
+ [ t=<SIMPLE_STRING> ]
+ {
+ if (t != null)
+ set.add(stripQuotes(t.image));
+ }
+}
+
+Object patternExpression(Object exp1) :
+{
+ Object exp2 = null;
+ Token esc = null;
+ Object escChar = null;
+}
+{
+ exp2=stringLiteral() [ esc=<ESCAPE> escChar=stringLiteral() ]
+ {
+ Operator op = null;
+ if (esc == null)
+ op = new Operator(Operator.LIKE, exp1, exp2);
+ else
+ op = new Operator(Operator.LIKE_ESCAPE, exp1, exp2, escChar);
+ return op;
+ }
+}
+
+Object arithExpression() :
+{
+ Object exp1 = null;
+ Object exp2 = null;
+}
+{
+ exp1=arithTerm()
+ (
+ <PLUS> exp2=arithTerm()
+ {
+ exp1 = new Operator(Operator.ADD, exp1, exp2);
+ }
+ | <MINUS> exp2=arithTerm()
+ {
+ exp1 = new Operator(Operator.SUB, exp1, exp2);
+ }
+ )*
+ {
+ return exp1;
+ }
+}
+
+Object arithTerm() :
+{
+ Object exp1 = null;
+ Object exp2 = null;
+}
+{
+ exp1=arithFactor()
+ (
+ <MULT> exp2=arithFactor()
+ {
+ exp1 = new Operator(Operator.MUL, exp1, exp2);
+ }
+ | <DIV> exp2=arithFactor()
+ {
+ exp1 = new Operator(Operator.DIV, exp1, exp2);
+ }
+ )*
+ {
+ return exp1;
+ }
+}
+
+Object arithFactor() :
+{
+ Object exp1 = null;
+ boolean negate = false;
+}
+{
+ [<PLUS>|<MINUS>{ negate = true; }] exp1=numericExpression()
+ {
+ if (negate)
+ exp1 = new Operator(Operator.NEG, exp1);
+ return exp1;
+ }
+}
+
+Object booleanExpression() :
+{
+ Object exp1 = null;
+}
+{
+ (
+ exp1=identifier()
+ | exp1=booleanLiteral()
+ )
+ {
+ return exp1;
+ }
+}
+
+Object booleanLiteral() :
+{
+ boolean isTrue = true;
+}
+{
+ (<TRUE>|<FALSE>{ isTrue = false; })
+ {
+ if (isTrue)
+ return Boolean.TRUE;
+ else
+ return Boolean.FALSE;
+ }
+}
+
+Object stringExpression() :
+{
+ Object exp1 = null;
+}
+{
+ (
+ exp1=identifier()
+ | exp1=stringLiteral()
+ )
+ {
+ return exp1;
+ }
+}
+
+Object stringLiteral() :
+{
+ Token string = null;
+}
+{
+ string=<SIMPLE_STRING>
+ {
+ return stripQuotes(string.image);
+ }
+}
+
+Object numericExpression() :
+{
+ Object exp1 = null;
+}
+{
+ (
+ exp1 = numericLiteral()
+ | (<LPAREN> exp1=arithExpression() <RPAREN>)
+ | exp1 = identifier()
+ )
+ {
+ return exp1;
+ }
+}
+Object numericLiteral() :
+{
+ Token literal = null;
+}
+{
+ literal=<FLOATING_POINT_LITERAL>
+ {
+ return new Double(literal.image);
+ }
+ |
+ literal=<INTEGER_LITERAL>
+ {
+ String number = literal.image;
+
+ // long suffix
+ if (number.endsWith(LOFFER_L) || number.endsWith(UPPER_L))
+ {
+ // chop off the suffix
+ return new Long(number.substring(0, number.length() - 1));
+ }
+
+ // hex
+ if (number.startsWith(OX) || number.startsWith(Ox))
+ {
+ // handle literals from 0x8000000000000000L to 0xffffffffffffffffL:
+ // remove sign bit, parse as positive, then calculate the negative
+ // value with the sign bit
+ if(number.length() == 18)
+ {
+ byte first = Byte.decode(number.substring(0, 3)).byteValue();
+ if (first >= 8)
+ {
+ number = Ox + (first - 8) + number.substring(3);
+ return new Long(Long.decode(number).longValue() - Long.MAX_VALUE - 1);
+ }
+ }
+ }
+ else if (number.startsWith(ZERRO))
+ {
+ // octal
+ // handle literals
+ // from 01000000000000000000000L to 01777777777777777777777L
+ // remove sign bit, parse as positive, then calculate the
+ // negative value with the sign bit
+ if (number.length() == 23)
+ {
+ if (number.charAt(1) == '1')
+ {
+ number = ZERRO + number.substring(2);
+ return new Long(Long.decode(number).longValue() - Long.MAX_VALUE - 1);
+ }
+ }
+ }
+ return Long.decode(number);
+ }
+}
+
+Object identifier() :
+{
+ Token id = null;
+}
+{
+ id=<IDENTIFIER>
+ {
+ SimpleString simage = new SimpleString(id.image);
+ Identifier identifier = (Identifier) identifierMap.get(simage);
+ if (identifier == null)
+ {
+ identifier = new Identifier(simage);
+ identifierMap.put(simage, identifier);
+ }
+ return identifier;
+ }
+}
Copied: branches/maven-move/hornetq-core/src/main/resources/hornetq-version.properties (from rev 9385, branches/maven-move/src/config/common/hornetq-version.properties)
===================================================================
--- branches/maven-move/hornetq-core/src/main/resources/hornetq-version.properties (rev 0)
+++ branches/maven-move/hornetq-core/src/main/resources/hornetq-version.properties 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,8 @@
+hornetq.version.versionName=${hornetq.version.versionName}
+hornetq.version.majorVersion=${hornetq.version.majorVersion}
+hornetq.version.minorVersion=${hornetq.version.minorVersion}
+hornetq.version.microVersion=${hornetq.version.microVersion}
+hornetq.version.incrementingVersion=${hornetq.version.incrementingVersion}
+hornetq.version.versionSuffix=${hornetq.version.versionSuffix}
+hornetq.version.versionTag=${hornetq.version.versionTag}
+hornetq.netty.version=${netty.version}
Copied: branches/maven-move/hornetq-core/src/main/resources/schema/hornetq-configuration.xsd (from rev 9385, branches/maven-move/src/config/common/schema/hornetq-configuration.xsd)
===================================================================
--- branches/maven-move/hornetq-core/src/main/resources/schema/hornetq-configuration.xsd (rev 0)
+++ branches/maven-move/hornetq-core/src/main/resources/schema/hornetq-configuration.xsd 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="urn:hornetq" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:hornetq" version="1.0">
+
+ <xsd:element name="configuration">
+ <xsd:complexType>
+ <xsd:all>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="clustered"/>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="file-deployment-enabled"/>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="persistence-enabled"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="scheduled-thread-pool-max-size" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation>
+ Maximum number of threads to use for the scheduled thread pool
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="thread-pool-max-size" type="xsd:int">
+ <xsd:annotation>
+ <xsd:documentation>
+ Maximum number of threads to use for the thread pool
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="security-enabled" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="security-invalidation-interval" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="wild-card-routing-enabled" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="management-address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="management-notification-address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cluster-user" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cluster-password" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="log-delegate-factory-class-name" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="jmx-management-enabled" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="jmx-domain" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-enabled" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-sample-period" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-max-day-history" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="connection-ttl-override" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="async-connection-execution-enabled" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="transaction-timeout" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="transaction-timeout-scan-period" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="message-expiry-scan-period" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="message-expiry-thread-priority" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="id-cache-size" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="persist-id-cache" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="remoting-interceptors">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="backup" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="shared-store" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="persist-delivery-count-before-delivery" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="backup-connector-ref" type="backup-connectorType">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="connectors">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="connector" type="connectorType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="acceptors">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="acceptor" type="acceptorType">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="broadcast-groups">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="broadcast-group">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="discovery-groups">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="discovery-group">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="diverts">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="divert" type="divertType">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="queues">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bridges">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="bridge" type="bridgeType">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="cluster-connections">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="cluster-connection" type="clusterConnectionType">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="grouping-handler" type="groupingHandlerType">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="paging-directory" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="bindings-directory" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="create-bindings-dir" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-directory" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="create-journal-dir" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-type" type="journalType">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-buffer-timeout" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-buffer-size" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-sync-transactional" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-sync-non-transactional" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="log-journal-write-rate" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-file-size" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-min-files" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-compact-percentage" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-compact-min-files" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="journal-max-io" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="perf-blast-pages" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="run-sync-speed-test" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="server-dump-interval" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="memory-warning-threshold" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="memory-measure-interval" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="large-messages-directory" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="security-settings">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="address-settings">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="connector-services">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="connector-service" type="connectorServiceType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:all>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="clustered" type="xsd:boolean"/>
+
+ <xsd:element name="file-deployment-enabled" type="xsd:boolean"/>
+
+ <xsd:element name="persistence-enabled" type="xsd:boolean"/>
+
+ <xsd:element name="local-bind-address" type="xsd:string"/>
+
+ <xsd:element name="local-bind-port" type="xsd:int"/>
+
+ <xsd:element name="group-address" type="xsd:string"/>
+
+ <xsd:element name="group-port" type="xsd:int"/>
+
+ <xsd:element name="broadcast-period" type="xsd:long"/>
+
+ <xsd:element name="connector-ref" type="connector-refType">
+ </xsd:element>
+
+ <xsd:element name="broadcast-group">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-address">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-port">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" ref="group-address">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" ref="group-port">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="broadcast-period">
+ </xsd:element>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="connector-ref">
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:ID" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="refresh-timeout" type="xsd:int"/>
+
+ <xsd:element name="discovery-group">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-address">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" ref="group-address">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" ref="group-port">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" ref="refresh-timeout">
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:ID" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="discovery-group-ref">
+ <xsd:complexType>
+ <xsd:attribute name="discovery-group-name" type="xsd:IDREF">
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="connector-refType">
+ <xsd:attribute name="connector-name" type="xsd:IDREF" use="required">
+ </xsd:attribute>
+ <xsd:attribute name="backup-connector-name" type="xsd:IDREF" use="optional">
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:element name="remoting-interceptors">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="class-name" type="xsd:string">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="paramType">
+ <xsd:attribute name="key" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="connectorType">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="factory-class" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType">
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:ID" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="acceptorType">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="factory-class" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType">
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="bridgeType">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="queue-name" type="xsd:IDREF">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="forwarding-address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="filter">
+ <xsd:complexType>
+ <xsd:attribute name="string" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="transformer-class-name" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="retry-interval" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="retry-interval-multiplier" type="xsd:double">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="reconnect-attempts" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="failover-on-server-shutdown" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="use-duplicate-detection" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="confirmation-window-size" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="user" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="password" type="xsd:string">
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element maxOccurs="1" minOccurs="1" name="connector-ref" type="connector-refType">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" name="discovery-group-ref">
+ <xsd:complexType>
+ <xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="clusterConnectionType">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="retry-interval" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="use-duplicate-detection" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="forward-when-no-consumers" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="max-hops" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="confirmation-window-size" type="xsd:int">
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element maxOccurs="unbounded" minOccurs="1" name="connector-ref" type="connector-refType">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" name="discovery-group-ref">
+ <xsd:complexType>
+ <xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
+ </xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="divertType">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="routing-name" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="1" name="forwarding-address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="filter">
+ <xsd:complexType>
+ <xsd:attribute name="string" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="transformer-class-name" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="exclusive" type="xsd:boolean">
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:simpleType name="journalType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ASYNCIO"/>
+ <xsd:enumeration value="NIO"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="groupingHandlerType">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="type" type="groupingHandlerTypeType"/>
+ <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd:string"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="timeout" type="xsd:int"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:simpleType name="groupingHandlerTypeType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="LOCAL"/>
+ <xsd:enumeration value="REMOTE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="security-settings">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="security-setting">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="security-setting">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="permission">
+ <xsd:complexType>
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+ <xsd:attribute name="roles" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="match" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="address-settings">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="address-setting">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="address-setting">
+ <xsd:complexType>
+ <xsd:all>
+ <xsd:element maxOccurs="1" minOccurs="0" name="dead-letter-address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="expiry-address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="redelivery-delay" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="max-delivery-attempts" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="max-size-bytes" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="page-size-bytes" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="address-full-policy" type="addressFullMessagePolicyType">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-history-day-limit" type="xsd:int">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="last-value-queue" type="xsd:boolean">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="redistribution-delay" type="xsd:long">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="send-to-dla-on-no-route" type="xsd:boolean">
+ </xsd:element>
+ </xsd:all>
+ <xsd:attribute name="match" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="queues">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="queue">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="queue">
+ <xsd:complexType>
+ <xsd:all>
+ <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="filter">
+ <xsd:complexType>
+ <xsd:attribute name="string" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element maxOccurs="1" minOccurs="0" name="durable" type="xsd:boolean">
+ </xsd:element>
+ </xsd:all>
+ <xsd:attribute name="name" type="xsd:ID" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="backup-connectorType">
+ <xsd:attribute name="connector-name" type="xsd:IDREF" use="required">
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:simpleType name="addressFullMessagePolicyType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="DROP"/>
+ <xsd:enumeration value="PAGE"/>
+ <xsd:enumeration value="BLOCK"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="connectorServiceType">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="1" name="factory-class" type="xsd:string">
+ </xsd:element>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType">
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+
+</xsd:schema>
Copied: branches/maven-move/hornetq-core/src/main/resources/schema/hornetq-users.xsd (from rev 9385, branches/maven-move/src/config/common/schema/hornetq-users.xsd)
===================================================================
--- branches/maven-move/hornetq-core/src/main/resources/schema/hornetq-users.xsd (rev 0)
+++ branches/maven-move/hornetq-core/src/main/resources/schema/hornetq-users.xsd 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="urn:hornetq"
+ xmlns="urn:hornetq"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.0">
+
+ <xsd:element name="configuration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="defaultuser" type="userType" maxOccurs="1" minOccurs="0"></xsd:element>
+ <xsd:element name="user" type="userType" maxOccurs="unbounded" minOccurs="0"></xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="role">
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="userType">
+ <xsd:sequence>
+ <xsd:element ref="role" maxOccurs="unbounded" minOccurs="1"></xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:ID" use="required"></xsd:attribute>
+ <xsd:attribute name="password" type="xsd:string"></xsd:attribute>
+ </xsd:complexType>
+</xsd:schema>
Added: branches/maven-move/hornetq-core-client/pom.xml
===================================================================
--- branches/maven-move/hornetq-core-client/pom.xml (rev 0)
+++ branches/maven-move/hornetq-core-client/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,94 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core-client</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ Core Client</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <artifactSet>
+ <excludes>
+ <exclude>org.jboss.netty:netty</exclude>
+ </excludes>
+ </artifactSet>
+ <filters>
+ <filter>
+ <artifact>org.hornetq:hornetq-core</artifact>
+ <includes>
+ <include>hornetq-version.properties</include>
+ <include>org/hornetq/api/**/*.class</include>
+ <include>org/hornetq/*.class</include>
+ <include>org/hornetq/core/buffers/**/*.class</include>
+ <include>org/hornetq/core/client/**/*.class</include>
+ <include>org/hornetq/core/filter/**/*.class</include>
+ <include>org/hornetq/core/exception/**/*.class</include>
+ <include>org/hornetq/core/remoting/impl/**/*.class</include>
+ <include>org/hornetq/utils/**/*.class</include>
+ <include>org/hornetq/core/cluster/**/*.class</include>
+ <include>org/hornetq/core/list/**/*.class</include>
+ <include>org/hornetq/core/logging/**/*.class</include>
+ <include>org/hornetq/core/message/**/*.class</include>
+ <include>org/hornetq/core/protocol/core/**/*.class</include>
+ <include>org/hornetq/core/remoting/**/*.class</include>
+ <include>org/hornetq/core/version/**/*.class</include>
+ <include>org/hornetq/core/management/*.class</include>
+ <include>org/hornetq/core/transaction/impl/XidImpl.class</include>
+ <include>org/hornetq/spi/core/logging/*.class</include>
+ <include>org/hornetq/spi/core/protocol/*.class</include>
+ <include>org/hornetq/spi/core/remoting/*.class</include>
+
+ <!-- required by SessionSendMessage -->
+ <include>org/hornetq/core/server/ServerMessage.class</include>
+ <include>org/hornetq/core/journal/EncodingSupport.class</include>
+ </includes>
+ </filter>
+ </filters>
+ </configuration>
+ </execution>
+
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: branches/maven-move/hornetq-jboss-as-integration/hornetq-jboss-as-integration.iml
===================================================================
--- branches/maven-move/hornetq-jboss-as-integration/hornetq-jboss-as-integration.iml (rev 0)
+++ branches/maven-move/hornetq-jboss-as-integration/hornetq-jboss-as-integration.iml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="hornetq-core" exported="" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.netty:netty:3.2.0.Final" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.security:jboss-security-spi:2.0.3.SP1" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.security:jbosssx:2.0.3.SP1" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.javaee:jboss-transaction-api:1.0.1.GA" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.integration:jboss-transaction-spi:5.1.0.GA" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.logging:jboss-logging-spi:2.1.0.GA" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss.javaee:jboss-jca-api:1.5.0.GA" level="project" />
+ <orderEntry type="library" exported="" name="Maven: org.jboss:jboss-common-core:2.2.14.GA" level="project" />
+ <orderEntry type="library" exported="" name="Maven: jboss.jbossts:jbossjts:4.6.1.GA" level="project" />
+ </component>
+</module>
+
Added: branches/maven-move/hornetq-jboss-as-integration/pom.xml
===================================================================
--- branches/maven-move/hornetq-jboss-as-integration/pom.xml (rev 0)
+++ branches/maven-move/hornetq-jboss-as-integration/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,63 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-jboss-as-integration</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ JBoss AS Integration</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.integration</groupId>
+ <artifactId>jboss-transaction-spi</artifactId>
+ </dependency>
+ <!--this for xa recovery-->
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjts</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-jboss-as-integration/src/main/java/org/hornetq/integration/jboss (from rev 9385, branches/maven-move/src/main/org/hornetq/integration/jboss)
Added: branches/maven-move/hornetq-jms/pom.xml
===================================================================
--- branches/maven-move/hornetq-jms/pom.xml (rev 0)
+++ branches/maven-move/hornetq-jms/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,54 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-jms</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ JMS</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jms-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjts</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-jms/src/main/java/org/hornetq/api/jms (from rev 9385, branches/maven-move/src/main/org/hornetq/api/jms)
Copied: branches/maven-move/hornetq-jms/src/main/java/org/hornetq/jms (from rev 9385, branches/maven-move/src/main/org/hornetq/jms)
Copied: branches/maven-move/hornetq-jms/src/main/resources/schema/hornetq-jms.xsd (from rev 9385, branches/maven-move/src/config/common/schema/hornetq-jms.xsd)
===================================================================
--- branches/maven-move/hornetq-jms/src/main/resources/schema/hornetq-jms.xsd (rev 0)
+++ branches/maven-move/hornetq-jms/src/main/resources/schema/hornetq-jms.xsd 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,177 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="urn:hornetq"
+ xmlns="urn:hornetq"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.0">
+
+ <xsd:element name="configuration">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="connection-factory"
+ maxOccurs="unbounded" minOccurs="0">
+ </xsd:element>
+ <xsd:choice maxOccurs="unbounded" minOccurs="0">
+ <xsd:element ref="queue" maxOccurs="1"
+ minOccurs="1">
+ </xsd:element>
+ <xsd:element ref="topic" maxOccurs="1" minOccurs="1"></xsd:element>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="connection-factory">
+ <xsd:complexType>
+ <xsd:all>
+ <xsd:element name="discovery-group-ref" type="discovery-group-refType" maxOccurs="1" minOccurs="0"></xsd:element>
+ <xsd:element name="discovery-initial-wait-timeout" type="xsd:long" maxOccurs="1" minOccurs="0"></xsd:element>
+
+ <xsd:element name="connectors" maxOccurs="1" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="connector-ref" type="connector-refType"
+ maxOccurs="unbounded" minOccurs="1"></xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="entries" maxOccurs="1" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="entry" type="entryType"
+ maxOccurs="unbounded" minOccurs="1">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="client-failure-check-period" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="connection-ttl" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="call-timeout" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="consumer-window-size" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="consumer-max-rate" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="confirmation-window-size" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="producer-window-size" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="producer-max-rate" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="cache-large-message-client" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="min-large-message-size" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="client-id" type="xsd:string"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="dups-ok-batch-size" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="transaction-batch-size" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="block-on-acknowledge" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="block-on-non-durable-send" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="block-on-durable-send" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="auto-group" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="pre-acknowledge" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="retry-interval" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="retry-interval-multiplier" type="xsd:float"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="max-retry-interval" type="xsd:long"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="reconnect-attempts" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="failover-on-initial-connection" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="failover-on-server-shutdown" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="connection-load-balancing-policy-class-name" type="xsd:string"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="use-global-pools" type="xsd:boolean"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="scheduled-thread-pool-max-size" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="thread-pool-max-size" type="xsd:int"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ <xsd:element name="group-id" type="xsd:string"
+ maxOccurs="1" minOccurs="0">
+ </xsd:element>
+ </xsd:all>
+ <xsd:attribute name="name" type="xsd:string"></xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="connector-refType">
+ <xsd:attribute name="connector-name" type="xsd:string" use="required"></xsd:attribute>
+ <xsd:attribute name="backup-connector-name" type="xsd:string" use="optional"></xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="entryType">
+ <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="discovery-group-refType">
+ <xsd:attribute name="discovery-group-name" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:element name="queue" type="queueType"></xsd:element>
+
+ <xsd:element name="topic" type="topicType"></xsd:element>
+
+ <xsd:complexType name="queueType">
+ <xsd:sequence>
+ <xsd:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"></xsd:element>
+ <xsd:element name="selector" maxOccurs="1" minOccurs="0">
+ <xsd:complexType>
+ <xsd:attribute name="string" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="durable" type="xsd:boolean" maxOccurs="1" minOccurs="0"></xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="topicType">
+ <xsd:sequence>
+ <xsd:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"></xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
+ </xsd:complexType>
+</xsd:schema>
Added: branches/maven-move/hornetq-jms-client/pom.xml
===================================================================
--- branches/maven-move/hornetq-jms-client/pom.xml (rev 0)
+++ branches/maven-move/hornetq-jms-client/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,73 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-jms-client</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ JMS Client</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-jms</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <artifactSet>
+ <excludes>
+ <exclude>org.jboss.netty:netty</exclude>
+ <exclude>org.hornetq:hornetq-core</exclude>
+ </excludes>
+ </artifactSet>
+ <filters>
+ <filter>
+ <artifact>org.hornetq:hornetq-jms</artifact>
+ <includes>
+ <include>org/hornetq/api/jms/**/*.class</include>
+ <include>org/hornetq/jms/client/**/*.*</include>
+ <include>org/hornetq/jms/referenceable/**/*.*</include>
+ </includes>
+ </filter>
+ </filters>
+ </configuration>
+ </execution>
+
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: branches/maven-move/hornetq-logging/pom.xml
===================================================================
--- branches/maven-move/hornetq-logging/pom.xml (rev 0)
+++ branches/maven-move/hornetq-logging/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,40 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-logging</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ Logging</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-logging/src/main/java/org/hornetq/integration/logging (from rev 9385, branches/maven-move/src/main/org/hornetq/integration/logging)
Added: branches/maven-move/hornetq-rar/hornetq-ra-jar/pom.xml
===================================================================
--- branches/maven-move/hornetq-rar/hornetq-ra-jar/pom.xml (rev 0)
+++ branches/maven-move/hornetq-rar/hornetq-ra-jar/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,54 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-ra</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ RAR JAR</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-jms</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jca-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-rar/hornetq-ra-jar/src/main/java/org/hornetq/ra (from rev 9385, branches/maven-move/src/main/org/hornetq/ra)
Added: branches/maven-move/hornetq-rar/hornetq-ra-rar/pom.xml
===================================================================
--- branches/maven-move/hornetq-rar/hornetq-ra-rar/pom.xml (rev 0)
+++ branches/maven-move/hornetq-rar/hornetq-ra-rar/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,79 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-rar</artifactId>
+ <packaging>rar</packaging>
+ <name>HornetQ JMS Client</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-jms</artifactId>
+ <version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jms-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjts</artifactId>
+ </exclusion>
+
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-ra</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core-client</artifactId>
+ <version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-rar-plugin</artifactId>
+ <configuration>
+ <raXmlFile>src/main/resources/ra.xml</raXmlFile>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-rar/hornetq-ra-rar/src/main/resources/ra.xml (from rev 9385, branches/maven-move/src/config/ra.xml)
===================================================================
--- branches/maven-move/hornetq-rar/hornetq-ra-rar/src/main/resources/ra.xml (rev 0)
+++ branches/maven-move/hornetq-rar/hornetq-ra-rar/src/main/resources/ra.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id: ra.xml 76819 2008-08-08 11:04:20Z jesper.pedersen $ -->
+
+<connector xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+ http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
+ version="1.5">
+
+ <description>HornetQ 2.0 Resource Adapter</description>
+ <display-name>HornetQ 2.0 Resource Adapter</display-name>
+
+ <vendor-name>Red Hat Middleware LLC</vendor-name>
+ <eis-type>JMS 1.1 Server</eis-type>
+ <resourceadapter-version>1.0</resourceadapter-version>
+
+ <license>
+ <description>
+Copyright 2009 Red Hat, Inc.
+ Red Hat licenses this file to you under the Apache License, version
+ 2.0 (the "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+ </description>
+ <license-required>true</license-required>
+ </license>
+
+ <resourceadapter>
+ <resourceadapter-class>org.hornetq.ra.HornetQResourceAdapter</resourceadapter-class>
+ <config-property>
+ <description>The transport type</description>
+ <config-property-name>ConnectorClassName</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value>org.hornetq.core.remoting.impl.invm.InVMConnectorFactory</config-property-value>
+ </config-property>
+ <config-property>
+ <description>The transport configuration. These values must be in the form of key=val;key=val;</description>
+ <config-property-name>ConnectionParameters</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value>server-id=0</config-property-value>
+ </config-property>
+ <!--
+ <config-property>
+ <description>The method to use for locating the transactionmanager</description>
+ <config-property-name>TransactionManagerLocatorMethod</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value>getTm</config-property-value>
+ </config-property>
+ <config-property>
+ <description>Use A local Transaction instead of XA?</description>
+ <config-property-name>UseLocalTx</config-property-name>
+ <config-property-type>java.lang.Boolean</config-property-type>
+ <config-property-value>false</config-property-value>
+ </config-property>
+ <config-property>
+ <description>The user name used to login to the JMS server</description>
+ <config-property-name>UserName</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The password used to login to the JMS server</description>
+ <config-property-name>Password</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The Backup transport type</description>
+ <config-property-name>BackUpTransportType</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The Backup transport configuration. These values must be in the form of key=val;key=val;</description>
+ <config-property-name>TransportConfiguration</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The discovery group address</description>
+ <config-property-name>DiscoveryGroupAddress</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The discovery group port</description>
+ <config-property-name>DiscoveryGroupPort</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The discovery refresh timeout</description>
+ <config-property-name>DiscoveryRefreshTimeout</config-property-name>
+ <config-property-type>java.lang.Long</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The discovery initial wait timeout</description>
+ <config-property-name>DiscoveryInitialWaitTimeout</config-property-name>
+ <config-property-type>java.lang.Long</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The load balancing policy class name</description>
+ <config-property-name>LoadBalancingPolicyClassName</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The client failure check period</description>
+ <config-property-name>ClientFailureCheckPeriod</config-property-name>
+ <config-property-type>java.lang.Long</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The connection TTL</description>
+ <config-property-name>ConnectionTTL</config-property-name>
+ <config-property-type>java.lang.Long</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The call timeout</description>
+ <config-property-name>CallTimeout</config-property-name>
+ <config-property-type>java.lang.Long</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The dups ok batch size</description>
+ <config-property-name>DupsOKBatchSize</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The transaction batch size</description>
+ <config-property-name>TransactionBatchSize</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The consumer window size</description>
+ <config-property-name>ConsumerWindowSize</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The consumer max rate</description>
+ <config-property-name>ConsumerMaxRate</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The confirmation window size</description>
+ <config-property-name>ConfirmationWindowSize</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The producer max rate</description>
+ <config-property-name>ProducerMaxRate</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The min large message size</description>
+ <config-property-name>MinLargeMessageSize</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The block on acknowledge</description>
+ <config-property-name>BlockOnAcknowledge</config-property-name>
+ <config-property-type>java.lang.Boolean</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The block on non durable send</description>
+ <config-property-name>BlockOnNonDurableSend</config-property-name>
+ <config-property-type>java.lang.Boolean</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The block on durable send</description>
+ <config-property-name>BlockOnDurableSend</config-property-name>
+ <config-property-type>java.lang.Boolean</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The auto group</description>
+ <config-property-name>AutoGroup</config-property-name>
+ <config-property-type>java.lang.Boolean</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The max connections</description>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The pre acknowledge</description>
+ <config-property-name>PreAcknowledge</config-property-name>
+ <config-property-type>java.lang.Boolean</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The retry interval</description>
+ <config-property-name>RetryInterval</config-property-name>
+ <config-property-type>java.lang.Long</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The retry interval multiplier</description>
+ <config-property-name>RetryIntervalMultiplier</config-property-name>
+ <config-property-type>java.lang.Double</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>Should clean server shutdown trigger failover?</description>
+ <config-property-name>FailoverOnServerShutdown</config-property-name>
+ <config-property-type>java.lang.Boolean</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>
+ <config-property>
+ <description>The client id</description>
+ <config-property-name>ClientID</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value></config-property-value>
+ </config-property>-->
+
+ <outbound-resourceadapter>
+ <connection-definition>
+ <managedconnectionfactory-class>org.hornetq.ra.HornetQRAManagedConnectionFactory</managedconnectionfactory-class>
+
+ <config-property>
+ <description>The default session type</description>
+ <config-property-name>SessionDefaultType</config-property-name>
+ <config-property-type>java.lang.String</config-property-type>
+ <config-property-value>javax.jms.Queue</config-property-value>
+ </config-property>
+ <config-property>
+ <description>Try to obtain a lock within specified number of seconds; less than or equal to 0 disable this functionality</description>
+ <config-property-name>UseTryLock</config-property-name>
+ <config-property-type>java.lang.Integer</config-property-type>
+ <config-property-value>0</config-property-value>
+ </config-property>
+
+ <connectionfactory-interface>org.hornetq.ra.HornetQRAConnectionFactory</connectionfactory-interface>
+ <connectionfactory-impl-class>org.hornetq.ra.HornetQRAConnectionFactoryImpl</connectionfactory-impl-class>
+ <connection-interface>javax.jms.Session</connection-interface>
+ <connection-impl-class>org.hornetq.ra.HornetQRASession</connection-impl-class>
+ </connection-definition>
+ <transaction-support>XATransaction</transaction-support>
+ <authentication-mechanism>
+ <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+ <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+ </authentication-mechanism>
+ <reauthentication-support>false</reauthentication-support>
+ </outbound-resourceadapter>
+
+ <inbound-resourceadapter>
+ <messageadapter>
+ <messagelistener>
+ <messagelistener-type>javax.jms.MessageListener</messagelistener-type>
+ <activationspec>
+ <activationspec-class>org.hornetq.ra.inflow.HornetQActivationSpec</activationspec-class>
+ <required-config-property>
+ <config-property-name>destination</config-property-name>
+ </required-config-property>
+ </activationspec>
+ </messagelistener>
+ </messageadapter>
+ </inbound-resourceadapter>
+
+ </resourceadapter>
+</connector>
Added: branches/maven-move/hornetq-rar/pom.xml
===================================================================
--- branches/maven-move/hornetq-rar/pom.xml (rev 0)
+++ branches/maven-move/hornetq-rar/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,30 @@
+<project>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+ <name>HornetQ RAR POM</name>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-rar-pom</artifactId>
+ <packaging>pom</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <modules>
+ <module>hornetq-ra-jar</module>
+ <module>hornetq-ra-rar</module>
+ </modules>
+</project>
Added: branches/maven-move/hornetq-service-sar/pom.xml
===================================================================
--- branches/maven-move/hornetq-service-sar/pom.xml (rev 0)
+++ branches/maven-move/hornetq-service-sar/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,60 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-service-sar</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ JBoss AS Integration</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-jms</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-jboss-as-integration</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <finalName>hornetq-service</finalName>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-service-sar/src/main/java/org/hornetq/service (from rev 9385, branches/maven-move/src/main/org/hornetq/service)
Added: branches/maven-move/hornetq-twitter-integration/pom.xml
===================================================================
--- branches/maven-move/hornetq-twitter-integration/pom.xml (rev 0)
+++ branches/maven-move/hornetq-twitter-integration/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,40 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-twittter-integration</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ Twitter Integration</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.twitter4j</groupId>
+ <artifactId>twitter4j-core</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Copied: branches/maven-move/hornetq-twitter-integration/src/main/java/org/hornetq/integration/twitter (from rev 9385, branches/maven-move/src/main/org/hornetq/integration/twitter)
Modified: branches/maven-move/pom.xml
===================================================================
--- branches/maven-move/pom.xml 2010-07-08 15:05:36 UTC (rev 9385)
+++ branches/maven-move/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -1,339 +1,470 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright 2009 Red Hat, Inc.
- Red Hat licenses this file to you under the Apache License, version
- 2.0 (the "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied. See the License for the specific language governing
- permissions and limitations under the License.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <packaging>pom</packaging>
+ <version>2.1.2-SNAPSHOT</version>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.hornetq</groupId>
- <artifactId>messaging</artifactId>
- <packaging>pom</packaging>
- <version>2.1.1.Final</version>
+ <name>HornetQ</name>
+ <url>http://hornetq.org</url>
+ <description>
+ Putting the buzz in messaging
+ </description>
- <name>HornetQ</name>
- <url>http://hornetq.org</url>
- <description>
- Putting the buzz in messaging
- </description>
+ <organization>
+ <name>JBoss, a division of Red Hat</name>
+ <url>http://www.jboss.org/</url>
+ </organization>
- <organization>
- <name>JBoss, a division of Red Hat</name>
- <url>http://www.jboss.org/</url>
- </organization>
+ <licenses>
+ <license>
+ <name>ASL 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
- <scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/messaging/trunk</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/messaging/trunk</developerConnection>
- </scm>
- <build>
+ <properties>
+ <netty.version>3.2.0.Final</netty.version>
+ <hornetq.version.versionName>Stripey</hornetq.version.versionName>
+ <hornetq.version.majorVersion>2</hornetq.version.majorVersion>
+ <hornetq.version.minorVersion>1</hornetq.version.minorVersion>
+ <hornetq.version.microVersion>2</hornetq.version.microVersion>
+ <hornetq.version.incrementingVersion>1</hornetq.version.incrementingVersion>
+ <hornetq.version.versionSuffix>SNAPSHOT</hornetq.version.versionSuffix>
+ <hornetq.version.versionTag>SNAPSHOT</hornetq.version.versionTag>
+ <HornetQ-Version>${hornetq.version.majorVersion}.${hornetq.version.minorVersion}.${hornetq.version.microVersion}.${hornetq.version.versionSuffix} (${hornetq.version.versionName}, ${hornetq.version.incrementingVersion})</HornetQ-Version>
+ <HornetQ-SVN-URL>https://svn.jboss.org/repos/hornetq/trunk</HornetQ-SVN-URL>
+ </properties>
- <plugins>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-buildmagic-thirdparty-plugin</artifactId>
- <executions>
- <execution>
- <id>build-thirdparty</id>
- <phase>initialize</phase>
- <goals>
- <goal>build-thirdparty</goal>
- </goals>
- <configuration>
- <outputDirectory>thirdparty</outputDirectory>
- <librariesEnt>thirdparty/libraries.ent</librariesEnt>
- <includedScopes>
- <scope>compile</scope>
- </includedScopes>
- </configuration>
- </execution>
- </executions>
- <configuration>
- <!--without this dummy entry we get a npe, just ignore-->
- <mappedDependencies>
- <dependency>
- <groupId>id</groupId>
- <artifactId>art-id</artifactId>
- <mapping>
- <artifactId>1.0.0</artifactId>
- </mapping>
- </dependency>
- </mappedDependencies>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.3</version>
- <executions>
- <execution>
- <id>clean</id>
- <phase>pre-clean</phase>
- <configuration>
- <tasks name="distro"/>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- <execution>
- <id>distro</id>
- <phase>package</phase>
- <configuration>
- <tasks>
- <property name="maven.build" value="true"/>
- <ant target="distro"/>
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.7.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-launcher</artifactId>
- <version>1.7.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-nodeps</artifactId>
- <version>1.7.1</version>
- </dependency>
- <dependency>
- <groupId>ant-contrib</groupId>
- <artifactId>ant-contrib</artifactId>
- <version>1.0b3</version>
- <exclusions>
- <exclusion>
- <groupId>ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>sun.jdk</groupId>
- <artifactId>tools</artifactId>
- <version>1.5</version>
- <scope>system</scope>
- <systemPath>${java.home}/../lib/tools.jar</systemPath>
- </dependency>
- <dependency>
- <groupId>net.java.dev.javacc</groupId>
- <artifactId>javacc</artifactId>
- <version>4.0</version>
- </dependency>
- <dependency>
- <groupId>apache-xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.9.1</version>
- </dependency>
- <dependency>
- <groupId>apache-xerces</groupId>
- <artifactId>resolver</artifactId>
- <version>2.9.1</version>
- </dependency>
- <dependency>
- <groupId>apache-xerces</groupId>
- <artifactId>xml-apis</artifactId>
- <version>2.9.1</version>
- </dependency>
- </dependencies>
- </plugin>
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/hornetq/trunk</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/hornetq/trunk</developerConnection>
+ </scm>
- </plugins>
+ <distributionManagement>
+ <repository>
+ <id>jboss-releases-repository</id>
+ <name>JBoss Releases Repository</name>
+ <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
+ </repository>
+ </distributionManagement>
- </build>
- <dependencies>
- <!--needed for the filters-->
- <dependency>
- <groupId>net.java.dev.javacc</groupId>
- <artifactId>javacc</artifactId>
- <version>4.0</version>
- </dependency>
- <!-- needed to compile JMS-->
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-jms-api</artifactId>
- <version>1.1.0.GA</version>
- </dependency>
- <!-- needed to compile JavaEE examples-->
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-ejb-api</artifactId>
- <version>3.0.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-transaction-api</artifactId>
- <version>1.0.1.GA</version>
- </dependency>
- <!--this specifically for the JMS Bridge-->
- <dependency>
- <groupId>org.jboss.integration</groupId>
- <artifactId>jboss-transaction-spi</artifactId>
- <version>5.1.0.GA</version>
- </dependency>
- <!--this for xa recovery-->
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossjts</artifactId>
- <version>4.6.1.GA</version>
- </dependency>
- <!--needed to compile security-->
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jboss-security-spi</artifactId>
- <version>2.0.3.SP1</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.security</groupId>
- <artifactId>jbosssx</artifactId>
- <version>2.0.3.SP1</version>
- </dependency>
- <!--needed to compile the bootstrap jar-->
- <dependency>
- <groupId>org.jboss.microcontainer</groupId>
- <artifactId>jboss-kernel</artifactId>
- <version>2.0.6.GA</version>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- <version>2.2.14.GA</version>
- </dependency>
- <!--needed to compile transport jar-->
- <dependency>
- <groupId>org.jboss.netty</groupId>
- <artifactId>netty</artifactId>
- <version>3.2.0.Final</version>
- </dependency>
- <!--needed to compile the logging jar-->
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.14</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.logging</groupId>
- <artifactId>jboss-logging-spi</artifactId>
- <version>2.1.0.GA</version>
- </dependency>
- <!--needed to compile twitter support-->
- <dependency>
- <groupId>org.twitter4j</groupId>
- <artifactId>twitter4j-core</artifactId>
- <version>2.1.2</version>
- </dependency>
- <!-- needed to compile the tests-->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.2</version>
- </dependency>
- <!--needed to compile the jms tests-->
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-jaspi-api</artifactId>
- <version>1.0.0.GA</version>
- </dependency>
+ <issueManagement>
+ <system>JIRA</system>
+ <url>http://jira.jboss.com/jira/browse/HORNETQ</url>
+ </issueManagement>
- <!--needed to run the jms tests-->
- <dependency>
- <groupId>org.jboss.naming</groupId>
- <artifactId>jnpserver</artifactId>
- <version>5.0.3.GA</version>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossts-common</artifactId>
- <version>4.6.1.GA</version>
- </dependency>
- <dependency>
- <groupId>apache-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1.0.jboss</version>
- </dependency>
-
- <!-- needed for javaee examples-->
- <dependency>
- <groupId>org.jboss.ejb3</groupId>
- <artifactId>jboss-ejb3-ext-api</artifactId>
- <version>1.0.0</version>
- </dependency>
-
- <!-- needed for javadoc graphics-->
- <dependency>
- <groupId>org.jboss.apiviz</groupId>
- <artifactId>apiviz</artifactId>
- <version>1.3.0.GA</version>
- </dependency>
- </dependencies>
+ <developers>
+ <developer>
+ <id>timfox</id>
+ <name>Tim Fox</name>
+ <email>tim.fox(a)redhat.com</email>
+ <url>http://hornetq.com</url>
+ <roles>
+ <role>project-owner</role>
+ </roles>
+ <timezone>0</timezone>
+ </developer>
+ </developers>
+ <contributors>
+ <contributor>
+ <name>Jeff Mesnil</name>
+ </contributor>
+ <contributor>
+ <name>Clebert Suconic</name>
+ </contributor>
+ <contributor>
+ <name>Andy Taylor</name>
+ </contributor>
+ </contributors>
- <repositories>
- <repository>
- <snapshots>
- <enabled>false</enabled>
- <updatePolicy>never</updatePolicy>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>interval:10080</updatePolicy>
- </releases>
- <id>jboss.release</id>
- <name>JBoss releases</name>
- <url>https://repository.jboss.org/nexus/content/groups/public/</url>
- </repository>
- </repositories>
+ <modules>
+ <module>hornetq-core</module>
+ <module>hornetq-core-client</module>
+ <module>hornetq-jms</module>
+ <module>hornetq-jms-client</module>
+ <module>hornetq-rar</module>
+ <module>hornetq-logging</module>
+ <module>hornetq-bootstrap</module>
+ <module>hornetq-jboss-as-integration</module>
+ <module>hornetq-twitter-integration</module>
+ <module>hornetq-service-sar</module>
+ </modules>
- <pluginRepositories>
- <pluginRepository>
- <snapshots>
- <enabled>false</enabled>
- <updatePolicy>never</updatePolicy>
- </snapshots>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>interval:10080</updatePolicy>
- </releases>
- <id>jboss.release</id>
- <name>JBoss releases</name>
- <url>https://repository.jboss.org/nexus/content/groups/public</url>
- </pluginRepository>
- </pluginRepositories>
- <!--<profiles>
- --><!-- This profile is used by the ant/buildmagic build --><!--
- <profile>
- <id>integrated-build</id>
- <activation>
- <property>
- <name>integrated-build</name>
- </property>
- </activation>
- <modules>
- <module>thirdparty</module>
- </modules>
- </profile>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>net.java.dev.javacc</groupId>
+ <artifactId>javacc</artifactId>
+ <version>4.0</version>
+ </dependency>
+ <!-- needed to compile JMS-->
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jms-api</artifactId>
+ <version>1.1.0.GA</version>
+ </dependency>
+ <!-- needed to compile JavaEE examples-->
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-ejb-api</artifactId>
+ <version>3.0.0.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ <version>1.0.1.GA</version>
+ </dependency>
+ <!--this specifically for the JMS Bridge-->
+ <dependency>
+ <groupId>org.jboss.integration</groupId>
+ <artifactId>jboss-transaction-spi</artifactId>
+ <version>5.1.0.GA</version>
+ </dependency>
+ <!--this for xa recovery-->
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjts</artifactId>
+ <version>4.6.1.GA</version>
+ </dependency>
+ <!--needed to compile security-->
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ <version>2.0.3.SP1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx</artifactId>
+ <version>2.0.3.SP1</version>
+ </dependency>
+ <!--needed to compile the bootstrap jar-->
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ <version>2.0.6.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ <version>2.2.14.GA</version>
+ </dependency>
+ <!--needed to compile transport jar-->
+ <dependency>
+ <groupId>org.jboss.netty</groupId>
+ <artifactId>netty</artifactId>
+ <version>${netty.version}</version>
+ </dependency>
+ <!--needed to compile the logging jar-->
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ <version>2.1.0.GA</version>
+ </dependency>
+ <!--needed to compile twitter support-->
+ <dependency>
+ <groupId>org.twitter4j</groupId>
+ <artifactId>twitter4j-core</artifactId>
+ <version>2.1.2</version>
+ </dependency>
+ <!-- needed to compile the tests-->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.2</version>
+ </dependency>
+ <!--needed to compile the jms tests-->
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jaspi-api</artifactId>
+ <version>1.0.0.GA</version>
+ </dependency>
- </profiles>-->
+ <!--needed to run the jms tests-->
+ <dependency>
+ <groupId>org.jboss.naming</groupId>
+ <artifactId>jnpserver</artifactId>
+ <version>5.0.3.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossts-common</artifactId>
+ <version>4.6.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>apache-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.0.jboss</version>
+ </dependency>
+ <!-- needed for javaee examples-->
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-ext-api</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jca-api</artifactId>
+ <version>1.5.0.GA</version>
+ </dependency>
+
+ <!-- needed for javadoc graphics-->
+ <dependency>
+ <groupId>org.jboss.apiviz</groupId>
+ <artifactId>apiviz</artifactId>
+ <version>1.3.0.GA</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <repositories>
+ <repository>
+ <snapshots>
+ <enabled>false</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>interval:10080</updatePolicy>
+ </releases>
+ <id>jboss.release</id>
+ <name>JBoss releases</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public/</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <snapshots>
+ <enabled>false</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>interval:10080</updatePolicy>
+ </releases>
+ <id>jboss.release</id>
+ <name>JBoss releases</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!--
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <minmemory>128m</minmemory>
+ <maxmemory>512m</maxmemory>
+ <quiet>false</quiet>
+ <aggregate>true</aggregate>
+ </configuration>
+ <executions>
+ <execution>
+ <id>javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ -->
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>javacc-maven-plugin</artifactId>
+ <version>2.6</version>
+ <executions>
+ <execution>
+ <id>javacc</id>
+ <goals>
+ <goal>javacc</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-rar-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <groupId>net.sf.maven-sar</groupId>
+ <artifactId>maven-sar-plugin</artifactId>
+ <version>1.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>2.0-beta-5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>1.3.3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.15</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+
+ <plugin>
+ <inherited>true</inherited>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.0.3</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <createChecksum>true</createChecksum>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <configuration>
+ <linkXref>true</linkXref>
+ <sourceEncoding>utf-8</sourceEncoding>
+ <minimumTokens>100</minimumTokens>
+ <targetJdk>1.5</targetJdk>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <configuration/>
+ <executions>
+ <execution>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <configuration>
+ <createChecksum>true</createChecksum>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </build>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>cobertura-maven-plugin</artifactId>
+ <configuration>
+ <formats>
+ <format>html</format>
+ <format>xml</format>
+ </formats>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>
+ config/jboss_checks.xml
+ </configLocation>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>1.1.1</version>
+ <configuration>
+ <xmlOutput>true</xmlOutput>
+ <effort>Max</effort>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <minmemory>128m</minmemory>
+ <maxmemory>1024m</maxmemory>
+ <quiet>false</quiet>
+ <aggregate>true</aggregate>
+ <excludePackageNames>com.restfully.*:org.jboss.resteasy.examples.*:org.jboss.resteasy.tests.*
+ </excludePackageNames>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>
+ maven-project-info-reports-plugin
+ </artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
</project>
-
Deleted: branches/maven-move/src/config/common/hornetq-version.properties
===================================================================
--- branches/maven-move/src/config/common/hornetq-version.properties 2010-07-08 15:05:36 UTC (rev 9385)
+++ branches/maven-move/src/config/common/hornetq-version.properties 2010-07-09 03:10:45 UTC (rev 9386)
@@ -1,8 +0,0 @@
-hornetq.version.versionName=Stripey
-hornetq.version.majorVersion=2
-hornetq.version.minorVersion=1
-hornetq.version.microVersion=1
-hornetq.version.incrementingVersion=119
-hornetq.version.versionSuffix=Final
-hornetq.version.versionTag=Final
-hornetq.netty.version=(a)NETTY.VERSION@
Deleted: branches/maven-move/src/config/common/schema/hornetq-configuration.xsd
===================================================================
--- branches/maven-move/src/config/common/schema/hornetq-configuration.xsd 2010-07-08 15:05:36 UTC (rev 9385)
+++ branches/maven-move/src/config/common/schema/hornetq-configuration.xsd 2010-07-09 03:10:45 UTC (rev 9386)
@@ -1,525 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="urn:hornetq" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:hornetq" version="1.0">
-
- <xsd:element name="configuration">
- <xsd:complexType>
- <xsd:all>
- <xsd:element maxOccurs="1" minOccurs="0" ref="clustered"/>
- <xsd:element maxOccurs="1" minOccurs="0" ref="file-deployment-enabled"/>
- <xsd:element maxOccurs="1" minOccurs="0" ref="persistence-enabled"/>
- <xsd:element maxOccurs="1" minOccurs="0" name="scheduled-thread-pool-max-size" type="xsd:int">
- <xsd:annotation>
- <xsd:documentation>
- Maximum number of threads to use for the scheduled thread pool
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="thread-pool-max-size" type="xsd:int">
- <xsd:annotation>
- <xsd:documentation>
- Maximum number of threads to use for the thread pool
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="security-enabled" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="security-invalidation-interval" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="wild-card-routing-enabled" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="management-address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="management-notification-address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="cluster-user" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="cluster-password" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="log-delegate-factory-class-name" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="jmx-management-enabled" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="jmx-domain" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-enabled" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-sample-period" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-max-day-history" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="connection-ttl-override" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="async-connection-execution-enabled" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="transaction-timeout" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="transaction-timeout-scan-period" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="message-expiry-scan-period" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="message-expiry-thread-priority" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="id-cache-size" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="persist-id-cache" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" ref="remoting-interceptors">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="backup" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="shared-store" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="persist-delivery-count-before-delivery" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="backup-connector-ref" type="backup-connectorType">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="connectors">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="connector" type="connectorType"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="acceptors">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="1" name="acceptor" type="acceptorType">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="broadcast-groups">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="broadcast-group">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="discovery-groups">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="discovery-group">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="diverts">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="divert" type="divertType">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="queues">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="bridges">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="bridge" type="bridgeType">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="cluster-connections">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="cluster-connection" type="clusterConnectionType">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="grouping-handler" type="groupingHandlerType">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="paging-directory" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="bindings-directory" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="create-bindings-dir" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-directory" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="create-journal-dir" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-type" type="journalType">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-buffer-timeout" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-buffer-size" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-sync-transactional" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-sync-non-transactional" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="log-journal-write-rate" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-file-size" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-min-files" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-compact-percentage" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-compact-min-files" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="journal-max-io" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="perf-blast-pages" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="run-sync-speed-test" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="server-dump-interval" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="memory-warning-threshold" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="memory-measure-interval" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="large-messages-directory" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="security-settings">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="address-settings">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="connector-services">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="connector-service" type="connectorServiceType"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- </xsd:all>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="clustered" type="xsd:boolean"/>
-
- <xsd:element name="file-deployment-enabled" type="xsd:boolean"/>
-
- <xsd:element name="persistence-enabled" type="xsd:boolean"/>
-
- <xsd:element name="local-bind-address" type="xsd:string"/>
-
- <xsd:element name="local-bind-port" type="xsd:int"/>
-
- <xsd:element name="group-address" type="xsd:string"/>
-
- <xsd:element name="group-port" type="xsd:int"/>
-
- <xsd:element name="broadcast-period" type="xsd:long"/>
-
- <xsd:element name="connector-ref" type="connector-refType">
- </xsd:element>
-
- <xsd:element name="broadcast-group">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-address">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-port">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="1" ref="group-address">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="1" ref="group-port">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" ref="broadcast-period">
- </xsd:element>
- <xsd:element maxOccurs="unbounded" minOccurs="0" ref="connector-ref">
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:ID" use="required"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="refresh-timeout" type="xsd:int"/>
-
- <xsd:element name="discovery-group">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-address">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="1" ref="group-address">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="1" ref="group-port">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" ref="refresh-timeout">
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:ID" use="required"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="discovery-group-ref">
- <xsd:complexType>
- <xsd:attribute name="discovery-group-name" type="xsd:IDREF">
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="connector-refType">
- <xsd:attribute name="connector-name" type="xsd:IDREF" use="required">
- </xsd:attribute>
- <xsd:attribute name="backup-connector-name" type="xsd:IDREF" use="optional">
- </xsd:attribute>
- </xsd:complexType>
-
- <xsd:element name="remoting-interceptors">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="1" name="class-name" type="xsd:string">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="paramType">
- <xsd:attribute name="key" type="xsd:string" use="required"/>
- <xsd:attribute name="value" type="xsd:string" use="required"/>
- </xsd:complexType>
-
- <xsd:complexType name="connectorType">
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="1" name="factory-class" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType">
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:ID" use="required"/>
- </xsd:complexType>
-
- <xsd:complexType name="acceptorType">
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="1" name="factory-class" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType">
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="optional"/>
- </xsd:complexType>
-
- <xsd:complexType name="bridgeType">
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="1" name="queue-name" type="xsd:IDREF">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="forwarding-address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="filter">
- <xsd:complexType>
- <xsd:attribute name="string" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="transformer-class-name" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="retry-interval" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="retry-interval-multiplier" type="xsd:double">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="reconnect-attempts" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="failover-on-server-shutdown" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="use-duplicate-detection" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="confirmation-window-size" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="user" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="password" type="xsd:string">
- </xsd:element>
- <xsd:choice>
- <xsd:element maxOccurs="1" minOccurs="1" name="connector-ref" type="connector-refType">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="1" name="discovery-group-ref">
- <xsd:complexType>
- <xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:complexType>
-
- <xsd:complexType name="clusterConnectionType">
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="retry-interval" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="use-duplicate-detection" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="forward-when-no-consumers" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="max-hops" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="confirmation-window-size" type="xsd:int">
- </xsd:element>
- <xsd:choice>
- <xsd:element maxOccurs="unbounded" minOccurs="1" name="connector-ref" type="connector-refType">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="1" name="discovery-group-ref">
- <xsd:complexType>
- <xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
- </xsd:attribute>
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:complexType>
-
- <xsd:complexType name="divertType">
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="0" name="routing-name" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="1" name="forwarding-address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="filter">
- <xsd:complexType>
- <xsd:attribute name="string" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="transformer-class-name" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="exclusive" type="xsd:boolean">
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:complexType>
-
- <xsd:simpleType name="journalType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="ASYNCIO"/>
- <xsd:enumeration value="NIO"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:complexType name="groupingHandlerType">
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="1" name="type" type="groupingHandlerTypeType"/>
- <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd:string"/>
- <xsd:element maxOccurs="1" minOccurs="0" name="timeout" type="xsd:int"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
- </xsd:complexType>
-
- <xsd:simpleType name="groupingHandlerTypeType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="LOCAL"/>
- <xsd:enumeration value="REMOTE"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:element name="security-settings">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="security-setting">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="security-setting">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="permission">
- <xsd:complexType>
- <xsd:attribute name="type" type="xsd:string" use="required"/>
- <xsd:attribute name="roles" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="match" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="address-settings">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="address-setting">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="address-setting">
- <xsd:complexType>
- <xsd:all>
- <xsd:element maxOccurs="1" minOccurs="0" name="dead-letter-address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="expiry-address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="redelivery-delay" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="max-delivery-attempts" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="max-size-bytes" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="page-size-bytes" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="address-full-policy" type="addressFullMessagePolicyType">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="message-counter-history-day-limit" type="xsd:int">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="last-value-queue" type="xsd:boolean">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="redistribution-delay" type="xsd:long">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="send-to-dla-on-no-route" type="xsd:boolean">
- </xsd:element>
- </xsd:all>
- <xsd:attribute name="match" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="queues">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="queue">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="queue">
- <xsd:complexType>
- <xsd:all>
- <xsd:element maxOccurs="1" minOccurs="1" name="address" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="filter">
- <xsd:complexType>
- <xsd:attribute name="string" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
- <xsd:element maxOccurs="1" minOccurs="0" name="durable" type="xsd:boolean">
- </xsd:element>
- </xsd:all>
- <xsd:attribute name="name" type="xsd:ID" use="required"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="backup-connectorType">
- <xsd:attribute name="connector-name" type="xsd:IDREF" use="required">
- </xsd:attribute>
- </xsd:complexType>
-
- <xsd:simpleType name="addressFullMessagePolicyType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="DROP"/>
- <xsd:enumeration value="PAGE"/>
- <xsd:enumeration value="BLOCK"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:complexType name="connectorServiceType">
- <xsd:sequence>
- <xsd:element maxOccurs="1" minOccurs="1" name="factory-class" type="xsd:string">
- </xsd:element>
- <xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType">
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="optional"/>
- </xsd:complexType>
-
-</xsd:schema>
Deleted: branches/maven-move/src/config/common/schema/hornetq-jms.xsd
===================================================================
--- branches/maven-move/src/config/common/schema/hornetq-jms.xsd 2010-07-08 15:05:36 UTC (rev 9385)
+++ branches/maven-move/src/config/common/schema/hornetq-jms.xsd 2010-07-09 03:10:45 UTC (rev 9386)
@@ -1,177 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="urn:hornetq"
- xmlns="urn:hornetq"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="1.0">
-
- <xsd:element name="configuration">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="connection-factory"
- maxOccurs="unbounded" minOccurs="0">
- </xsd:element>
- <xsd:choice maxOccurs="unbounded" minOccurs="0">
- <xsd:element ref="queue" maxOccurs="1"
- minOccurs="1">
- </xsd:element>
- <xsd:element ref="topic" maxOccurs="1" minOccurs="1"></xsd:element>
- </xsd:choice>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="connection-factory">
- <xsd:complexType>
- <xsd:all>
- <xsd:element name="discovery-group-ref" type="discovery-group-refType" maxOccurs="1" minOccurs="0"></xsd:element>
- <xsd:element name="discovery-initial-wait-timeout" type="xsd:long" maxOccurs="1" minOccurs="0"></xsd:element>
-
- <xsd:element name="connectors" maxOccurs="1" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="connector-ref" type="connector-refType"
- maxOccurs="unbounded" minOccurs="1"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="entries" maxOccurs="1" minOccurs="0">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="entry" type="entryType"
- maxOccurs="unbounded" minOccurs="1">
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="client-failure-check-period" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="connection-ttl" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="call-timeout" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="consumer-window-size" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="consumer-max-rate" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="confirmation-window-size" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="producer-window-size" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="producer-max-rate" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="cache-large-message-client" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="min-large-message-size" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="client-id" type="xsd:string"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="dups-ok-batch-size" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="transaction-batch-size" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="block-on-acknowledge" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="block-on-non-durable-send" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="block-on-durable-send" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="auto-group" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="pre-acknowledge" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="retry-interval" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="retry-interval-multiplier" type="xsd:float"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="max-retry-interval" type="xsd:long"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="reconnect-attempts" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="failover-on-initial-connection" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="failover-on-server-shutdown" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="connection-load-balancing-policy-class-name" type="xsd:string"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="use-global-pools" type="xsd:boolean"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="scheduled-thread-pool-max-size" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="thread-pool-max-size" type="xsd:int"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- <xsd:element name="group-id" type="xsd:string"
- maxOccurs="1" minOccurs="0">
- </xsd:element>
- </xsd:all>
- <xsd:attribute name="name" type="xsd:string"></xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="connector-refType">
- <xsd:attribute name="connector-name" type="xsd:string" use="required"></xsd:attribute>
- <xsd:attribute name="backup-connector-name" type="xsd:string" use="optional"></xsd:attribute>
- </xsd:complexType>
-
- <xsd:complexType name="entryType">
- <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
-
- <xsd:complexType name="discovery-group-refType">
- <xsd:attribute name="discovery-group-name" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
-
- <xsd:element name="queue" type="queueType"></xsd:element>
-
- <xsd:element name="topic" type="topicType"></xsd:element>
-
- <xsd:complexType name="queueType">
- <xsd:sequence>
- <xsd:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"></xsd:element>
- <xsd:element name="selector" maxOccurs="1" minOccurs="0">
- <xsd:complexType>
- <xsd:attribute name="string" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="durable" type="xsd:boolean" maxOccurs="1" minOccurs="0"></xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
-
- <xsd:complexType name="topicType">
- <xsd:sequence>
- <xsd:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"></xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
-</xsd:schema>
Deleted: branches/maven-move/src/config/common/schema/hornetq-users.xsd
===================================================================
--- branches/maven-move/src/config/common/schema/hornetq-users.xsd 2010-07-08 15:05:36 UTC (rev 9385)
+++ branches/maven-move/src/config/common/schema/hornetq-users.xsd 2010-07-09 03:10:45 UTC (rev 9386)
@@ -1,32 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="urn:hornetq"
- xmlns="urn:hornetq"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="1.0">
-
- <xsd:element name="configuration">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="defaultuser" type="userType" maxOccurs="1" minOccurs="0"></xsd:element>
- <xsd:element name="user" type="userType" maxOccurs="unbounded" minOccurs="0"></xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="role">
- <xsd:complexType>
- <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="userType">
- <xsd:sequence>
- <xsd:element ref="role" maxOccurs="unbounded" minOccurs="1"></xsd:element>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:ID" use="required"></xsd:attribute>
- <xsd:attribute name="password" type="xsd:string"></xsd:attribute>
- </xsd:complexType>
-</xsd:schema>
Deleted: branches/maven-move/src/config/ra.xml
===================================================================
--- branches/maven-move/src/config/ra.xml 2010-07-08 15:05:36 UTC (rev 9385)
+++ branches/maven-move/src/config/ra.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -1,280 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id: ra.xml 76819 2008-08-08 11:04:20Z jesper.pedersen $ -->
-
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
- version="1.5">
-
- <description>HornetQ 2.0 Resource Adapter</description>
- <display-name>HornetQ 2.0 Resource Adapter</display-name>
-
- <vendor-name>Red Hat Middleware LLC</vendor-name>
- <eis-type>JMS 1.1 Server</eis-type>
- <resourceadapter-version>1.0</resourceadapter-version>
-
- <license>
- <description>
-Copyright 2009 Red Hat, Inc.
- Red Hat licenses this file to you under the Apache License, version
- 2.0 (the "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied. See the License for the specific language governing
- permissions and limitations under the License.
- </description>
- <license-required>true</license-required>
- </license>
-
- <resourceadapter>
- <resourceadapter-class>org.hornetq.ra.HornetQResourceAdapter</resourceadapter-class>
- <config-property>
- <description>The transport type</description>
- <config-property-name>ConnectorClassName</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value>org.hornetq.core.remoting.impl.invm.InVMConnectorFactory</config-property-value>
- </config-property>
- <config-property>
- <description>The transport configuration. These values must be in the form of key=val;key=val;</description>
- <config-property-name>ConnectionParameters</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value>server-id=0</config-property-value>
- </config-property>
- <!--
- <config-property>
- <description>The method to use for locating the transactionmanager</description>
- <config-property-name>TransactionManagerLocatorMethod</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value>getTm</config-property-value>
- </config-property>
- <config-property>
- <description>Use A local Transaction instead of XA?</description>
- <config-property-name>UseLocalTx</config-property-name>
- <config-property-type>java.lang.Boolean</config-property-type>
- <config-property-value>false</config-property-value>
- </config-property>
- <config-property>
- <description>The user name used to login to the JMS server</description>
- <config-property-name>UserName</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The password used to login to the JMS server</description>
- <config-property-name>Password</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The Backup transport type</description>
- <config-property-name>BackUpTransportType</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The Backup transport configuration. These values must be in the form of key=val;key=val;</description>
- <config-property-name>TransportConfiguration</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The discovery group address</description>
- <config-property-name>DiscoveryGroupAddress</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The discovery group port</description>
- <config-property-name>DiscoveryGroupPort</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The discovery refresh timeout</description>
- <config-property-name>DiscoveryRefreshTimeout</config-property-name>
- <config-property-type>java.lang.Long</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The discovery initial wait timeout</description>
- <config-property-name>DiscoveryInitialWaitTimeout</config-property-name>
- <config-property-type>java.lang.Long</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The load balancing policy class name</description>
- <config-property-name>LoadBalancingPolicyClassName</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The client failure check period</description>
- <config-property-name>ClientFailureCheckPeriod</config-property-name>
- <config-property-type>java.lang.Long</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The connection TTL</description>
- <config-property-name>ConnectionTTL</config-property-name>
- <config-property-type>java.lang.Long</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The call timeout</description>
- <config-property-name>CallTimeout</config-property-name>
- <config-property-type>java.lang.Long</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The dups ok batch size</description>
- <config-property-name>DupsOKBatchSize</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The transaction batch size</description>
- <config-property-name>TransactionBatchSize</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The consumer window size</description>
- <config-property-name>ConsumerWindowSize</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The consumer max rate</description>
- <config-property-name>ConsumerMaxRate</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The confirmation window size</description>
- <config-property-name>ConfirmationWindowSize</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The producer max rate</description>
- <config-property-name>ProducerMaxRate</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The min large message size</description>
- <config-property-name>MinLargeMessageSize</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The block on acknowledge</description>
- <config-property-name>BlockOnAcknowledge</config-property-name>
- <config-property-type>java.lang.Boolean</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The block on non durable send</description>
- <config-property-name>BlockOnNonDurableSend</config-property-name>
- <config-property-type>java.lang.Boolean</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The block on durable send</description>
- <config-property-name>BlockOnDurableSend</config-property-name>
- <config-property-type>java.lang.Boolean</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The auto group</description>
- <config-property-name>AutoGroup</config-property-name>
- <config-property-type>java.lang.Boolean</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The max connections</description>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The pre acknowledge</description>
- <config-property-name>PreAcknowledge</config-property-name>
- <config-property-type>java.lang.Boolean</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The retry interval</description>
- <config-property-name>RetryInterval</config-property-name>
- <config-property-type>java.lang.Long</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The retry interval multiplier</description>
- <config-property-name>RetryIntervalMultiplier</config-property-name>
- <config-property-type>java.lang.Double</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>Should clean server shutdown trigger failover?</description>
- <config-property-name>FailoverOnServerShutdown</config-property-name>
- <config-property-type>java.lang.Boolean</config-property-type>
- <config-property-value></config-property-value>
- </config-property>
- <config-property>
- <description>The client id</description>
- <config-property-name>ClientID</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value></config-property-value>
- </config-property>-->
-
- <outbound-resourceadapter>
- <connection-definition>
- <managedconnectionfactory-class>org.hornetq.ra.HornetQRAManagedConnectionFactory</managedconnectionfactory-class>
-
- <config-property>
- <description>The default session type</description>
- <config-property-name>SessionDefaultType</config-property-name>
- <config-property-type>java.lang.String</config-property-type>
- <config-property-value>javax.jms.Queue</config-property-value>
- </config-property>
- <config-property>
- <description>Try to obtain a lock within specified number of seconds; less than or equal to 0 disable this functionality</description>
- <config-property-name>UseTryLock</config-property-name>
- <config-property-type>java.lang.Integer</config-property-type>
- <config-property-value>0</config-property-value>
- </config-property>
-
- <connectionfactory-interface>org.hornetq.ra.HornetQRAConnectionFactory</connectionfactory-interface>
- <connectionfactory-impl-class>org.hornetq.ra.HornetQRAConnectionFactoryImpl</connectionfactory-impl-class>
- <connection-interface>javax.jms.Session</connection-interface>
- <connection-impl-class>org.hornetq.ra.HornetQRASession</connection-impl-class>
- </connection-definition>
- <transaction-support>XATransaction</transaction-support>
- <authentication-mechanism>
- <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
- <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
- </authentication-mechanism>
- <reauthentication-support>false</reauthentication-support>
- </outbound-resourceadapter>
-
- <inbound-resourceadapter>
- <messageadapter>
- <messagelistener>
- <messagelistener-type>javax.jms.MessageListener</messagelistener-type>
- <activationspec>
- <activationspec-class>org.hornetq.ra.inflow.HornetQActivationSpec</activationspec-class>
- <required-config-property>
- <config-property-name>destination</config-property-name>
- </required-config-property>
- </activationspec>
- </messagelistener>
- </messageadapter>
- </inbound-resourceadapter>
-
- </resourceadapter>
-</connector>
Added: branches/maven-move/tests/test-util-jar/pom.xml
===================================================================
--- branches/maven-move/tests/test-util-jar/pom.xml (rev 0)
+++ branches/maven-move/tests/test-util-jar/pom.xml 2010-07-09 03:10:45 UTC (rev 9386)
@@ -0,0 +1,35 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-pom</artifactId>
+ <version>2.1.2-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.hornetq</groupId>
+ <artifactId>hornetq-core</artifactId>
+ <packaging>jar</packaging>
+ <name>HornetQ Core</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
13 years, 11 months
JBoss hornetq SVN: r9385 - branches.
by do-not-reply@jboss.org
Author: bill.burke(a)jboss.com
Date: 2010-07-08 11:05:36 -0400 (Thu, 08 Jul 2010)
New Revision: 9385
Added:
branches/maven-move/
Log:
maven changes
Copied: branches/maven-move (from rev 9384, trunk)
13 years, 11 months
JBoss hornetq SVN: r9383 - in trunk: tests/src/org/hornetq/tests/integration/ra and 1 other directory.
by do-not-reply@jboss.org
Author: ataylor
Date: 2010-07-07 10:06:50 -0400 (Wed, 07 Jul 2010)
New Revision: 9383
Added:
trunk/tests/src/org/hornetq/tests/integration/ra/OutgoingConnectionTest.java
trunk/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java
Modified:
trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java
trunk/tests/src/org/hornetq/tests/integration/ra/HornetQMessageHandlerTest.java
Log:
HORNETQ-140 - JCA Integration more tests and a couple of tweaks
Modified: trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java
===================================================================
--- trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2010-07-07 12:50:27 UTC (rev 9382)
+++ trunk/src/main/org/hornetq/ra/HornetQResourceAdapter.java 2010-07-07 14:06:50 UTC (rev 9383)
@@ -411,36 +411,6 @@
}
/**
- * Get load balancing policy class name
- *
- * @return The value
- */
- public String getLoadBalancingPolicyClassName()
- {
- if (HornetQResourceAdapter.trace)
- {
- HornetQResourceAdapter.log.trace("getLoadBalancingPolicyClassName()");
- }
-
- return raProperties.getConnectionLoadBalancingPolicyClassName();
- }
-
- /**
- * Set load balancing policy class name
- *
- * @param loadBalancingPolicyClassName The value
- */
- public void setLoadBalancingPolicyClassName(final String loadBalancingPolicyClassName)
- {
- if (HornetQResourceAdapter.trace)
- {
- HornetQResourceAdapter.log.trace("setLoadBalancingPolicyClassName(" + loadBalancingPolicyClassName + ")");
- }
-
- raProperties.setConnectionLoadBalancingPolicyClassName(loadBalancingPolicyClassName);
- }
-
- /**
* Get client failure check period
*
* @return The value
Modified: trunk/tests/src/org/hornetq/tests/integration/ra/HornetQMessageHandlerTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/ra/HornetQMessageHandlerTest.java 2010-07-07 12:50:27 UTC (rev 9382)
+++ trunk/tests/src/org/hornetq/tests/integration/ra/HornetQMessageHandlerTest.java 2010-07-07 14:06:50 UTC (rev 9383)
@@ -19,6 +19,8 @@
import org.hornetq.core.postoffice.impl.LocalQueueBinding;
import org.hornetq.ra.HornetQResourceAdapter;
import org.hornetq.ra.inflow.HornetQActivationSpec;
+
+import javax.jms.Message;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -63,6 +65,58 @@
qResourceAdapter.endpointDeactivation(endpointFactory, spec);
}
+ public void testInvalidAckMode() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ try
+ {
+ spec.setAcknowledgeMode("CLIENT_ACKNOWLEDGE");
+ fail("should throw exception");
+ }
+ catch (java.lang.IllegalArgumentException e)
+ {
+ //pass
+ }
+ }
+
+ public void testSimpleMessageReceivedOnQueueInLocalTX() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setUseLocalTx(true);
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestinationType("javax.jms.Queue");
+ spec.setDestination(MDBQUEUE);
+ qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
+ CountDownLatch latch = new CountDownLatch(1);
+ ExceptionDummyMessageEndpoint endpoint = new ExceptionDummyMessageEndpoint(latch);
+ DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
+ qResourceAdapter.endpointActivation(endpointFactory, spec);
+ ClientSession session = createFactory(false).createSession();
+ ClientProducer clientProducer = session.createProducer(MDBQUEUEPREFIXED);
+ ClientMessage message = session.createMessage(true);
+ message.getBodyBuffer().writeString("teststring");
+ clientProducer.send(message);
+ session.close();
+ latch.await(5, TimeUnit.SECONDS);
+
+ assertNull(endpoint.lastMessage);
+ latch = new CountDownLatch(1);
+ endpoint.reset(latch);
+ latch.await(5, TimeUnit.SECONDS);
+
+ assertNotNull(endpoint.lastMessage);
+ assertEquals(endpoint.lastMessage.getCoreMessage().getBodyBuffer().readString(), "teststring");
+
+ qResourceAdapter.endpointDeactivation(endpointFactory, spec);
+ }
+
public void testSimpleMessageReceivedOnQueueWithSelector() throws Exception
{
HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
@@ -376,5 +430,24 @@
}
+ class ExceptionDummyMessageEndpoint extends DummyMessageEndpoint
+ {
+ boolean throwException = true;
+ public ExceptionDummyMessageEndpoint(CountDownLatch latch)
+ {
+ super(latch);
+ }
+
+ @Override
+ public void onMessage(Message message)
+ {
+ if(throwException)
+ {
+ throwException = false;
+ throw new IllegalStateException("boo!");
+ }
+ super.onMessage(message);
+ }
+ }
}
Added: trunk/tests/src/org/hornetq/tests/integration/ra/OutgoingConnectionTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/ra/OutgoingConnectionTest.java (rev 0)
+++ trunk/tests/src/org/hornetq/tests/integration/ra/OutgoingConnectionTest.java 2010-07-07 14:06:50 UTC (rev 9383)
@@ -0,0 +1,212 @@
+/*
+ * Copyright 2009 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package org.hornetq.tests.integration.ra;
+
+import org.hornetq.api.core.client.HornetQClient;
+import org.hornetq.api.jms.HornetQJMSClient;
+import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
+import org.hornetq.core.security.Role;
+import org.hornetq.core.transaction.impl.XidImpl;
+import org.hornetq.ra.*;
+import org.hornetq.utils.UUIDGenerator;
+
+import javax.jms.*;
+import javax.jms.IllegalStateException;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:andy.taylor@jboss.org">Andy Taylor</a>
+ * Created Jul 7, 2010
+ */
+public class OutgoingConnectionTest extends HornetQRATestBase
+{
+ @Override
+ public boolean isSecure()
+ {
+ return true;
+ }
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ server.getSecurityManager().addUser("testuser", "testpassword");
+ server.getSecurityManager().addUser("guest", "guest");
+ server.getSecurityManager().setDefaultUser("guest");
+ server.getSecurityManager().addRole("testuser", "arole");
+ server.getSecurityManager().addRole("guest", "arole");
+ Role role = new Role("arole", true, true, true, true, true, true, true);
+ Set<Role> roles = new HashSet<Role>();
+ roles.add(role);
+ server.getSecurityRepository().addMatch(MDBQUEUEPREFIXED, roles);
+ }
+
+ public void testSimpleMessageSendAndReceive() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName());
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQRAConnectionManager qraConnectionManager = new HornetQRAConnectionManager();
+ HornetQRAManagedConnectionFactory mcf = new HornetQRAManagedConnectionFactory();
+ mcf.setResourceAdapter(qResourceAdapter);
+ HornetQRAConnectionFactory qraConnectionFactory = new HornetQRAConnectionFactoryImpl(mcf, qraConnectionManager);
+ QueueConnection queueConnection = qraConnectionFactory.createQueueConnection();
+ Session s = queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue q = HornetQJMSClient.createQueue(MDBQUEUE);
+ MessageProducer mp = s.createProducer(q);
+ MessageConsumer consumer = s.createConsumer(q);
+ Message message = s.createTextMessage("test");
+ mp.send(message);
+ queueConnection.start();
+ TextMessage textMessage = (TextMessage) consumer.receive(1000);
+ assertNotNull(textMessage);
+ assertEquals(textMessage.getText(), "test");
+ s.close();
+ }
+
+ public void testSimpleMessageSendAndReceiveXA() throws Exception
+ {
+ Xid xid = new XidImpl("xa1".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName());
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQRAConnectionManager qraConnectionManager = new HornetQRAConnectionManager();
+ HornetQRAManagedConnectionFactory mcf = new HornetQRAManagedConnectionFactory();
+ mcf.setResourceAdapter(qResourceAdapter);
+ HornetQRAConnectionFactory qraConnectionFactory = new HornetQRAConnectionFactoryImpl(mcf, qraConnectionManager);
+ XAQueueConnection queueConnection = qraConnectionFactory.createXAQueueConnection();
+ XASession s = queueConnection.createXASession();
+
+ XAResource resource = s.getXAResource();
+ resource.start(xid, XAResource.TMNOFLAGS);
+ Queue q = HornetQJMSClient.createQueue(MDBQUEUE);
+ MessageProducer mp = s.createProducer(q);
+ MessageConsumer consumer = s.createConsumer(q);
+ Message message = s.createTextMessage("test");
+ mp.send(message);
+ queueConnection.start();
+ TextMessage textMessage = (TextMessage) consumer.receiveNoWait();
+ assertNull(textMessage);
+ resource.end(xid, XAResource.TMSUCCESS);
+ resource.commit(xid, true);
+ resource.start(xid, XAResource.TMNOFLAGS);
+ textMessage = (TextMessage) consumer.receiveNoWait();
+ resource.end(xid, XAResource.TMSUCCESS);
+ resource.commit(xid, true);
+ assertNotNull(textMessage);
+ assertEquals(textMessage.getText(), "test");
+ s.close();
+ }
+
+ public void testSimpleMessageSendAndReceiveTransacted() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName());
+ qResourceAdapter.setUseLocalTx(true);
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQRAConnectionManager qraConnectionManager = new HornetQRAConnectionManager();
+ HornetQRAManagedConnectionFactory mcf = new HornetQRAManagedConnectionFactory();
+ mcf.setResourceAdapter(qResourceAdapter);
+ HornetQRAConnectionFactory qraConnectionFactory = new HornetQRAConnectionFactoryImpl(mcf, qraConnectionManager);
+ QueueConnection queueConnection = qraConnectionFactory.createQueueConnection();
+ Session s = queueConnection.createSession(true, Session.AUTO_ACKNOWLEDGE);
+ Queue q = HornetQJMSClient.createQueue(MDBQUEUE);
+ MessageProducer mp = s.createProducer(q);
+ MessageConsumer consumer = s.createConsumer(q);
+ Message message = s.createTextMessage("test");
+ mp.send(message);
+ s.commit();
+ queueConnection.start();
+ TextMessage textMessage = (TextMessage) consumer.receive(1000);
+ assertNotNull(textMessage);
+ assertEquals(textMessage.getText(), "test");
+ s.rollback();
+ textMessage = (TextMessage) consumer.receive(1000);
+ assertNotNull(textMessage);
+ assertEquals(textMessage.getText(), "test");
+ s.commit();
+ s.close();
+ }
+
+ public void testMultipleSessionsThrowsException() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName());
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQRAConnectionManager qraConnectionManager = new HornetQRAConnectionManager();
+ HornetQRAManagedConnectionFactory mcf = new HornetQRAManagedConnectionFactory();
+ mcf.setResourceAdapter(qResourceAdapter);
+ HornetQRAConnectionFactory qraConnectionFactory = new HornetQRAConnectionFactoryImpl(mcf, qraConnectionManager);
+ QueueConnection queueConnection = qraConnectionFactory.createQueueConnection();
+ Session s = queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ try
+ {
+ Session s2 = queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ fail("should throw javax,jms.IllegalStateException: Only allowed one session per connection. See the J2EE spec, e.g. J2EE1.4 Section 6.6");
+ }
+ catch (JMSException e)
+ {
+ assertTrue(e.getLinkedException() instanceof IllegalStateException);
+ }
+ s.close();
+ }
+
+ public void testConnectionCredentials() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName());
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQRAConnectionManager qraConnectionManager = new HornetQRAConnectionManager();
+ HornetQRAManagedConnectionFactory mcf = new HornetQRAManagedConnectionFactory();
+ mcf.setResourceAdapter(qResourceAdapter);
+ HornetQRAConnectionFactory qraConnectionFactory = new HornetQRAConnectionFactoryImpl(mcf, qraConnectionManager);
+ QueueConnection queueConnection = qraConnectionFactory.createQueueConnection();
+ queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE).close();
+ queueConnection.close();
+ queueConnection = qraConnectionFactory.createQueueConnection("testuser", "testpassword");
+ queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE).close();
+ }
+
+ public void testConnectionCredentialsFail() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ qResourceAdapter.setConnectorClassName(InVMConnectorFactory.class.getName());
+ MyBootstrapContext ctx = new MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQRAConnectionManager qraConnectionManager = new HornetQRAConnectionManager();
+ HornetQRAManagedConnectionFactory mcf = new HornetQRAManagedConnectionFactory();
+ mcf.setResourceAdapter(qResourceAdapter);
+ HornetQRAConnectionFactory qraConnectionFactory = new HornetQRAConnectionFactoryImpl(mcf, qraConnectionManager);
+ QueueConnection queueConnection = qraConnectionFactory.createQueueConnection();
+ queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE).close();
+ queueConnection.close();
+ queueConnection = qraConnectionFactory.createQueueConnection("testuser", "testwrongpassword");
+ try
+ {
+ queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE).close();
+ fail("should throw esxception");
+ }
+ catch (JMSException e)
+ {
+ //pass
+ }
+ }
+}
Added: trunk/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java (rev 0)
+++ trunk/tests/src/org/hornetq/tests/integration/ra/ResourceAdapterTest.java 2010-07-07 14:06:50 UTC (rev 9383)
@@ -0,0 +1,198 @@
+/*
+ * Copyright 2009 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package org.hornetq.tests.integration.ra;
+
+import org.hornetq.ra.HornetQResourceAdapter;
+import org.hornetq.ra.inflow.HornetQActivationSpec;
+import org.hornetq.tests.util.ServiceTestBase;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.BootstrapContext;
+import javax.resource.spi.ResourceAdapterInternalException;
+import javax.resource.spi.UnavailableException;
+import javax.resource.spi.XATerminator;
+import javax.resource.spi.endpoint.MessageEndpoint;
+import javax.resource.spi.endpoint.MessageEndpointFactory;
+import javax.resource.spi.work.WorkManager;
+import javax.transaction.xa.XAResource;
+import java.lang.reflect.Method;
+import java.util.Timer;
+import java.util.concurrent.CountDownLatch;
+
+/**
+ * @author <a href="mailto:andy.taylor@jboss.org">Andy Taylor</a>
+ * Created Jul 7, 2010
+ */
+public class ResourceAdapterTest extends HornetQRATestBase
+{
+ public void testStartStop() throws Exception
+ {
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ HornetQRATestBase.MyBootstrapContext ctx = new HornetQRATestBase.MyBootstrapContext();
+ qResourceAdapter.start(ctx);
+ HornetQActivationSpec spec = new HornetQActivationSpec();
+ spec.setResourceAdapter(qResourceAdapter);
+ spec.setUseJNDI(false);
+ spec.setDestinationType("javax.jms.Queue");
+ spec.setDestination(MDBQUEUE);
+ qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
+ CountDownLatch latch = new CountDownLatch(1);
+ DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
+ DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
+ qResourceAdapter.endpointActivation(endpointFactory, spec);
+ qResourceAdapter.stop();
+ assertTrue(endpoint.released);
+ }
+
+ public void testSetters() throws Exception
+ {
+ Boolean b = Boolean.TRUE;
+ Long l = (long) 1000;
+ Integer i = 1000;
+ Double d = (double) 1000;
+ String className = "testConnector";
+ String backupConn = "testBackupConnector";
+ String testConfig = "key=val";
+ String testid = "testid";
+ String testBalancer = "testBalancer";
+ String testParams = "key=val";
+ String testaddress = "testaddress";
+ String loadbalancer = "loadbalancer";
+ String testpass = "testpass";
+ String testuser = "testuser";
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ testParams(b, l, i, d, className, backupConn, testConfig, testid, testBalancer, testParams, testaddress, testpass, testuser, qResourceAdapter);
+ }
+
+ public void testSetters2() throws Exception
+ {
+ Boolean b = Boolean.FALSE;
+ Long l = (long) 2000;
+ Integer i = 2000;
+ Double d = (double) 2000;
+ String className = "testConnector2";
+ String backupConn = "testBackupConnector2";
+ String testConfig = "key2=val2";
+ String testid = "testid2";
+ String testBalancer = "testBalancer2";
+ String testParams = "key=val2";
+ String testaddress = "testaddress2";
+ String loadbalancer = "loadbalancer2";
+ String testpass = "testpass2";
+ String testuser = "testuser2";
+ HornetQResourceAdapter qResourceAdapter = new HornetQResourceAdapter();
+ testParams(b, l, i, d, className, backupConn, testConfig, testid, testBalancer, testParams, testaddress, testpass, testuser, qResourceAdapter);
+ }
+
+
+ private void testParams(Boolean b, Long l, Integer i, Double d, String className, String backupConn, String testConfig, String testid, String testBalancer, String testParams, String testaddress, String testpass, String testuser, HornetQResourceAdapter qResourceAdapter)
+ {
+ qResourceAdapter.setUseLocalTx(b);
+ qResourceAdapter.setConnectorClassName(className);
+ qResourceAdapter.setAutoGroup(b);
+ qResourceAdapter.setBackupConnectorClassName(backupConn);
+ qResourceAdapter.setBackupTransportConfiguration(testConfig);
+ qResourceAdapter.setBlockOnAcknowledge(b);
+ qResourceAdapter.setBlockOnDurableSend(b);
+ qResourceAdapter.setBlockOnNonDurableSend(b);
+ qResourceAdapter.setCallTimeout(l);
+ qResourceAdapter.setClientFailureCheckPeriod(l);
+ qResourceAdapter.setClientID(testid);
+ qResourceAdapter.setConfirmationWindowSize(i);
+ qResourceAdapter.setConnectionLoadBalancingPolicyClassName(testBalancer);
+ qResourceAdapter.setConnectionParameters(testParams);
+ qResourceAdapter.setConnectionTTL(l);
+ qResourceAdapter.setConsumerMaxRate(i);
+ qResourceAdapter.setConsumerWindowSize(i);
+ qResourceAdapter.setDiscoveryAddress(testaddress);
+ qResourceAdapter.setDiscoveryInitialWaitTimeout(l);
+ qResourceAdapter.setDiscoveryPort(i);
+ qResourceAdapter.setDiscoveryRefreshTimeout(l);
+ qResourceAdapter.setDupsOKBatchSize(i);
+ qResourceAdapter.setFailoverOnServerShutdown(b);
+ qResourceAdapter.setMinLargeMessageSize(i);
+ qResourceAdapter.setPassword(testpass);
+ qResourceAdapter.setPreAcknowledge(b);
+ qResourceAdapter.setProducerMaxRate(i);
+ qResourceAdapter.setReconnectAttempts(i);
+ qResourceAdapter.setRetryInterval(l);
+ qResourceAdapter.setRetryIntervalMultiplier(d);
+ qResourceAdapter.setScheduledThreadPoolMaxSize(i);
+ qResourceAdapter.setThreadPoolMaxSize(i);
+ qResourceAdapter.setTransactionBatchSize(i);
+ qResourceAdapter.setUseGlobalPools(b);
+ qResourceAdapter.setUseLocalTx(b);
+ qResourceAdapter.setUserName(testuser);
+
+ assertEquals(qResourceAdapter.getUseLocalTx(), b);
+ assertEquals(qResourceAdapter.getConnectorClassName(), className);
+ assertEquals(qResourceAdapter.getAutoGroup(), b);
+ assertEquals(qResourceAdapter.getBackupConnectorClassName(), backupConn);
+ //assertEquals(qResourceAdapter.getBackupTransportConfiguration(),"testConfig");
+ assertEquals(qResourceAdapter.getBlockOnAcknowledge(), b);
+ assertEquals(qResourceAdapter.getBlockOnDurableSend(), b);
+ assertEquals(qResourceAdapter.getBlockOnNonDurableSend(), b);
+ assertEquals(qResourceAdapter.getCallTimeout(), l);
+ assertEquals(qResourceAdapter.getClientFailureCheckPeriod(), l);
+ assertEquals(qResourceAdapter.getClientID(), testid);
+ assertEquals(qResourceAdapter.getConfirmationWindowSize(), i);
+ assertEquals(qResourceAdapter.getConnectionLoadBalancingPolicyClassName(), testBalancer);
+ assertEquals(qResourceAdapter.getConnectionParameters(), testParams);
+ assertEquals(qResourceAdapter.getConnectionTTL(), l);
+ assertEquals(qResourceAdapter.getConsumerMaxRate(), i);
+ assertEquals(qResourceAdapter.getConsumerWindowSize(), i);
+ assertEquals(qResourceAdapter.getDiscoveryAddress(), testaddress);
+ assertEquals(qResourceAdapter.getDiscoveryInitialWaitTimeout(), l);
+ assertEquals(qResourceAdapter.getDiscoveryPort(), i);
+ assertEquals(qResourceAdapter.getDiscoveryRefreshTimeout(), l);
+ assertEquals(qResourceAdapter.getDupsOKBatchSize(), i);
+ assertEquals(qResourceAdapter.getFailoverOnServerShutdown(), b);
+ assertEquals(qResourceAdapter.getMinLargeMessageSize(), i);
+ assertEquals(qResourceAdapter.getPassword(), testpass);
+ assertEquals(qResourceAdapter.getPreAcknowledge(), b);
+ assertEquals(qResourceAdapter.getProducerMaxRate(), i);
+ assertEquals(qResourceAdapter.getReconnectAttempts(), i);
+ assertEquals(qResourceAdapter.getRetryInterval(), l);
+ assertEquals(qResourceAdapter.getRetryIntervalMultiplier(), d);
+ assertEquals(qResourceAdapter.getScheduledThreadPoolMaxSize(), i);
+ assertEquals(qResourceAdapter.getThreadPoolMaxSize(), i);
+ assertEquals(qResourceAdapter.getTransactionBatchSize(), i);
+ assertEquals(qResourceAdapter.getUseGlobalPools(), b);
+ assertEquals(qResourceAdapter.getUseLocalTx(), b);
+ assertEquals(qResourceAdapter.getUserName(), testuser);
+ }
+
+ @Override
+ public boolean isSecure()
+ {
+ return false;
+ }
+
+ class DummyEndpoint implements MessageEndpoint
+ {
+ public void beforeDelivery(Method method) throws NoSuchMethodException, ResourceException
+ {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public void afterDelivery() throws ResourceException
+ {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public void release()
+ {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+ }
+}
13 years, 11 months
JBoss hornetq SVN: r9382 - trunk/tests/src/org/hornetq/tests/integration/management.
by do-not-reply@jboss.org
Author: jmesnil
Date: 2010-07-07 08:50:27 -0400 (Wed, 07 Jul 2010)
New Revision: 9382
Modified:
trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java
Log:
fix testCreateAndDestroyBridge intermittent failures
Modified: trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java 2010-07-07 08:16:50 UTC (rev 9381)
+++ trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java 2010-07-07 12:50:27 UTC (rev 9382)
@@ -627,6 +627,7 @@
BridgeControl bridgeControl = ManagementControlHelper.createBridgeControl(name, mbeanServer);
assertEquals(name, bridgeControl.getName());
+ assertTrue(bridgeControl.isStarted());
// check that a message sent to the sourceAddress is put in the tagetQueue
ClientProducer producer = session.createProducer(sourceAddress);
@@ -635,16 +636,15 @@
message.putStringProperty("prop", text);
producer.send(message);
- ClientConsumer sourceConsumer = session.createConsumer(sourceQueue);
- ClientConsumer targetConsumer = session.createConsumer(targetQueue);
-
session.start();
+ ClientConsumer targetConsumer = session.createConsumer(targetQueue);
message = targetConsumer.receive(5000);
assertNotNull(message);
assertEquals(text, message.getStringProperty("prop"));
+
+ ClientConsumer sourceConsumer = session.createConsumer(sourceQueue);
assertNull(sourceConsumer.receiveImmediate());
-
serverControl.destroyBridge(name);
13 years, 11 months