JBoss hornetq SVN: r10652 - trunk/tests/jms-tests.
by do-not-reply@jboss.org
Author: borges
Date: 2011-05-13 05:35:05 -0400 (Fri, 13 May 2011)
New Revision: 10652
Modified:
trunk/tests/jms-tests/pom.xml
Log:
mvn: Fix incorrect dependency scope
Modified: trunk/tests/jms-tests/pom.xml
===================================================================
--- trunk/tests/jms-tests/pom.xml 2011-05-13 05:35:39 UTC (rev 10651)
+++ trunk/tests/jms-tests/pom.xml 2011-05-13 09:35:05 UTC (rev 10652)
@@ -16,7 +16,7 @@
<groupId>org.hornetq.tests</groupId>
<artifactId>unit-tests</artifactId>
<version>${project.version}</version>
- <scope>compile</scope>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.hornetq</groupId>
15 years
JBoss hornetq SVN: r10651 - in branches/Branch_2_2_EAP: tests/src/org/hornetq/tests/unit/core/paging/impl and 1 other directory.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2011-05-13 01:35:39 -0400 (Fri, 13 May 2011)
New Revision: 10651
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreFactoryNIO.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreImpl.java
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/unit/core/paging/impl/PagingStoreImplTest.java
Log:
JBPAPP-6466 - small tweaks only
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreFactoryNIO.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreFactoryNIO.java 2011-05-13 05:14:47 UTC (rev 10650)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreFactoryNIO.java 2011-05-13 05:35:39 UTC (rev 10651)
@@ -106,12 +106,11 @@
syncTimeout,
pagingManager,
storageManager,
- postOffice,
null,
this,
address,
settings,
- executorFactory,
+ executorFactory.getExecutor(),
syncNonTransactional);
}
@@ -212,12 +211,11 @@
syncTimeout,
pagingManager,
storageManager,
- postOffice,
factory,
this,
address,
settings,
- executorFactory,
+ executorFactory.getExecutor(),
syncNonTransactional);
storesReturn.add(store);
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreImpl.java 2011-05-13 05:14:47 UTC (rev 10650)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreImpl.java 2011-05-13 05:35:39 UTC (rev 10651)
@@ -81,8 +81,6 @@
private final StorageManager storageManager;
- private final PostOffice postOffice;
-
private final DecimalFormat format = new DecimalFormat("000000000");
private final AtomicInteger currentPageSize = new AtomicInteger(0);
@@ -149,12 +147,11 @@
final long syncTimeout,
final PagingManager pagingManager,
final StorageManager storageManager,
- final PostOffice postOffice,
final SequentialFileFactory fileFactory,
final PagingStoreFactory storeFactory,
final SimpleString storeName,
final AddressSettings addressSettings,
- final ExecutorFactory executorFactory,
+ final Executor executor,
final boolean syncNonTransactional)
{
if (pagingManager == null)
@@ -166,8 +163,6 @@
this.storageManager = storageManager;
- this.postOffice = postOffice;
-
this.storeName = storeName;
applySetting(addressSettings);
@@ -182,7 +177,7 @@
pageSize);
}
- this.executor = executorFactory.getExecutor();
+ this.executor = executor;
this.pagingManager = pagingManager;
Modified: branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/unit/core/paging/impl/PagingStoreImplTest.java
===================================================================
--- branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/unit/core/paging/impl/PagingStoreImplTest.java 2011-05-13 05:14:47 UTC (rev 10650)
+++ branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/unit/core/paging/impl/PagingStoreImplTest.java 2011-05-13 05:35:39 UTC (rev 10651)
@@ -143,12 +143,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
null,
PagingStoreImplTest.destinationTestName,
addressSettings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
true);
storeImpl.start();
@@ -181,12 +180,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
storeFactory,
PagingStoreImplTest.destinationTestName,
addressSettings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
true);
storeImpl.start();
@@ -219,12 +217,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
null,
PagingStoreImplTest.destinationTestName,
addressSettings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
true);
storeImpl.start();
@@ -248,12 +245,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
storeFactory,
PagingStoreImplTest.destinationTestName,
addressSettings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
true);
storeImpl.start();
@@ -325,12 +321,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
storeFactory,
PagingStoreImplTest.destinationTestName,
addressSettings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
true);
storeImpl.start();
@@ -474,12 +469,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
storeFactory,
new SimpleString("test"),
settings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
true);
storeImpl.start();
@@ -639,12 +633,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
storeFactory,
new SimpleString("test"),
settings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
true);
storeImpl2.start();
@@ -726,12 +719,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
storeFactory,
new SimpleString("test"),
settings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
true);
storeImpl.start();
@@ -770,12 +762,11 @@
100,
createMockManager(),
createStorageManagerMock(),
- createPostOfficeMock(),
factory,
storeFactory,
new SimpleString("test"),
settings,
- getExecutorFactory(),
+ getExecutorFactory().getExecutor(),
false);
storeImpl.start();
15 years
JBoss hornetq SVN: r10650 - in branches/Branch_2_2_EAP: src/main/org/hornetq/core/journal/impl and 2 other directories.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2011-05-13 01:14:47 -0400 (Fri, 13 May 2011)
New Revision: 10650
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/SequentialFile.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/impl/AbstractSequentialFile.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/LargeServerMessageImpl.java
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/client/PagingTest.java
Log:
JBPAPP-6466 - improving IO on depaging
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/SequentialFile.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/SequentialFile.java 2011-05-13 04:10:25 UTC (rev 10649)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/SequentialFile.java 2011-05-13 05:14:47 UTC (rev 10650)
@@ -95,7 +95,7 @@
SequentialFile copy();
- void copyTo(SequentialFile newFileName);
+ void copyTo(SequentialFile newFileName) throws Exception;
void setTimedBuffer(TimedBuffer buffer);
}
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/impl/AbstractSequentialFile.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/impl/AbstractSequentialFile.java 2011-05-13 04:10:25 UTC (rev 10649)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/impl/AbstractSequentialFile.java 2011-05-13 05:14:47 UTC (rev 10650)
@@ -105,35 +105,27 @@
file.delete();
}
- public void copyTo(SequentialFile newFileName)
+ public void copyTo(SequentialFile newFileName) throws Exception
{
- try
+ log.debug("Copying " + this + " as " + newFileName);
+ newFileName.open();
+ this.open();
+
+
+ ByteBuffer buffer = ByteBuffer.allocate(10 * 1024);
+
+ for (;;)
{
- log.debug("Copying " + this + " as " + newFileName);
- newFileName.open();
- this.open();
-
-
- ByteBuffer buffer = ByteBuffer.allocate(10 * 1024);
-
- for (;;)
+ buffer.rewind();
+ int size = this.read(buffer);
+ newFileName.writeInternal(buffer);
+ if (size < 10 * 1024)
{
- buffer.rewind();
- int size = this.read(buffer);
- newFileName.writeInternal(buffer);
- if (size < 10 * 1024)
- {
- break;
- }
+ break;
}
- newFileName.close();
- this.close();
}
- catch (Exception e)
- {
- log.warn("Error on copying file " + this + " as " + newFileName, e);
- }
-
+ newFileName.close();
+ this.close();
}
public void position(final long pos) throws Exception
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/LargeServerMessageImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/LargeServerMessageImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/LargeServerMessageImpl.java 2011-05-13 05:14:47 UTC (rev 10650)
@@ -307,19 +307,29 @@
}
else
{
- SequentialFile file = this.file;
-
- SequentialFile newFile = storageManager.createFileForLargeMessage(newID, durable);
-
- file.copyTo(newFile);
-
- LargeServerMessageImpl newMessage = new LargeServerMessageImpl(this, newFile, newID);
-
- newMessage.linkMessage = null;
-
- newMessage.setPaged();
-
- return newMessage;
+ try
+ {
+ validateFile();
+
+ SequentialFile file = this.file;
+
+ SequentialFile newFile = storageManager.createFileForLargeMessage(newID, durable);
+
+ file.copyTo(newFile);
+
+ LargeServerMessageImpl newMessage = new LargeServerMessageImpl(this, newFile, newID);
+
+ newMessage.linkMessage = null;
+
+ newMessage.setPaged();
+
+ return newMessage;
+ }
+ catch (Exception e)
+ {
+ log.warn("Error on copying large message this for DLA or Expiry", e);
+ return null;
+ }
}
}
Modified: branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/client/PagingTest.java
===================================================================
--- branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/client/PagingTest.java 2011-05-13 04:10:25 UTC (rev 10649)
+++ branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/client/PagingTest.java 2011-05-13 05:14:47 UTC (rev 10650)
@@ -120,7 +120,7 @@
{
locator.close();
- super.tearDown();
+ //super.tearDown();
}
public void testPreparePersistent() throws Exception
@@ -3741,6 +3741,163 @@
}
}
+ public void testExpireLargeMessageOnPaging() throws Exception
+ {
+ clearData();
+
+ Configuration config = createDefaultConfig();
+
+ config.setJournalSyncNonTransactional(false);
+
+ Map<String, AddressSettings> settings = new HashMap<String, AddressSettings>();
+ AddressSettings dla = new AddressSettings();
+ dla.setMaxDeliveryAttempts(5);
+ dla.setDeadLetterAddress(new SimpleString("DLA"));
+ dla.setExpiryAddress(new SimpleString("DLA"));
+ settings.put(ADDRESS.toString(), dla);
+
+ final HornetQServer server = createServer(true, config, PagingTest.PAGE_SIZE, PagingTest.PAGE_MAX, settings);
+
+ server.start();
+
+ final int messageSize = 20;
+
+ try
+ {
+ ServerLocator locator = createInVMNonHALocator();
+
+ locator.setBlockOnNonDurableSend(true);
+ locator.setBlockOnDurableSend(true);
+ locator.setBlockOnAcknowledge(true);
+
+ ClientSessionFactory sf = locator.createSessionFactory();
+
+ ClientSession session = sf.createSession(false, false, false);
+
+ session.createQueue(ADDRESS, ADDRESS, true);
+
+ session.createQueue("DLA", "DLA");
+
+ PagingStore pgStoreAddress = server.getPagingManager().getPageStore(ADDRESS);
+ pgStoreAddress.startPaging();
+ PagingStore pgStoreDLA = server.getPagingManager().getPageStore(new SimpleString("DLA"));
+
+ ClientProducer producer = session.createProducer(PagingTest.ADDRESS);
+
+ ClientMessage message = null;
+
+ for (int i = 0; i < 500; i++)
+ {
+ log.info("send message #" + i);
+ message = session.createMessage(true);
+
+ message.putStringProperty("id", "str" + i);
+
+ message.setExpiration(System.currentTimeMillis() + 2000);
+
+ if (i % 2 == 0)
+ {
+ message.setBodyInputStream(createFakeLargeStream(messageSize));
+ }
+ else
+ {
+ byte bytes[] = new byte[messageSize];
+ for (int s = 0 ; s < bytes.length; s++)
+ {
+ bytes[s] = getSamplebyte(s);
+ }
+ message.getBodyBuffer().writeBytes(bytes);
+ }
+
+ producer.send(message);
+
+ if ((i + 1) % 2 == 0)
+ {
+ session.commit();
+ if (i < 400)
+ {
+ pgStoreAddress.forceAnotherPage();
+ }
+ }
+ }
+
+ session.commit();
+
+ sf.close();
+
+ locator.close();
+
+ server.stop();
+
+ Thread.sleep(3000);
+
+ server.start();
+
+ locator = createInVMNonHALocator();
+
+ sf = locator.createSessionFactory();
+
+ session = sf.createSession(false, false);
+
+ session.start();
+
+ ClientConsumer cons = session.createConsumer(ADDRESS);
+
+ assertNull(cons.receive(1000));
+
+ cons.close();
+
+ cons = session.createConsumer("DLA");
+
+ for (int i = 0; i < 500; i++)
+ {
+ log.info("Received message " + i);
+ message = cons.receive(5000);
+ assertNotNull(message);
+ message.acknowledge();
+
+ message.saveToOutputStream(new OutputStream()
+ {
+ @Override
+ public void write(int b) throws IOException
+ {
+
+ }
+ });
+ }
+
+ assertNull(cons.receiveImmediate());
+
+ session.commit();
+
+ cons.close();
+
+ long timeout = System.currentTimeMillis() + 5000;
+
+ pgStoreAddress = server.getPagingManager().getPageStore(ADDRESS);
+
+ while (timeout > System.currentTimeMillis() && pgStoreAddress.isPaging())
+ {
+ Thread.sleep(50);
+ }
+
+ assertFalse(pgStoreAddress.isPaging());
+
+ session.close();
+ }
+ finally
+ {
+ locator.close();
+ try
+ {
+ server.stop();
+ }
+ catch (Throwable ignored)
+ {
+ }
+ }
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
15 years
JBoss hornetq SVN: r10649 - in branches/Branch_2_2_EAP: src/main/org/hornetq/core/journal/impl and 11 other directories.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2011-05-13 00:10:25 -0400 (Fri, 13 May 2011)
New Revision: 10649
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/SequentialFile.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/impl/AbstractSequentialFile.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/PrintPages.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/PageSubscription.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/PagedReferenceImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageCursorProviderImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageSubscriptionCounterImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageSubscriptionImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagedMessageImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/LargeServerMessageImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/nullpm/NullStorageLargeServerMessage.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/LargeServerMessage.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/QueueImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/ServerConsumerImpl.java
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/client/PagingTest.java
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/stress/paging/PageCursorStressTest.java
branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/unit/core/journal/impl/fakes/FakeSequentialFileFactory.java
Log:
JBPAPP-6466 - improving IO on depaging
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/SequentialFile.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/SequentialFile.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/SequentialFile.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -94,6 +94,8 @@
void renameTo(String newFileName) throws Exception;
SequentialFile copy();
+
+ void copyTo(SequentialFile newFileName);
void setTimedBuffer(TimedBuffer buffer);
}
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/impl/AbstractSequentialFile.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/impl/AbstractSequentialFile.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/journal/impl/AbstractSequentialFile.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -104,6 +104,37 @@
file.delete();
}
+
+ public void copyTo(SequentialFile newFileName)
+ {
+ try
+ {
+ log.debug("Copying " + this + " as " + newFileName);
+ newFileName.open();
+ this.open();
+
+
+ ByteBuffer buffer = ByteBuffer.allocate(10 * 1024);
+
+ for (;;)
+ {
+ buffer.rewind();
+ int size = this.read(buffer);
+ newFileName.writeInternal(buffer);
+ if (size < 10 * 1024)
+ {
+ break;
+ }
+ }
+ newFileName.close();
+ this.close();
+ }
+ catch (Exception e)
+ {
+ log.warn("Error on copying file " + this + " as " + newFileName, e);
+ }
+
+ }
public void position(final long pos) throws Exception
{
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/PrintPages.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/PrintPages.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/PrintPages.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -36,6 +36,7 @@
import org.hornetq.core.journal.impl.NIOSequentialFileFactory;
import org.hornetq.core.paging.cursor.PagePosition;
import org.hornetq.core.paging.cursor.impl.PagePositionImpl;
+import org.hornetq.core.paging.impl.PageTransactionInfoImpl;
import org.hornetq.core.paging.impl.PagingManagerImpl;
import org.hornetq.core.paging.impl.PagingStoreFactoryNIO;
import org.hornetq.core.persistence.StorageManager;
@@ -79,6 +80,8 @@
{
Pair<Map<Long, Set<PagePosition>>, Set<Long>> cursorACKs = PrintPages.loadCursorACKs(arg[1]);
+
+ Set<Long> pgTXs = cursorACKs.b;
ScheduledExecutorService scheduled = Executors.newScheduledThreadPool(1);
final ExecutorService executor = Executors.newFixedThreadPool(10);
@@ -146,7 +149,7 @@
System.out.print(",");
}
}
- if (msg.getTransactionID() != 0 && ! cursorACKs.b.contains(msg.getTransactionID()));
+ if (msg.getTransactionID() >= 0 && !pgTXs.contains(msg.getTransactionID()))
{
System.out.print(", **PG_TX_NOT_FOUND**");
}
@@ -230,7 +233,12 @@
}
else
{
- pgTXs.add(record.id);
+ PageTransactionInfoImpl pageTransactionInfo = new PageTransactionInfoImpl();
+
+ pageTransactionInfo.decode(buff);
+
+ pageTransactionInfo.setRecordID(record.id);
+ pgTXs.add(pageTransactionInfo.getTransactionID());
}
}
}
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/PageSubscription.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/PageSubscription.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/PageSubscription.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -13,6 +13,8 @@
package org.hornetq.core.paging.cursor;
+import java.util.concurrent.Executor;
+
import org.hornetq.core.paging.PagedMessage;
import org.hornetq.core.paging.PagingStore;
import org.hornetq.core.server.Queue;
@@ -131,4 +133,9 @@
* @return
*/
PagedMessage queryMessage(PagePosition pos);
+
+ /**
+ * @return
+ */
+ Executor getExecutor();
}
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/PagedReferenceImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/PagedReferenceImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/PagedReferenceImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -14,8 +14,10 @@
package org.hornetq.core.paging.cursor;
import java.lang.ref.WeakReference;
+import java.util.concurrent.atomic.AtomicInteger;
import org.hornetq.api.core.Message;
+import org.hornetq.core.logging.Logger;
import org.hornetq.core.paging.PagedMessage;
import org.hornetq.core.server.MessageReference;
import org.hornetq.core.server.Queue;
@@ -34,6 +36,10 @@
private static final long serialVersionUID = -8640232251318264710L;
+ private static final Logger log = Logger.getLogger(PagedReferenceImpl.class);
+
+ private static final boolean isTrace = log.isTraceEnabled();
+
private final PagePosition position;
private WeakReference<PagedMessage> message;
@@ -42,6 +48,8 @@
private int persistedCount;
+ private AtomicInteger deliveryCount = new AtomicInteger(0);
+
private final PageSubscription subscription;
public ServerMessage getMessage()
@@ -84,12 +92,12 @@
{
return true;
}
-
+
public void setPersistedCount(int count)
{
this.persistedCount = count;
}
-
+
public int getPersistedCount()
{
return persistedCount;
@@ -100,8 +108,7 @@
*/
public MessageReference copy(final Queue queue)
{
- // TODO Auto-generated method stub
- return null;
+ return new PagedReferenceImpl(this.position, this.getPagedMessage(), this.subscription);
}
/* (non-Javadoc)
@@ -137,8 +144,7 @@
*/
public int getDeliveryCount()
{
- // TODO Auto-generated method stub
- return 0;
+ return deliveryCount.get();
}
/* (non-Javadoc)
@@ -146,8 +152,7 @@
*/
public void setDeliveryCount(final int deliveryCount)
{
- // TODO Auto-generated method stub
-
+ this.deliveryCount.set(deliveryCount);
}
/* (non-Javadoc)
@@ -155,7 +160,11 @@
*/
public void incrementDeliveryCount()
{
- // TODO Auto-generated method stub
+ deliveryCount.incrementAndGet();
+ if (isTrace)
+ {
+ log.trace("deliveryCount = " + deliveryCount + " for " + this);
+ }
}
@@ -164,8 +173,7 @@
*/
public void decrementDeliveryCount()
{
- // TODO Auto-generated method stub
-
+ deliveryCount.decrementAndGet();
}
/* (non-Javadoc)
@@ -199,4 +207,25 @@
{
subscription.ackTx(tx, this);
}
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "PagedReferenceImpl [position=" + position +
+ ", message=" +
+ message +
+ ", deliveryTime=" +
+ deliveryTime +
+ ", persistedCount=" +
+ persistedCount +
+ ", deliveryCount=" +
+ deliveryCount +
+ ", subscription=" +
+ subscription +
+ "]";
+ }
+
}
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageCursorProviderImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageCursorProviderImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageCursorProviderImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -30,7 +30,6 @@
import org.hornetq.core.paging.cursor.PagedReference;
import org.hornetq.core.paging.cursor.PagedReferenceImpl;
import org.hornetq.core.persistence.StorageManager;
-import org.hornetq.utils.ExecutorFactory;
import org.hornetq.utils.Future;
import org.hornetq.utils.SoftValueHashMap;
import org.jboss.netty.util.internal.ConcurrentHashMap;
@@ -57,8 +56,7 @@
private final StorageManager storageManager;
- private final ExecutorFactory executorFactory;
-
+ // This is the same executor used at the PageStoreImpl. One Executor per pageStore
private final Executor executor;
private final SoftValueHashMap<Long, PageCache> softCache;
@@ -71,13 +69,12 @@
public PageCursorProviderImpl(final PagingStore pagingStore,
final StorageManager storageManager,
- final ExecutorFactory executorFactory,
+ final Executor executor,
final int maxCacheSize)
{
this.pagingStore = pagingStore;
this.storageManager = storageManager;
- this.executorFactory = executorFactory;
- this.executor = executorFactory.getExecutor();
+ this.executor = executor;
this.softCache = new SoftValueHashMap<Long, PageCache>(maxCacheSize);
}
@@ -96,13 +93,7 @@
throw new IllegalStateException("Cursor " + cursorID + " had already been created");
}
- activeCursor = new PageSubscriptionImpl(this,
- pagingStore,
- storageManager,
- executorFactory.getExecutor(),
- filter,
- cursorID,
- persistent);
+ activeCursor = new PageSubscriptionImpl(this, pagingStore, storageManager, executor, filter, cursorID, persistent);
activeCursors.put(cursorID, activeCursor);
return activeCursor;
}
@@ -389,6 +380,17 @@
{
pagingStore.stopPaging();
}
+ else
+ {
+ if (log.isTraceEnabled())
+ {
+ log.trace("Couldn't cleanup page on address " + this.pagingStore.getAddress() +
+ " as numberOfPages == " +
+ pagingStore.getNumberOfPages() +
+ " and currentPage.numberOfMessages = " +
+ pagingStore.getCurrentPage().getNumberOfMessages());
+ }
+ }
}
catch (Exception ex)
{
@@ -411,7 +413,7 @@
{
cache = softCache.remove((long)depagedPage.getPageId());
}
-
+
if (cache == null)
{
// The page is not on cache any more
@@ -426,7 +428,7 @@
{
pgdMessages = cache.getMessages();
}
-
+
depagedPage.delete(pgdMessages);
synchronized (softCache)
{
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageSubscriptionCounterImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageSubscriptionCounterImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageSubscriptionCounterImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -21,6 +21,7 @@
import org.hornetq.api.core.Pair;
import org.hornetq.core.logging.Logger;
+import org.hornetq.core.paging.cursor.PageSubscription;
import org.hornetq.core.paging.cursor.PageSubscriptionCounter;
import org.hornetq.core.persistence.StorageManager;
import org.hornetq.core.server.MessageReference;
@@ -40,6 +41,8 @@
// Constants -----------------------------------------------------
static final Logger log = Logger.getLogger(PageSubscriptionCounterImpl.class);
+
+ static final boolean isTrace = log.isTraceEnabled();
// Attributes ----------------------------------------------------
@@ -51,8 +54,12 @@
private long recordID = -1;
private boolean persistent;
+
+ private final PageSubscription subscription;
private final StorageManager storage;
+
+ private final Executor executor;
private final AtomicLong value = new AtomicLong(0);
@@ -60,8 +67,6 @@
private LinkedList<Pair<Long, Integer>> loadList;
- private final Executor executor;
-
private final Runnable cleanupCheck = new Runnable()
{
public void run()
@@ -77,14 +82,16 @@
// Constructors --------------------------------------------------
public PageSubscriptionCounterImpl(final StorageManager storage,
+ final PageSubscription subscription,
+ final Executor executor,
final boolean persistent,
- final long subscriptionID,
- final Executor executor)
+ final long subscriptionID)
{
this.subscriptionID = subscriptionID;
+ this.executor = executor;
this.storage = storage;
- this.executor = executor;
this.persistent = persistent;
+ this.subscription = subscription;
}
/* (non-Javadoc)
@@ -253,10 +260,13 @@
}
newRecordID = storage.storePageCounter(txCleanup, subscriptionID, valueReplace);
+
+ if (isTrace)
+ {
+ log.trace("Replacing page-counter record = " + recordID + " by record = " + newRecordID + " on subscriptionID = " + this.subscriptionID + " for queue = " + this.subscription.getQueue().getName());
+ }
storage.commit(txCleanup);
-
- storage.waitOnOperations();
}
catch (Exception e)
{
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageSubscriptionImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageSubscriptionImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/cursor/impl/PageSubscriptionImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -92,8 +92,6 @@
private final PageCursorProvider cursorProvider;
- private final Executor executor;
-
private volatile PagePosition lastAckedPosition;
private List<PagePosition> recoveredACK;
@@ -101,6 +99,8 @@
private final SortedMap<Long, PageCursorInfo> consumedPages = Collections.synchronizedSortedMap(new TreeMap<Long, PageCursorInfo>());
private final PageSubscriptionCounter counter;
+
+ private final Executor executor;
private final AtomicLong deliveredCount = new AtomicLong(0);
@@ -126,7 +126,7 @@
this.executor = executor;
this.filter = filter;
this.persistent = persistent;
- this.counter = new PageSubscriptionCounterImpl(store, persistent, cursorId, executor);
+ this.counter = new PageSubscriptionCounterImpl(store, this, executor, persistent, cursorId);
}
// Public --------------------------------------------------------
@@ -224,7 +224,7 @@
// First get the completed pages using a lock
synchronized (this)
{
- for (Entry<Long, PageCursorInfo> entry : consumedPages.entrySet())
+ for (Entry<Long, PageCursorInfo> entry : consumedPages.entrySet())
{
PageCursorInfo info = entry.getValue();
if (info.isDone() && !info.isPendingDelete() && lastAckedPosition != null)
@@ -687,6 +687,14 @@
}
}
+ /* (non-Javadoc)
+ * @see org.hornetq.core.paging.cursor.PageSubscription#executeWithContext(java.lang.Runnable)
+ */
+ public Executor getExecutor()
+ {
+ return executor;
+ }
+
private synchronized PageCursorInfo getPageInfo(final PagePosition pos)
{
return getPageInfo(pos, true);
@@ -734,8 +742,17 @@
{
if (lastAckedPosition == null || pos.compareTo(lastAckedPosition) > 0)
{
+ if (isTrace)
+ {
+ log.trace("a new position is being processed as ACK");
+ }
if (lastAckedPosition != null && lastAckedPosition.getPageNr() != pos.getPageNr())
{
+ if (isTrace)
+ {
+ log.trace("Scheduling cleanup on pageSubscription for address = " + pageStore.getAddress() + " queue = " + this.getQueue().getName());
+ }
+
// there's a different page being acked, we will do the check right away
if (autoCleanup)
{
@@ -780,7 +797,7 @@
private PageTransactionInfo getPageTransaction(final PagedReference reference)
{
- if (reference.getPagedMessage().getTransactionID() != 0)
+ if (reference.getPagedMessage().getTransactionID() >= 0)
{
return pageStore.getPagingManager().getTransaction(reference.getPagedMessage().getTransactionID());
}
@@ -816,6 +833,7 @@
private final long pageId;
+ // TODO: Merge removedReferences and acks into a single structure
// Confirmed ACKs on this page
private final Set<PagePosition> acks = Collections.synchronizedSet(new LinkedHashSet<PagePosition>());
@@ -1135,6 +1153,13 @@
{
ignored = true;
}
+
+ PageCursorInfo info = getPageInfo(message.getPosition(), false);
+
+ if (info != null && info.isRemoved(message.getPosition()))
+ {
+ continue;
+ }
// 2nd ... if TX, is it committed?
if (valid && message.getPagedMessage().getTransactionID() >= 0)
@@ -1145,7 +1170,7 @@
{
log.warn("Couldn't locate page transaction " + message.getPagedMessage().getTransactionID() +
", ignoring message on position " +
- message.getPosition());
+ message.getPosition() + " on address=" + pageStore.getAddress() + " queue=" + queue.getName());
valid = false;
ignored = true;
}
@@ -1166,7 +1191,7 @@
// Say you have a Browser that will only read the files... there's no need to control PageCursors is
// nothing
// is being changed. That's why the false is passed as a parameter here
- PageCursorInfo info = getPageInfo(message.getPosition(), false);
+
if (info != null && info.isRemoved(message.getPosition()))
{
valid = false;
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagedMessageImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagedMessageImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagedMessageImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -84,6 +84,7 @@
HornetQBuffer buffer = HornetQBuffers.dynamicBuffer(largeMessageLazyData);
message.decodeHeadersAndProperties(buffer);
lgMessage.incrementDelayDeletionCount();
+ lgMessage.setPaged();
largeMessageLazyData = null;
}
}
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/paging/impl/PagingStoreImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -46,6 +46,7 @@
import org.hornetq.core.persistence.StorageManager;
import org.hornetq.core.persistence.impl.journal.OperationContextImpl;
import org.hornetq.core.postoffice.PostOffice;
+import org.hornetq.core.server.LargeServerMessage;
import org.hornetq.core.server.MessageReference;
import org.hornetq.core.server.RouteContextList;
import org.hornetq.core.server.RoutingContext;
@@ -200,7 +201,7 @@
this.syncTimer = null;
}
- this.cursorProvider = new PageCursorProviderImpl(this, this.storageManager, executorFactory, addressSettings.getPageCacheMaxSize());
+ this.cursorProvider = new PageCursorProviderImpl(this, this.storageManager, executor, addressSettings.getPageCacheMaxSize());
}
@@ -870,6 +871,11 @@
PagedMessage pagedMessage = new PagedMessageImpl(message, routeQueues(tx, listCtx), tx == null ? -1 : tx.getID());
+
+ if (message.isLargeMessage())
+ {
+ ((LargeServerMessage)message).setPaged();
+ }
int bytesToWrite = pagedMessage.getEncodeSize() + PageImpl.SIZE_RECORD;
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/LargeServerMessageImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/LargeServerMessageImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/LargeServerMessageImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -18,6 +18,7 @@
import org.hornetq.api.core.HornetQBuffer;
import org.hornetq.api.core.HornetQException;
+import org.hornetq.api.core.Message;
import org.hornetq.core.journal.SequentialFile;
import org.hornetq.core.logging.Logger;
import org.hornetq.core.message.BodyEncoder;
@@ -48,6 +49,8 @@
private final JournalStorageManager storageManager;
private LargeServerMessage linkMessage;
+
+ private boolean paged;
// We should only use the NIO implementation on the Journal
private SequentialFile file;
@@ -82,6 +85,11 @@
// Public --------------------------------------------------------
+ public void setPaged()
+ {
+ paged = true;
+ }
+
/* (non-Javadoc)
* @see org.hornetq.core.server.LargeServerMessage#addBytes(byte[])
*/
@@ -260,27 +268,59 @@
}
}
}
+
+ public void setOriginalHeaders(final ServerMessage other, final boolean expiry)
+ {
+ super.setOriginalHeaders(other, expiry);
+
+ LargeServerMessageImpl otherLM = (LargeServerMessageImpl)other;
+ this.paged = otherLM.paged;
+ if (this.paged)
+ {
+ this.removeProperty(Message.HDR_ORIG_MESSAGE_ID);
+ }
+ }
+
+
@Override
public synchronized ServerMessage copy(final long newID)
{
- incrementDelayDeletionCount();
-
- long idToUse = messageID;
-
- if (linkMessage != null)
+ if (!paged)
{
- idToUse = linkMessage.getMessageID();
+ incrementDelayDeletionCount();
+
+ long idToUse = messageID;
+
+ if (linkMessage != null)
+ {
+ idToUse = linkMessage.getMessageID();
+ }
+
+ SequentialFile newfile = storageManager.createFileForLargeMessage(idToUse, durable);
+
+ ServerMessage newMessage = new LargeServerMessageImpl(linkMessage == null ? this
+ : (LargeServerMessageImpl)linkMessage,
+ newfile,
+ newID);
+ return newMessage;
}
-
- SequentialFile newfile = storageManager.createFileForLargeMessage(idToUse, durable);
-
- ServerMessage newMessage = new LargeServerMessageImpl(linkMessage == null ? this
- : (LargeServerMessageImpl)linkMessage,
- newfile,
- newID);
-
- return newMessage;
+ else
+ {
+ SequentialFile file = this.file;
+
+ SequentialFile newFile = storageManager.createFileForLargeMessage(newID, durable);
+
+ file.copyTo(newFile);
+
+ LargeServerMessageImpl newMessage = new LargeServerMessageImpl(this, newFile, newID);
+
+ newMessage.linkMessage = null;
+
+ newMessage.setPaged();
+
+ return newMessage;
+ }
}
public SequentialFile getFile()
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/nullpm/NullStorageLargeServerMessage.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/nullpm/NullStorageLargeServerMessage.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/nullpm/NullStorageLargeServerMessage.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -157,7 +157,14 @@
return "LargeServerMessage[messageID=" + messageID + ", durable=" + durable + ", address=" + getAddress() + ",properties=" + properties.toString() + "]";
}
+ /* (non-Javadoc)
+ * @see org.hornetq.core.server.LargeServerMessage#setPaged()
+ */
+ public void setPaged()
+ {
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/LargeServerMessage.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/LargeServerMessage.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/LargeServerMessage.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -30,7 +30,13 @@
void setLinkedMessage(LargeServerMessage message);
boolean isFileExists() throws Exception;
-
+
+ /**
+ * We have to copy the large message content in case of DLQ and paged messages
+ * For that we need to pre-mark the LargeMessage with a flag when it is paged
+ */
+ void setPaged();
+
/** Close the files if opened */
void releaseResources();
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/QueueImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/QueueImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/QueueImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -72,6 +72,8 @@
public class QueueImpl implements Queue
{
private static final Logger log = Logger.getLogger(QueueImpl.class);
+
+ private static final boolean isTrace = log.isTraceEnabled();
public static final int REDISTRIBUTOR_BATCH_SIZE = 100;
@@ -396,7 +398,7 @@
public void deliverAsync()
{
- executor.execute(deliverRunner);
+ getExecutor().execute(deliverRunner);
}
public void close() throws Exception
@@ -411,7 +413,15 @@
public Executor getExecutor()
{
- return executor;
+ if (pageSubscription.isPaging())
+ {
+ // When in page mode, we don't want to have concurrent IO on the same PageStore
+ return pageSubscription.getExecutor();
+ }
+ else
+ {
+ return executor;
+ }
}
/* Only used on tests */
@@ -432,7 +442,7 @@
if (!ok)
{
- log.warn("Couldn't finish waiting executors. Try increasing the thread pool size");
+ log.warn("Couldn't finish waiting executors. Try increasing the thread pool size", new Exception ("trace"));
}
return ok;
@@ -1440,6 +1450,8 @@
int numRefs = messageReferences.size();
int handled = 0;
+
+ long timeout = System.currentTimeMillis() + 1000;
while (handled < numRefs)
{
@@ -1451,6 +1463,19 @@
return;
}
+
+ if (pageSubscription != null && pageSubscription.isPaging() && System.currentTimeMillis() > timeout)
+ {
+ if (isTrace)
+ {
+ log.trace("Page delivery has been running for too long. Scheduling another delivery task now");
+ }
+
+ deliverAsync();
+
+ return;
+ }
+
ConsumerHolder holder = consumerList.get(pos);
@@ -1549,7 +1574,7 @@
}
}
- if (pageIterator != null && messageReferences.size() == 0 && pageIterator.hasNext())
+ if (pageIterator != null && messageReferences.size() == 0 && pageSubscription.isPaging() && pageIterator.hasNext())
{
scheduleDepage();
}
@@ -1580,7 +1605,7 @@
private void scheduleDepage()
{
- executor.execute(depageRunner);
+ pageSubscription.getExecutor().execute(depageRunner);
}
private void depage()
@@ -1629,11 +1654,13 @@
if (internalQueue)
{
+ if (isTrace)
+ {
+ log.trace("Queue " + this.getName() + " is an internal queue, no checkRedelivery");
+ }
// no DLQ check on internal queues
return true;
}
-
- // TODO: DeliveryCount on paging
if (!internalQueue && message.isDurable() && durable && !reference.isPaged())
{
@@ -1644,9 +1671,18 @@
int maxDeliveries = addressSettings.getMaxDeliveryAttempts();
+ if (isTrace)
+ {
+ log.trace("Checking redelivery for reference = " + reference + " with maxDeliveries = " + maxDeliveries + " on queue " + address);
+ }
+
// First check DLA
if (maxDeliveries > 0 && reference.getDeliveryCount() >= maxDeliveries)
{
+ if (isTrace)
+ {
+ log.trace("Sending reference " + reference + " to DLA");
+ }
sendToDeadLetterAddress(reference);
return false;
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/ServerConsumerImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/ServerConsumerImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/ServerConsumerImpl.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -16,7 +16,6 @@
import java.util.Iterator;
import java.util.LinkedList;
import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
@@ -84,8 +83,6 @@
private final ServerSession session;
- private final Executor executor;
-
private final Object lock = new Object();
private volatile AtomicInteger availableCredits = new AtomicInteger(0);
@@ -153,8 +150,6 @@
messageQueue = binding.getQueue();
- this.executor = messageQueue.getExecutor();
-
this.started = browseOnly || started;
this.browseOnly = browseOnly;
@@ -376,7 +371,7 @@
Future future = new Future();
- executor.execute(future);
+ messageQueue.getExecutor().execute(future);
boolean ok = future.await(10000);
@@ -483,7 +478,7 @@
Future future = new Future();
- executor.execute(future);
+ messageQueue.getExecutor().execute(future);
boolean ok = future.await(10000);
@@ -668,7 +663,7 @@
{
if (browseOnly)
{
- executor.execute(browserDeliverer);
+ messageQueue.getExecutor().execute(browserDeliverer);
}
else
{
@@ -680,7 +675,7 @@
private void resumeLargeMessage()
{
- executor.execute(resumeLargeMessageRunnable);
+ messageQueue.getExecutor().execute(resumeLargeMessageRunnable);
}
private void deliverLargeMessage(final MessageReference ref, final ServerMessage message) throws Exception
@@ -723,7 +718,7 @@
{
if (browseOnly)
{
- executor.execute(browserDeliverer);
+ messageQueue.getExecutor().execute(browserDeliverer);
}
else
{
Modified: branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/client/PagingTest.java
===================================================================
--- branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/client/PagingTest.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/integration/client/PagingTest.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -13,10 +13,13 @@
package org.hornetq.tests.integration.client;
+import java.io.IOException;
+import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -42,9 +45,16 @@
import org.hornetq.core.config.Configuration;
import org.hornetq.core.config.DivertConfiguration;
import org.hornetq.core.journal.IOAsyncTask;
+import org.hornetq.core.journal.PreparedTransactionInfo;
+import org.hornetq.core.journal.RecordInfo;
+import org.hornetq.core.journal.impl.JournalImpl;
+import org.hornetq.core.journal.impl.NIOSequentialFileFactory;
import org.hornetq.core.logging.Logger;
+import org.hornetq.core.paging.Page;
+import org.hornetq.core.paging.PagedMessage;
import org.hornetq.core.paging.PagingManager;
import org.hornetq.core.paging.PagingStore;
+import org.hornetq.core.paging.cursor.impl.PagePositionImpl;
import org.hornetq.core.paging.impl.TestSupportPageStore;
import org.hornetq.core.persistence.OperationContext;
import org.hornetq.core.persistence.impl.journal.OperationContextImpl;
@@ -262,8 +272,7 @@
consumer = session.createConsumer(PagingTest.ADDRESS);
session.start();
-
-
+
assertEquals(numberOfMessages, queue.getMessageCount());
ClientMessage msg = consumer.receive(5000);
@@ -284,7 +293,7 @@
}
assertNull(msg);
- for (int i = xids.size() -1 ; i >= 0; i--)
+ for (int i = xids.size() - 1; i >= 0; i--)
{
Xid xid = xids.get(i);
session.rollback(xid);
@@ -298,25 +307,25 @@
session = sf.createSession(false, false, false);
session.start();
-
+
consumer = session.createConsumer(PagingTest.ADDRESS);
-
+
for (int i = 0; i < numberOfMessages; i++)
{
msg = consumer.receive(1000);
assertNotNull(msg);
msg.acknowledge();
-
+
assertEquals(i, msg.getIntProperty("id").intValue());
-
+
if (i % 500 == 0)
{
session.commit();
}
}
-
+
session.commit();
-
+
session.close();
sf.close();
@@ -324,14 +333,13 @@
locator.close();
assertEquals(0, queue.getMessageCount());
-
+
long timeout = System.currentTimeMillis() + 5000;
while (timeout > System.currentTimeMillis() && queue.getPageSubscription().getPagingStore().isPaging())
{
Thread.sleep(100);
}
- assertFalse (queue.getPageSubscription().getPagingStore().isPaging());
- // assertEquals(numberOfMessages, queue.getMessageCount());
+ assertFalse(queue.getPageSubscription().getPagingStore().isPaging());
}
finally
{
@@ -346,6 +354,350 @@
}
+ public void testMissingTXEverythingAcked() throws Exception
+ {
+ clearData();
+
+ Configuration config = createDefaultConfig();
+
+ config.setJournalSyncNonTransactional(false);
+
+ HornetQServer server = createServer(true,
+ config,
+ PagingTest.PAGE_SIZE,
+ PagingTest.PAGE_MAX,
+ new HashMap<String, AddressSettings>());
+
+ server.start();
+
+ final int messageSize = 1024;
+
+ final int numberOfMessages = 5000;
+
+ final int numberOfTX = 10;
+
+ final int messagesPerTX = numberOfMessages / numberOfTX;
+
+ try
+ {
+ ServerLocator locator = createInVMNonHALocator();
+
+ locator.setBlockOnNonDurableSend(true);
+ locator.setBlockOnDurableSend(true);
+ locator.setBlockOnAcknowledge(true);
+
+ ClientSessionFactory sf = locator.createSessionFactory();
+
+ ClientSession session = sf.createSession(false, false, false);
+
+ session.createQueue(ADDRESS.toString(), "q1", true);
+
+ session.createQueue(ADDRESS.toString(), "q2", true);
+
+ ClientProducer producer = session.createProducer(PagingTest.ADDRESS);
+
+ ClientMessage message = null;
+
+ byte[] body = new byte[messageSize];
+
+ ByteBuffer bb = ByteBuffer.wrap(body);
+
+ for (int j = 1; j <= messageSize; j++)
+ {
+ bb.put(getSamplebyte(j));
+ }
+
+ for (int i = 0; i < numberOfMessages; i++)
+ {
+ message = session.createMessage(true);
+
+ HornetQBuffer bodyLocal = message.getBodyBuffer();
+
+ bodyLocal.writeBytes(body);
+
+ message.putIntProperty(new SimpleString("id"), i);
+
+ producer.send(message);
+ if (i % messagesPerTX == 0)
+ {
+ session.commit();
+ }
+ }
+ session.commit();
+ session.close();
+ }
+ finally
+ {
+ try
+ {
+ server.stop();
+ }
+ catch (Throwable ignored)
+ {
+ }
+ }
+
+ ArrayList<RecordInfo> records = new ArrayList<RecordInfo>();
+
+ List<PreparedTransactionInfo> list = new ArrayList<PreparedTransactionInfo>();
+
+ JournalImpl jrn = new JournalImpl(config.getJournalFileSize(),
+ 2,
+ 0,
+ 0,
+ new NIOSequentialFileFactory(getJournalDir()),
+ "hornetq-data",
+ "hq",
+ 1);
+ jrn.start();
+ jrn.load(records, list, null);
+
+ // Delete everything from the journal
+ for (RecordInfo info : records)
+ {
+ if (!info.isUpdate)
+ {
+ jrn.appendDeleteRecord(info.id, false);
+ }
+ }
+
+ jrn.stop();
+
+ server = createServer(true,
+ config,
+ PagingTest.PAGE_SIZE,
+ PagingTest.PAGE_MAX,
+ new HashMap<String, AddressSettings>());
+
+ server.start();
+
+ Page pg = server.getPagingManager().getPageStore(ADDRESS).getCurrentPage();
+
+ pg.open();
+
+ List<PagedMessage> msgs = pg.read(server.getStorageManager());
+
+ pg.close();
+
+ long queues[] = new long[] { server.locateQueue(new SimpleString("q1")).getID() };
+
+ for (long q : queues)
+ {
+ for (int i = 0; i < msgs.size(); i++)
+ {
+ server.getStorageManager().storeCursorAcknowledge(q, new PagePositionImpl(pg.getPageId(), i));
+ }
+ }
+
+ server.stop();
+
+ ServerLocator locator = createInVMNonHALocator();
+
+ locator.setBlockOnNonDurableSend(true);
+ locator.setBlockOnDurableSend(true);
+ locator.setBlockOnAcknowledge(true);
+
+ server = createServer(true,
+ config,
+ PagingTest.PAGE_SIZE,
+ PagingTest.PAGE_MAX,
+ new HashMap<String, AddressSettings>());
+
+ server.start();
+
+ ClientSessionFactory csf = locator.createSessionFactory();
+
+ ClientSession sess = csf.createSession();
+
+ sess.start();
+
+ ClientConsumer cons = sess.createConsumer("q1");
+
+ assertNull(cons.receive(500));
+
+ Thread.sleep(5000);
+
+ ClientConsumer cons2 = sess.createConsumer("q2");
+ assertNull(cons2.receive(500));
+
+ long timeout = System.currentTimeMillis() + 5000;
+
+ while (System.currentTimeMillis() < timeout && server.getPagingManager().getPageStore(ADDRESS).isPaging())
+ {
+ Thread.sleep(100);
+ }
+
+ assertFalse(server.getPagingManager().getPageStore(ADDRESS).isPaging());
+
+ sess.close();
+
+ locator.close();
+
+ server.stop();
+ }
+
+ public void testMissingTXEverythingAcked2() throws Exception
+ {
+ clearData();
+
+ Configuration config = createDefaultConfig();
+
+ config.setJournalSyncNonTransactional(false);
+
+ HornetQServer server = createServer(true,
+ config,
+ PagingTest.PAGE_SIZE,
+ PagingTest.PAGE_MAX,
+ new HashMap<String, AddressSettings>());
+
+ server.start();
+
+ final int messageSize = 1024;
+
+ final int numberOfMessages = 6;
+
+ final int numberOfTX = 2;
+
+ final int messagesPerTX = numberOfMessages / numberOfTX;
+
+ try
+ {
+ ServerLocator locator = createInVMNonHALocator();
+
+ locator.setBlockOnNonDurableSend(true);
+ locator.setBlockOnDurableSend(true);
+ locator.setBlockOnAcknowledge(true);
+
+ ClientSessionFactory sf = locator.createSessionFactory();
+
+ ClientSession session = sf.createSession(false, false, false);
+
+ session.createQueue(ADDRESS.toString(), "q1", true);
+
+ session.createQueue(ADDRESS.toString(), "q2", true);
+
+ server.getPagingManager().getPageStore(ADDRESS).startPaging();
+
+ ClientProducer producer = session.createProducer(PagingTest.ADDRESS);
+
+ ClientMessage message = null;
+
+ byte[] body = new byte[messageSize];
+
+ ByteBuffer bb = ByteBuffer.wrap(body);
+
+ for (int j = 1; j <= messageSize; j++)
+ {
+ bb.put(getSamplebyte(j));
+ }
+
+ for (int i = 0; i < numberOfMessages; i++)
+ {
+ message = session.createMessage(true);
+
+ HornetQBuffer bodyLocal = message.getBodyBuffer();
+
+ bodyLocal.writeBytes(body);
+
+ message.putStringProperty("id", "str-" + i);
+
+ producer.send(message);
+ if ((i + 1) % messagesPerTX == 0)
+ {
+ session.commit();
+ }
+ }
+ session.commit();
+
+ session.start();
+
+ for (int i = 1; i <= 2; i++)
+ {
+ ClientConsumer cons = session.createConsumer("q" + i);
+
+ for (int j = 0; j < 3; j++)
+ {
+ ClientMessage msg = cons.receive(5000);
+
+ assertNotNull(msg);
+
+ assertEquals("str-" + j, msg.getStringProperty("id"));
+
+ msg.acknowledge();
+ }
+
+ session.commit();
+
+ }
+
+ session.close();
+ }
+ finally
+ {
+ locator.close();
+ try
+ {
+ server.stop();
+ }
+ catch (Throwable ignored)
+ {
+ }
+ }
+
+ server = createServer(true,
+ config,
+ PagingTest.PAGE_SIZE,
+ PagingTest.PAGE_MAX,
+ new HashMap<String, AddressSettings>());
+
+ server.start();
+
+ ServerLocator locator = createInVMNonHALocator();
+
+ locator.setBlockOnNonDurableSend(true);
+ locator.setBlockOnDurableSend(true);
+ locator.setBlockOnAcknowledge(true);
+
+ ClientSessionFactory csf = locator.createSessionFactory();
+
+ ClientSession session = csf.createSession();
+
+ session.start();
+
+ for (int i = 1; i <= 2; i++)
+ {
+ ClientConsumer cons = session.createConsumer("q" + i);
+
+ for (int j = 3; j < 6; j++)
+ {
+ ClientMessage msg = cons.receive(5000);
+
+ assertNotNull(msg);
+
+ assertEquals("str-" + j, msg.getStringProperty("id"));
+
+ msg.acknowledge();
+ }
+
+ session.commit();
+ assertNull(cons.receive(500));
+
+ }
+
+ session.close();
+
+ long timeout = System.currentTimeMillis() + 5000;
+
+ while (System.currentTimeMillis() < timeout && server.getPagingManager().getPageStore(ADDRESS).isPaging())
+ {
+ Thread.sleep(100);
+ }
+
+ locator.close();
+
+ server.stop();
+ }
+
public void testTwoQueuesOneNoRouting() throws Exception
{
boolean persistentMessages = true;
@@ -2787,8 +3139,7 @@
}
}
}
-
-
+
public void testPageAndDepageRapidly() throws Exception
{
boolean persistentMessages = true;
@@ -2800,11 +3151,7 @@
config.setJournalSyncNonTransactional(false);
config.setJournalFileSize(10 * 1024 * 1024);
- HornetQServer server = createServer(true,
- config,
- 512 * 1024,
- 1024 * 1024,
- new HashMap<String, AddressSettings>());
+ HornetQServer server = createServer(true, config, 512 * 1024, 1024 * 1024, new HashMap<String, AddressSettings>());
server.start();
@@ -2827,9 +3174,9 @@
session.createQueue(PagingTest.ADDRESS, PagingTest.ADDRESS, null, true);
ClientProducer producer = session.createProducer(PagingTest.ADDRESS);
-
+
final AtomicInteger errors = new AtomicInteger(0);
-
+
Thread consumeThread = new Thread()
{
public void run()
@@ -2839,16 +3186,16 @@
{
sessionConsumer = sf.createSession(false, false);
sessionConsumer.start();
-
+
ClientConsumer cons = sessionConsumer.createConsumer(ADDRESS);
-
+
for (int i = 0; i < numberOfMessages; i++)
{
ClientMessage msg = cons.receive(PagingTest.RECEIVE_TIMEOUT);
System.out.println("Message " + i + " consumed");
assertNotNull(msg);
msg.acknowledge();
-
+
if (i % 20 == 0)
{
System.out.println("Commit consumer");
@@ -2874,10 +3221,10 @@
errors.incrementAndGet();
}
}
-
+
}
};
-
+
consumeThread.start();
ClientMessage message = null;
@@ -2887,7 +3234,7 @@
for (int i = 0; i < numberOfMessages; i++)
{
message = session.createMessage(persistentMessages);
-
+
System.out.println("Message " + i + " sent");
HornetQBuffer bodyLocal = message.getBodyBuffer();
@@ -2897,23 +3244,24 @@
message.putIntProperty(new SimpleString("id"), i);
producer.send(message);
-
+
Thread.sleep(50);
}
-
consumeThread.join();
-
+
long timeout = System.currentTimeMillis() + 5000;
-
- while (System.currentTimeMillis() < timeout && (server.getPagingManager().getPageStore(ADDRESS).isPaging() || server.getPagingManager().getPageStore(ADDRESS).getNumberOfPages() != 1))
+
+ while (System.currentTimeMillis() < timeout && (server.getPagingManager().getPageStore(ADDRESS).isPaging() || server.getPagingManager()
+ .getPageStore(ADDRESS)
+ .getNumberOfPages() != 1))
{
Thread.sleep(1);
}
// It's async, so need to wait a bit for it happening
assertFalse(server.getPagingManager().getPageStore(ADDRESS).isPaging());
-
+
assertEquals(1, server.getPagingManager().getPageStore(ADDRESS).getNumberOfPages());
sf.close();
@@ -2933,7 +3281,6 @@
}
-
public void testTwoQueuesDifferentFilters() throws Exception
{
boolean persistentMessages = true;
@@ -2959,7 +3306,7 @@
try
{
ServerLocator locator = createInVMNonHALocator();
-
+
locator.setClientFailureCheckPeriod(120000);
locator.setConnectionTTL(5000000);
locator.setCallTimeout(120000);
@@ -2971,14 +3318,16 @@
ClientSessionFactory sf = locator.createSessionFactory();
ClientSession session = sf.createSession(false, false, false);
-
+
// note: if you want to change this, numberOfMessages has to be a multiple of NQUEUES
int NQUEUES = 2;
-
- for (int i = 0 ; i < NQUEUES; i++)
+ for (int i = 0; i < NQUEUES; i++)
{
- session.createQueue(PagingTest.ADDRESS, PagingTest.ADDRESS.concat("=" + i), new SimpleString("propTest=" + i), true);
+ session.createQueue(PagingTest.ADDRESS,
+ PagingTest.ADDRESS.concat("=" + i),
+ new SimpleString("propTest=" + i),
+ true);
}
ClientProducer producer = session.createProducer(PagingTest.ADDRESS);
@@ -3012,20 +3361,20 @@
for (int nqueue = 0; nqueue < NQUEUES; nqueue++)
{
ClientConsumer consumer = session.createConsumer(PagingTest.ADDRESS.concat("=" + nqueue));
-
- for (int i = 0; i < (numberOfMessages /NQUEUES); i++)
+
+ for (int i = 0; i < (numberOfMessages / NQUEUES); i++)
{
message = consumer.receive(500000);
assertNotNull(message);
message.acknowledge();
-
+
assertEquals(nqueue, message.getIntProperty("propTest").intValue());
}
-
+
assertNull(consumer.receiveImmediate());
-
+
consumer.close();
-
+
session.commit();
}
@@ -3038,7 +3387,6 @@
Thread.sleep(100);
}
-
// It's async, so need to wait a bit for it happening
assertFalse(server.getPagingManager().getPageStore(ADDRESS).isPaging());
@@ -3056,11 +3404,8 @@
{
}
}
-
}
-
-
public void testTwoQueues() throws Exception
{
boolean persistentMessages = true;
@@ -3086,7 +3431,7 @@
try
{
ServerLocator locator = createInVMNonHALocator();
-
+
locator.setClientFailureCheckPeriod(120000);
locator.setConnectionTTL(5000000);
locator.setCallTimeout(120000);
@@ -3098,7 +3443,6 @@
ClientSessionFactory sf = locator.createSessionFactory();
ClientSession session = sf.createSession(false, false, false);
-
session.createQueue(PagingTest.ADDRESS, PagingTest.ADDRESS.concat("=1"), null, true);
session.createQueue(PagingTest.ADDRESS, PagingTest.ADDRESS.concat("=2"), null, true);
@@ -3133,22 +3477,22 @@
for (int msg = 1; msg <= 2; msg++)
{
ClientConsumer consumer = session.createConsumer(PagingTest.ADDRESS.concat("=" + msg));
-
+
for (int i = 0; i < numberOfMessages; i++)
{
message = consumer.receive(500000);
assertNotNull(message);
message.acknowledge();
-
- //assertEquals(msg, message.getIntProperty("propTest").intValue());
-
+
+ // assertEquals(msg, message.getIntProperty("propTest").intValue());
+
System.out.println("i = " + i + " msg = " + message.getIntProperty("propTest"));
}
-
+
session.commit();
-
+
assertNull(consumer.receiveImmediate());
-
+
consumer.close();
}
@@ -3162,10 +3506,9 @@
}
store.getCursorProvier().cleanup();
-
+
Thread.sleep(1000);
-
-
+
// It's async, so need to wait a bit for it happening
assertFalse(server.getPagingManager().getPageStore(ADDRESS).isPaging());
@@ -3183,11 +3526,221 @@
{
}
}
-
}
+ public void testDLAOnLargeMessageAndPaging() throws Exception
+ {
+ clearData();
+ Configuration config = createDefaultConfig();
+ config.setJournalSyncNonTransactional(false);
+
+ Map<String, AddressSettings> settings = new HashMap<String, AddressSettings>();
+ AddressSettings dla = new AddressSettings();
+ dla.setMaxDeliveryAttempts(5);
+ dla.setDeadLetterAddress(new SimpleString("DLA"));
+ settings.put(ADDRESS.toString(), dla);
+
+ final HornetQServer server = createServer(true, config, PagingTest.PAGE_SIZE, PagingTest.PAGE_MAX, settings);
+
+ server.start();
+
+ final int messageSize = 1024;
+
+ try
+ {
+ ServerLocator locator = createInVMNonHALocator();
+
+ locator.setBlockOnNonDurableSend(true);
+ locator.setBlockOnDurableSend(true);
+ locator.setBlockOnAcknowledge(true);
+
+ ClientSessionFactory sf = locator.createSessionFactory();
+
+ ClientSession session = sf.createSession(false, false, false);
+
+ session.createQueue(ADDRESS, ADDRESS, true);
+
+ session.createQueue("DLA", "DLA");
+
+ PagingStore pgStoreAddress = server.getPagingManager().getPageStore(ADDRESS);
+ pgStoreAddress.startPaging();
+ PagingStore pgStoreDLA = server.getPagingManager().getPageStore(new SimpleString("DLA"));
+
+ ClientProducer producer = session.createProducer(PagingTest.ADDRESS);
+
+ ClientMessage message = null;
+
+ for (int i = 0; i < 500; i++)
+ {
+ log.info("send message #" + i);
+ message = session.createMessage(true);
+
+ message.putStringProperty("id", "str" + i);
+
+ message.setBodyInputStream(createFakeLargeStream(messageSize));
+
+ producer.send(message);
+
+ if ((i + 1) % 2 == 0)
+ {
+ session.commit();
+ if (i < 400)
+ {
+ pgStoreAddress.forceAnotherPage();
+ }
+ }
+ }
+
+ session.commit();
+
+ session.start();
+
+ ClientConsumer cons = session.createConsumer(ADDRESS);
+
+ ClientMessage msg = null;
+
+ for (int msgNr = 0 ; msgNr < 2; msgNr++)
+ {
+ for (int i = 0 ; i < 5; i++)
+ {
+ msg = cons.receive(5000);
+
+ assertNotNull(msg);
+
+ msg.acknowledge();
+
+ assertEquals("str" + msgNr, msg.getStringProperty("id"));
+
+ for (int j = 0; j < messageSize; j++)
+ {
+ assertEquals(getSamplebyte(j), msg.getBodyBuffer().readByte());
+ }
+
+ session.rollback();
+ }
+
+ pgStoreDLA.startPaging();
+ }
+
+ for (int i = 2; i < 500; i++)
+ {
+ log.info("Received message " + i);
+ message = cons.receive(5000);
+ assertNotNull(message);
+ message.acknowledge();
+
+ message.saveToOutputStream(new OutputStream()
+ {
+ @Override
+ public void write(int b) throws IOException
+ {
+
+ }
+ });
+
+ }
+
+ assertNull(cons.receiveImmediate());
+
+ cons.close();
+
+ sf.close();
+
+ locator.close();
+
+ server.stop();
+
+ server.start();
+
+ locator = createInVMNonHALocator();
+
+ sf = locator.createSessionFactory();
+
+ session = sf.createSession(false, false);
+
+ session.start();
+
+ cons = session.createConsumer(ADDRESS);
+
+ for (int i = 2; i < 500; i++)
+ {
+ log.info("Received message " + i);
+ message = cons.receive(5000);
+ assertNotNull(message);
+ message.acknowledge();
+
+ message.saveToOutputStream(new OutputStream()
+ {
+ @Override
+ public void write(int b) throws IOException
+ {
+
+ }
+ });
+ }
+
+ cons.close();
+
+ cons = session.createConsumer("DLA");
+
+ for (int msgNr = 0 ; msgNr < 2; msgNr++)
+ {
+ msg = cons.receive(5000);
+
+ assertNotNull(msg);
+
+ assertEquals("str" + msgNr, msg.getStringProperty("id"));
+
+ for (int i = 0; i < messageSize; i++)
+ {
+ assertEquals(getSamplebyte(i), msg.getBodyBuffer().readByte());
+ }
+
+ msg.acknowledge();
+ }
+
+ cons.close();
+
+ cons = session.createConsumer(ADDRESS);
+
+ session.commit();
+
+ assertNull(cons.receiveImmediate());
+
+ long timeout = System.currentTimeMillis() + 5000;
+
+ pgStoreAddress = server.getPagingManager().getPageStore(ADDRESS);
+
+ pgStoreAddress.getCursorProvier().getSubscription(server.locateQueue(ADDRESS).getID()).cleanupEntries();
+
+ pgStoreAddress.getCursorProvier().cleanup();
+
+ while (timeout > System.currentTimeMillis() && pgStoreAddress.isPaging())
+ {
+ Thread.sleep(50);
+ }
+
+ assertFalse(pgStoreAddress.isPaging());
+
+ session.commit();
+
+ session.close();
+ }
+ finally
+ {
+ locator.close();
+ try
+ {
+ server.stop();
+ }
+ catch (Throwable ignored)
+ {
+ }
+ }
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Modified: branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/stress/paging/PageCursorStressTest.java
===================================================================
--- branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/stress/paging/PageCursorStressTest.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/stress/paging/PageCursorStressTest.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -97,7 +97,7 @@
PageCursorProviderImpl cursorProvider = new PageCursorProviderImpl(lookupPageStore(ADDRESS),
server.getStorageManager(),
- server.getExecutorFactory(),
+ server.getExecutorFactory().getExecutor(),
5);
for (int i = 0; i < numberOfPages; i++)
Modified: branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/unit/core/journal/impl/fakes/FakeSequentialFileFactory.java
===================================================================
--- branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/unit/core/journal/impl/fakes/FakeSequentialFileFactory.java 2011-05-12 15:53:41 UTC (rev 10648)
+++ branches/Branch_2_2_EAP/tests/src/org/hornetq/tests/unit/core/journal/impl/fakes/FakeSequentialFileFactory.java 2011-05-13 04:10:25 UTC (rev 10649)
@@ -674,6 +674,15 @@
{
}
+ /* (non-Javadoc)
+ * @see org.hornetq.core.journal.SequentialFile#copyTo(org.hornetq.core.journal.SequentialFile)
+ */
+ public void copyTo(SequentialFile newFileName)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
}
/* (non-Javadoc)
15 years
JBoss hornetq SVN: r10648 - in trunk/hornetq-core/src/main/java/org/hornetq/core: remoting/impl/netty and 1 other directories.
by do-not-reply@jboss.org
Author: borges
Date: 2011-05-12 11:53:41 -0400 (Thu, 12 May 2011)
New Revision: 10648
Modified:
trunk/hornetq-core/src/main/java/org/hornetq/core/config/impl/ConfigurationImpl.java
trunk/hornetq-core/src/main/java/org/hornetq/core/config/impl/FileConfiguration.java
trunk/hornetq-core/src/main/java/org/hornetq/core/remoting/impl/netty/NettyAcceptor.java
trunk/hornetq-core/src/main/java/org/hornetq/core/version/impl/VersionImpl.java
Log:
Fix warnings
Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/config/impl/ConfigurationImpl.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/config/impl/ConfigurationImpl.java 2011-05-12 15:52:54 UTC (rev 10647)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/config/impl/ConfigurationImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
@@ -157,7 +157,7 @@
public static final int DEFAULT_ID_CACHE_SIZE = 2000;
public static final boolean DEFAULT_PERSIST_ID_CACHE = true;
-
+
public static final boolean DEFAULT_CLUSTER_DUPLICATE_DETECTION = true;
public static final boolean DEFAULT_CLUSTER_FORWARD_WHEN_NO_CONSUMERS = false;
@@ -185,7 +185,7 @@
public static final String DEFAULT_LOG_DELEGATE_FACTORY_CLASS_NAME = JULLogDelegateFactory.class.getCanonicalName();
// Attributes -----------------------------------------------------------------------------
-
+
protected String name = "ConfigurationImpl::" + System.identityHashCode(this);
protected boolean clustered = ConfigurationImpl.DEFAULT_CLUSTERED;
@@ -231,7 +231,7 @@
protected String logDelegateFactoryClassName = ConfigurationImpl.DEFAULT_LOG_DELEGATE_FACTORY_CLASS_NAME;
protected List<String> interceptorClassNames = new ArrayList<String>();
-
+
protected Map<String, TransportConfiguration> connectorConfigs = new HashMap<String, TransportConfiguration>();
protected Set<TransportConfiguration> acceptorConfigs = new HashSet<TransportConfiguration>();
@@ -341,56 +341,67 @@
// Public -------------------------------------------------------------------------
+ @Override
public boolean isClustered()
{
return clustered;
}
+ @Override
public void setClustered(final boolean clustered)
{
this.clustered = clustered;
}
+ @Override
public boolean isAllowAutoFailBack()
{
return allowAutoFailBack;
}
+ @Override
public void setAllowAutoFailBack(boolean allowAutoFailBack)
{
this.allowAutoFailBack = allowAutoFailBack;
}
+ @Override
public boolean isBackup()
{
return backup;
}
+ @Override
public boolean isFileDeploymentEnabled()
{
return fileDeploymentEnabled;
}
+ @Override
public void setFileDeploymentEnabled(final boolean enable)
{
fileDeploymentEnabled = enable;
}
+ @Override
public boolean isPersistenceEnabled()
{
return persistenceEnabled;
}
+ @Override
public void setPersistenceEnabled(final boolean enable)
{
persistenceEnabled = enable;
}
+ @Override
public long getFileDeployerScanPeriod()
{
return fileDeploymentScanPeriod;
}
+ @Override
public void setFileDeployerScanPeriod(final long period)
{
fileDeploymentScanPeriod = period;
@@ -399,91 +410,109 @@
/**
* @return the persistDeliveryCountBeforeDelivery
*/
+ @Override
public boolean isPersistDeliveryCountBeforeDelivery()
{
return persistDeliveryCountBeforeDelivery;
}
+ @Override
public void setPersistDeliveryCountBeforeDelivery(final boolean persistDeliveryCountBeforeDelivery)
{
this.persistDeliveryCountBeforeDelivery = persistDeliveryCountBeforeDelivery;
}
+ @Override
public void setBackup(final boolean backup)
{
this.backup = backup;
}
+ @Override
public boolean isSharedStore()
{
return sharedStore;
}
+ @Override
public void setSharedStore(final boolean sharedStore)
{
this.sharedStore = sharedStore;
}
+ @Override
public int getScheduledThreadPoolMaxSize()
{
return scheduledThreadPoolMaxSize;
}
+ @Override
public void setScheduledThreadPoolMaxSize(final int maxSize)
{
scheduledThreadPoolMaxSize = maxSize;
}
+ @Override
public int getThreadPoolMaxSize()
{
return threadPoolMaxSize;
}
+ @Override
public void setThreadPoolMaxSize(final int maxSize)
{
threadPoolMaxSize = maxSize;
}
+ @Override
public long getSecurityInvalidationInterval()
{
return securityInvalidationInterval;
}
+ @Override
public void setSecurityInvalidationInterval(final long interval)
{
securityInvalidationInterval = interval;
}
+ @Override
public long getConnectionTTLOverride()
{
return connectionTTLOverride;
}
+ @Override
public void setConnectionTTLOverride(final long ttl)
{
connectionTTLOverride = ttl;
}
+ @Override
public boolean isAsyncConnectionExecutionEnabled()
{
return asyncConnectionExecutionEnabled;
}
+ @Override
public void setEnabledAsyncConnectionExecution(final boolean enabled)
{
asyncConnectionExecutionEnabled = enabled;
}
+ @Override
public List<String> getInterceptorClassNames()
{
return interceptorClassNames;
}
+ @Override
public void setInterceptorClassNames(final List<String> interceptors)
{
interceptorClassNames = interceptors;
}
+ @Override
public Set<TransportConfiguration> getAcceptorConfigurations()
{
return acceptorConfigs;
@@ -499,26 +528,31 @@
return connectorConfigs;
}
+ @Override
public void setConnectorConfigurations(final Map<String, TransportConfiguration> infos)
{
connectorConfigs = infos;
}
+ @Override
public String getLiveConnectorName()
{
return liveConnectorName;
}
+ @Override
public void setLiveConnectorName(final String liveConnectorName)
{
this.liveConnectorName = liveConnectorName;
}
-
+
+ @Override
public GroupingHandlerConfiguration getGroupingHandlerConfiguration()
{
return groupingHandlerConfiguration;
}
+ @Override
public void setGroupingHandlerConfiguration(final GroupingHandlerConfiguration groupingHandlerConfiguration)
{
this.groupingHandlerConfiguration = groupingHandlerConfiguration;
Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/config/impl/FileConfiguration.java 2011-05-12 15:52:54 UTC (rev 10647)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/config/impl/FileConfiguration.java 2011-05-12 15:53:41 UTC (rev 10648)
@@ -23,8 +23,7 @@
import org.w3c.dom.Element;
/**
- * ConfigurationImpl
- * This class allows the Configuration class to be configured via a config file.
+ * A {@code FileConfiguration} reads configuration values from a file.
*
* @author <a href="ataylor(a)redhat.com">Andy Taylor</a>
* @author <a href="tim.fox(a)jboss.com">Tim Fox</a>
@@ -39,8 +38,7 @@
private static final String DEFAULT_CONFIGURATION_URL = "hornetq-configuration.xml";
- // For a bridge confirmations must be activated or send acknowledgements won't return
-
+ // For a bridge confirmations must be activated or sent acknowledgments won't return
public static final int DEFAULT_CONFIRMATION_WINDOW_SIZE = 1024 * 1024;
// Static --------------------------------------------------------------------------
@@ -59,25 +57,25 @@
{
return;
}
-
-
+
+
URL url = getClass().getClassLoader().getResource(configurationUrl);
-
+
if (url == null)
{
// The URL is outside of the classloader. Trying a pure url now
url = new URL(configurationUrl);
}
-
+
FileConfiguration.log.debug("Loading server configuration from " + url);
Reader reader = new InputStreamReader(url.openStream());
String xml = org.hornetq.utils.XMLUtil.readerToString(reader);
xml = XMLUtil.replaceSystemProps(xml);
Element e = org.hornetq.utils.XMLUtil.stringToElement(xml);
-
+
FileConfigurationParser parser = new FileConfigurationParser();
-
+
// https://jira.jboss.org/browse/HORNETQ-478 - We only want to validate AIO when
// starting the server
// and we don't want to do it when deploying hornetq-queues.xml which uses the same parser and XML format
Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/remoting/impl/netty/NettyAcceptor.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/remoting/impl/netty/NettyAcceptor.java 2011-05-12 15:52:54 UTC (rev 10647)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/remoting/impl/netty/NettyAcceptor.java 2011-05-12 15:53:41 UTC (rev 10648)
@@ -267,6 +267,7 @@
configuration);
}
+ @Override
public synchronized void start() throws Exception
{
if (channelFactory != null)
@@ -329,6 +330,7 @@
ChannelPipelineFactory factory = new ChannelPipelineFactory()
{
+ @Override
public ChannelPipeline getPipeline() throws Exception
{
Map<String, ChannelHandler> handlers = new LinkedHashMap<String, ChannelHandler>();
@@ -347,7 +349,7 @@
if (httpEnabled)
{
handlers.put("http-decoder", new HttpRequestDecoder());
-
+
handlers.put("http-aggregator", new HttpChunkAggregator(Integer.MAX_VALUE));
handlers.put("http-encoder", new HttpResponseEncoder());
@@ -484,6 +486,7 @@
}
}
+ @Override
public synchronized void stop()
{
if (channelFactory == null)
@@ -559,11 +562,13 @@
paused = false;
}
+ @Override
public boolean isStarted()
{
return channelFactory != null;
}
+ @Override
public void pause()
{
if (paused)
@@ -606,6 +611,7 @@
paused = true;
}
+ @Override
public void setNotificationService(final NotificationService notificationService)
{
this.notificationService = notificationService;
@@ -632,6 +638,7 @@
{
sslHandler.handshake().addListener(new ChannelFutureListener()
{
+ @Override
public void operationComplete(final ChannelFuture future) throws Exception
{
if (future.isSuccess())
@@ -654,6 +661,7 @@
private class Listener implements ConnectionLifeCycleListener
{
+ @Override
public void connectionCreated(final Connection connection, final ProtocolType protocol)
{
if (connections.putIfAbsent(connection.getID(), (NettyConnection)connection) != null)
@@ -664,6 +672,7 @@
listener.connectionCreated(connection, NettyAcceptor.this.protocol);
}
+ @Override
public void connectionDestroyed(final Object connectionID)
{
if (connections.remove(connectionID) != null)
@@ -672,6 +681,7 @@
}
}
+ @Override
public void connectionException(final Object connectionID, final HornetQException me)
{
// Execute on different thread to avoid deadlocks
@@ -686,21 +696,23 @@
}
+ @Override
public void connectionReadyForWrites(final Object connectionID, boolean ready)
{
NettyConnection conn = connections.get(connectionID);
-
+
if (conn != null)
{
conn.fireReady(ready);
- }
- }
+ }
+ }
}
private class BatchFlusher implements Runnable
{
private boolean cancelled;
+ @Override
public synchronized void run()
{
if (!cancelled)
Modified: trunk/hornetq-core/src/main/java/org/hornetq/core/version/impl/VersionImpl.java
===================================================================
--- trunk/hornetq-core/src/main/java/org/hornetq/core/version/impl/VersionImpl.java 2011-05-12 15:52:54 UTC (rev 10647)
+++ trunk/hornetq-core/src/main/java/org/hornetq/core/version/impl/VersionImpl.java 2011-05-12 15:53:41 UTC (rev 10648)
@@ -46,7 +46,7 @@
private final int incrementingVersion;
private final String versionSuffix;
-
+
private final String nettyVersion;
private final int[] compatibleVersionList;
@@ -75,12 +75,13 @@
this.versionSuffix = versionSuffix;
this.nettyVersion = nettyVersion;
-
+
this.compatibleVersionList = compatibleVersionList;
}
// Version implementation ------------------------------------------
+ @Override
public String getFullVersion()
{
return majorVersion + "." +
@@ -96,41 +97,49 @@
")";
}
+ @Override
public String getVersionName()
{
return versionName;
}
+ @Override
public int getMajorVersion()
{
return majorVersion;
}
+ @Override
public int getMinorVersion()
{
return minorVersion;
}
+ @Override
public int getMicroVersion()
{
return microVersion;
}
+ @Override
public String getVersionSuffix()
{
return versionSuffix;
}
+ @Override
public int getIncrementingVersion()
{
return incrementingVersion;
}
+ @Override
public String getNettyVersion()
{
return nettyVersion;
}
+ @Override
public int[] getCompatibleVersionList()
{
return compatibleVersionList;
@@ -145,7 +154,7 @@
{
return true;
}
- if (other instanceof Version == false)
+ if (!(other instanceof Version))
{
return false;
}
15 years
JBoss hornetq SVN: r10647 - in trunk/tests: integration-tests and 2 other directories.
by do-not-reply@jboss.org
Author: borges
Date: 2011-05-12 11:52:54 -0400 (Thu, 12 May 2011)
New Revision: 10647
Added:
trunk/tests/integration-tests/src/test/resources/
trunk/tests/integration-tests/src/test/resources/hornetq-jms-for-JMSServerDeployerTest.xml
trunk/tests/integration-tests/src/test/resources/hornetq-jms-for-JMSServerDeployerTest2.xml
trunk/tests/integration-tests/src/test/resources/restricted-security-client.policy
trunk/tests/integration-tests/src/test/resources/server-start-stop-config1.xml
trunk/tests/integration-tests/src/test/resources/server-start-stop-jms-config1.xml
trunk/tests/integration-tests/src/test/resources/spring-jms-beans.xml
Removed:
trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest.xml
trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml
trunk/tests/config/restricted-security-client.policy
trunk/tests/config/server-start-stop-config1.xml
trunk/tests/config/server-start-stop-jms-config1.xml
trunk/tests/config/spring-jms-beans.xml
Modified:
trunk/tests/integration-tests/pom.xml
Log:
Move integration resources into standard Maven folder
Deleted: trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest.xml
===================================================================
--- trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest.xml 2011-05-12 15:52:05 UTC (rev 10646)
+++ trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -1,53 +0,0 @@
-<configuration xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq ../../src/schemas/hornetq-jms.xsd ">
-
- <connection-factory name="fullConfigurationConnectionFactory">
- <entries>
- <entry name="/fullConfigurationConnectionFactory"/>
- <entry name="/acme/fullConfigurationConnectionFactory"/>
- <entry name="java:/xyz/tfullConfigurationConnectionFactory"/>
- <entry name="java:/connectionfactories/acme/fullConfigurationConnectionFactory"/>
- </entries>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <client-failure-check-period>1234</client-failure-check-period>
- <call-timeout>5678</call-timeout>
- <consumer-window-size>12345</consumer-window-size>
- <consumer-max-rate>6789</consumer-max-rate>
- <confirmation-window-size>123456</confirmation-window-size>
- <producer-window-size>7712652</producer-window-size>
- <producer-max-rate>789</producer-max-rate>
- <min-large-message-size>12</min-large-message-size>
- <compress-large-messages>true</compress-large-messages>
- <client-id>TestClientID</client-id>
- <dups-ok-batch-size>3456</dups-ok-batch-size>
- <transaction-batch-size>4567</transaction-batch-size>
- <block-on-acknowledge>true</block-on-acknowledge>
- <block-on-non-durable-send>false</block-on-non-durable-send>
- <block-on-durable-send>true</block-on-durable-send>
- <auto-group>false</auto-group>
- <pre-acknowledge>true</pre-acknowledge>
- <connection-ttl>2345</connection-ttl>
- <failover-on-initial-connection>true</failover-on-initial-connection>
- <failover-on-server-shutdown>false</failover-on-server-shutdown>
- <connection-load-balancing-policy-class-name>FooClass</connection-load-balancing-policy-class-name>
- <reconnect-attempts>34</reconnect-attempts>
- <retry-interval>5</retry-interval>
- <retry-interval-multiplier>6.0</retry-interval-multiplier>
- <max-retry-interval>300</max-retry-interval>
- <cache-large-message-client>true</cache-large-message-client>
- </connection-factory>
-
- <queue name="fullConfigurationQueue">
- <entry name="/fullConfigurationQueue"/>
- <entry name="/queue/fullConfigurationQueue"/>
- </queue>
-
- <topic name="fullConfigurationTopic">
- <entry name="/fullConfigurationTopic"/>
- <entry name="/topic/fullConfigurationTopic"/>
- </topic>
-
-</configuration>
\ No newline at end of file
Deleted: trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml
===================================================================
--- trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml 2011-05-12 15:52:05 UTC (rev 10646)
+++ trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -1,53 +0,0 @@
-<configuration xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq ../../src/schemas/hornetq-jms.xsd ">
-
- <connection-factory name="fullConfigurationConnectionFactory">
- <entries>
- <entry name="/fullConfigurationConnectionFactory"/>
- <entry name="/acme/fullConfigurationConnectionFactory"/>
- <entry name="java:/xyz/tfullConfigurationConnectionFactory"/>
- <entry name="java:/connectionfactories/acme/fullConfigurationConnectionFactory"/>
- </entries>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <discovery-group-ref discovery-group-name="mygroup"/>
- <client-failure-check-period>1234</client-failure-check-period>
- <call-timeout>5678</call-timeout>
- <consumer-window-size>12345</consumer-window-size>
- <consumer-max-rate>6789</consumer-max-rate>
- <confirmation-window-size>123456</confirmation-window-size>
- <producer-window-size>7712652</producer-window-size>
- <producer-max-rate>789</producer-max-rate>
- <min-large-message-size>12</min-large-message-size>
- <client-id>TestClientID</client-id>
- <dups-ok-batch-size>3456</dups-ok-batch-size>
- <transaction-batch-size>4567</transaction-batch-size>
- <block-on-acknowledge>true</block-on-acknowledge>
- <block-on-non-durable-send>false</block-on-non-durable-send>
- <block-on-durable-send>true</block-on-durable-send>
- <auto-group>false</auto-group>
- <pre-acknowledge>true</pre-acknowledge>
- <connection-ttl>2345</connection-ttl>
- <failover-on-initial-connection>true</failover-on-initial-connection>
- <failover-on-server-shutdown>false</failover-on-server-shutdown>
- <connection-load-balancing-policy-class-name>FooClass</connection-load-balancing-policy-class-name>
- <reconnect-attempts>34</reconnect-attempts>
- <retry-interval>5</retry-interval>
- <retry-interval-multiplier>6.0</retry-interval-multiplier>
- <max-retry-interval>300</max-retry-interval>
- <cache-large-message-client>true</cache-large-message-client>
- </connection-factory>
-
- <queue name="fullConfigurationQueue">
- <entry name="/fullConfigurationQueue"/>
- <entry name="/queue/fullConfigurationQueue"/>
- </queue>
-
- <topic name="fullConfigurationTopic">
- <entry name="/fullConfigurationTopic"/>
- <entry name="/topic/fullConfigurationTopic"/>
- </topic>
-
-</configuration>
\ No newline at end of file
Deleted: trunk/tests/config/restricted-security-client.policy
===================================================================
--- trunk/tests/config/restricted-security-client.policy 2011-05-12 15:52:05 UTC (rev 10646)
+++ trunk/tests/config/restricted-security-client.policy 2011-05-12 15:52:54 UTC (rev 10647)
@@ -1,8 +0,0 @@
-grant {
- //permission java.security.AllPermission;
-
- // allow to connect to localhost
- permission java.net.SocketPermission "*:1024-", "connect";
- // normally, we don't need this permission since the applet allows to read jars loaded by the applet
- permission java.io.FilePermission "${user.dir}/build/jars/hornetq-core-client.jar", "read";
-};
\ No newline at end of file
Deleted: trunk/tests/config/server-start-stop-config1.xml
===================================================================
--- trunk/tests/config/server-start-stop-config1.xml 2011-05-12 15:52:05 UTC (rev 10646)
+++ trunk/tests/config/server-start-stop-config1.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -1,33 +0,0 @@
-<configuration xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd">
-
- <connectors>
- <connector name="netty-connector">
- <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
- </connector>
- </connectors>
-
- <journal-directory>/tmp/hornetq-unit-test/start-stop-data</journal-directory>
-
- <acceptors>
- <acceptor name="netty-acceptor">
- <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
- </acceptor>
- </acceptors>
-
- <security-enabled>false</security-enabled>
-
- <queues>
- <queue name="myQueue">
- <address>myAddress</address>
- </queue>
-
- <!-- temporary fix until I investigate the cause of a failure
- <queue name="jms.queue.myJMSQueue">
- <address>jms.queue.myJMSAddress</address>
- </queue>
- -->
- </queues>
-
-</configuration>
Deleted: trunk/tests/config/server-start-stop-jms-config1.xml
===================================================================
--- trunk/tests/config/server-start-stop-jms-config1.xml 2011-05-12 15:52:05 UTC (rev 10646)
+++ trunk/tests/config/server-start-stop-jms-config1.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -1,18 +0,0 @@
-<configuration xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
- <!--the connection factory used by the example-->
- <connection-factory name="ConnectionFactory">
- <connectors>
- <connector-ref connector-name="netty-connector"/>
- </connectors>
- <entries>
- <entry name="ConnectionFactory"/>
- </entries>
- </connection-factory>
-
- <queue name="myJMSQueue">
- <entry name="myJMSQueue"/>
- </queue>
-
-</configuration>
\ No newline at end of file
Deleted: trunk/tests/config/spring-jms-beans.xml
===================================================================
--- trunk/tests/config/spring-jms-beans.xml 2011-05-12 15:52:05 UTC (rev 10646)
+++ trunk/tests/config/spring-jms-beans.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
-
- <bean id="EmbeddedJms" class="org.hornetq.integration.spring.SpringJmsBootstrap" init-method="start">
- <property name="configResourcePath" value="spring-hornetq-config.xml"/>
- <property name="jmsConfigResourcePath" value="spring-hornetq-jms.xml"/>
- </bean>
-
- <bean id="listener" class="org.hornetq.tests.integration.spring.ExampleListener"/>
-
- <bean id="MessageSender" class="org.hornetq.tests.integration.spring.MessageSender">
- <property name="connectionFactory" ref="ConnectionFactory"/>
- <property name="destination" ref="/queue/exampleQueue"/>
- </bean>
-
- <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
- <property name="connectionFactory" ref="ConnectionFactory"/>
- <property name="destination" ref="/queue/exampleQueue"/>
- <property name="messageListener" ref="listener"/>
- </bean>
-
-
-</beans>
-
\ No newline at end of file
Modified: trunk/tests/integration-tests/pom.xml
===================================================================
--- trunk/tests/integration-tests/pom.xml 2011-05-12 15:52:05 UTC (rev 10646)
+++ trunk/tests/integration-tests/pom.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -7,7 +7,6 @@
<version>2.2.3-SNAPSHOT</version>
</parent>
- <groupId>org.hornetq.tests</groupId>
<artifactId>integration-tests</artifactId>
<packaging>jar</packaging>
<name>HornetQ Integration Tests</name>
@@ -83,11 +82,6 @@
</dependencies>
<build>
- <testResources>
- <testResource>
- <directory>../config</directory>
- </testResource>
- </testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -122,10 +116,6 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
@@ -135,14 +125,6 @@
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
</plugins>
</build>
Copied: trunk/tests/integration-tests/src/test/resources/hornetq-jms-for-JMSServerDeployerTest.xml (from rev 10646, trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest.xml)
===================================================================
--- trunk/tests/integration-tests/src/test/resources/hornetq-jms-for-JMSServerDeployerTest.xml (rev 0)
+++ trunk/tests/integration-tests/src/test/resources/hornetq-jms-for-JMSServerDeployerTest.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -0,0 +1,53 @@
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq ../../src/schemas/hornetq-jms.xsd ">
+
+ <connection-factory name="fullConfigurationConnectionFactory">
+ <entries>
+ <entry name="/fullConfigurationConnectionFactory"/>
+ <entry name="/acme/fullConfigurationConnectionFactory"/>
+ <entry name="java:/xyz/tfullConfigurationConnectionFactory"/>
+ <entry name="java:/connectionfactories/acme/fullConfigurationConnectionFactory"/>
+ </entries>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <client-failure-check-period>1234</client-failure-check-period>
+ <call-timeout>5678</call-timeout>
+ <consumer-window-size>12345</consumer-window-size>
+ <consumer-max-rate>6789</consumer-max-rate>
+ <confirmation-window-size>123456</confirmation-window-size>
+ <producer-window-size>7712652</producer-window-size>
+ <producer-max-rate>789</producer-max-rate>
+ <min-large-message-size>12</min-large-message-size>
+ <compress-large-messages>true</compress-large-messages>
+ <client-id>TestClientID</client-id>
+ <dups-ok-batch-size>3456</dups-ok-batch-size>
+ <transaction-batch-size>4567</transaction-batch-size>
+ <block-on-acknowledge>true</block-on-acknowledge>
+ <block-on-non-durable-send>false</block-on-non-durable-send>
+ <block-on-durable-send>true</block-on-durable-send>
+ <auto-group>false</auto-group>
+ <pre-acknowledge>true</pre-acknowledge>
+ <connection-ttl>2345</connection-ttl>
+ <failover-on-initial-connection>true</failover-on-initial-connection>
+ <failover-on-server-shutdown>false</failover-on-server-shutdown>
+ <connection-load-balancing-policy-class-name>FooClass</connection-load-balancing-policy-class-name>
+ <reconnect-attempts>34</reconnect-attempts>
+ <retry-interval>5</retry-interval>
+ <retry-interval-multiplier>6.0</retry-interval-multiplier>
+ <max-retry-interval>300</max-retry-interval>
+ <cache-large-message-client>true</cache-large-message-client>
+ </connection-factory>
+
+ <queue name="fullConfigurationQueue">
+ <entry name="/fullConfigurationQueue"/>
+ <entry name="/queue/fullConfigurationQueue"/>
+ </queue>
+
+ <topic name="fullConfigurationTopic">
+ <entry name="/fullConfigurationTopic"/>
+ <entry name="/topic/fullConfigurationTopic"/>
+ </topic>
+
+</configuration>
\ No newline at end of file
Copied: trunk/tests/integration-tests/src/test/resources/hornetq-jms-for-JMSServerDeployerTest2.xml (from rev 10646, trunk/tests/config/hornetq-jms-for-JMSServerDeployerTest2.xml)
===================================================================
--- trunk/tests/integration-tests/src/test/resources/hornetq-jms-for-JMSServerDeployerTest2.xml (rev 0)
+++ trunk/tests/integration-tests/src/test/resources/hornetq-jms-for-JMSServerDeployerTest2.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -0,0 +1,53 @@
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq ../../src/schemas/hornetq-jms.xsd ">
+
+ <connection-factory name="fullConfigurationConnectionFactory">
+ <entries>
+ <entry name="/fullConfigurationConnectionFactory"/>
+ <entry name="/acme/fullConfigurationConnectionFactory"/>
+ <entry name="java:/xyz/tfullConfigurationConnectionFactory"/>
+ <entry name="java:/connectionfactories/acme/fullConfigurationConnectionFactory"/>
+ </entries>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <discovery-group-ref discovery-group-name="mygroup"/>
+ <client-failure-check-period>1234</client-failure-check-period>
+ <call-timeout>5678</call-timeout>
+ <consumer-window-size>12345</consumer-window-size>
+ <consumer-max-rate>6789</consumer-max-rate>
+ <confirmation-window-size>123456</confirmation-window-size>
+ <producer-window-size>7712652</producer-window-size>
+ <producer-max-rate>789</producer-max-rate>
+ <min-large-message-size>12</min-large-message-size>
+ <client-id>TestClientID</client-id>
+ <dups-ok-batch-size>3456</dups-ok-batch-size>
+ <transaction-batch-size>4567</transaction-batch-size>
+ <block-on-acknowledge>true</block-on-acknowledge>
+ <block-on-non-durable-send>false</block-on-non-durable-send>
+ <block-on-durable-send>true</block-on-durable-send>
+ <auto-group>false</auto-group>
+ <pre-acknowledge>true</pre-acknowledge>
+ <connection-ttl>2345</connection-ttl>
+ <failover-on-initial-connection>true</failover-on-initial-connection>
+ <failover-on-server-shutdown>false</failover-on-server-shutdown>
+ <connection-load-balancing-policy-class-name>FooClass</connection-load-balancing-policy-class-name>
+ <reconnect-attempts>34</reconnect-attempts>
+ <retry-interval>5</retry-interval>
+ <retry-interval-multiplier>6.0</retry-interval-multiplier>
+ <max-retry-interval>300</max-retry-interval>
+ <cache-large-message-client>true</cache-large-message-client>
+ </connection-factory>
+
+ <queue name="fullConfigurationQueue">
+ <entry name="/fullConfigurationQueue"/>
+ <entry name="/queue/fullConfigurationQueue"/>
+ </queue>
+
+ <topic name="fullConfigurationTopic">
+ <entry name="/fullConfigurationTopic"/>
+ <entry name="/topic/fullConfigurationTopic"/>
+ </topic>
+
+</configuration>
\ No newline at end of file
Copied: trunk/tests/integration-tests/src/test/resources/restricted-security-client.policy (from rev 10646, trunk/tests/config/restricted-security-client.policy)
===================================================================
--- trunk/tests/integration-tests/src/test/resources/restricted-security-client.policy (rev 0)
+++ trunk/tests/integration-tests/src/test/resources/restricted-security-client.policy 2011-05-12 15:52:54 UTC (rev 10647)
@@ -0,0 +1,8 @@
+grant {
+ //permission java.security.AllPermission;
+
+ // allow to connect to localhost
+ permission java.net.SocketPermission "*:1024-", "connect";
+ // normally, we don't need this permission since the applet allows to read jars loaded by the applet
+ permission java.io.FilePermission "${user.dir}/build/jars/hornetq-core-client.jar", "read";
+};
\ No newline at end of file
Copied: trunk/tests/integration-tests/src/test/resources/server-start-stop-config1.xml (from rev 10646, trunk/tests/config/server-start-stop-config1.xml)
===================================================================
--- trunk/tests/integration-tests/src/test/resources/server-start-stop-config1.xml (rev 0)
+++ trunk/tests/integration-tests/src/test/resources/server-start-stop-config1.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -0,0 +1,33 @@
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd">
+
+ <connectors>
+ <connector name="netty-connector">
+ <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
+ </connector>
+ </connectors>
+
+ <journal-directory>/tmp/hornetq-unit-test/start-stop-data</journal-directory>
+
+ <acceptors>
+ <acceptor name="netty-acceptor">
+ <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
+ </acceptor>
+ </acceptors>
+
+ <security-enabled>false</security-enabled>
+
+ <queues>
+ <queue name="myQueue">
+ <address>myAddress</address>
+ </queue>
+
+ <!-- temporary fix until I investigate the cause of a failure
+ <queue name="jms.queue.myJMSQueue">
+ <address>jms.queue.myJMSAddress</address>
+ </queue>
+ -->
+ </queues>
+
+</configuration>
Copied: trunk/tests/integration-tests/src/test/resources/server-start-stop-jms-config1.xml (from rev 10646, trunk/tests/config/server-start-stop-jms-config1.xml)
===================================================================
--- trunk/tests/integration-tests/src/test/resources/server-start-stop-jms-config1.xml (rev 0)
+++ trunk/tests/integration-tests/src/test/resources/server-start-stop-jms-config1.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -0,0 +1,18 @@
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
+ <!--the connection factory used by the example-->
+ <connection-factory name="ConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-connector"/>
+ </connectors>
+ <entries>
+ <entry name="ConnectionFactory"/>
+ </entries>
+ </connection-factory>
+
+ <queue name="myJMSQueue">
+ <entry name="myJMSQueue"/>
+ </queue>
+
+</configuration>
\ No newline at end of file
Copied: trunk/tests/integration-tests/src/test/resources/spring-jms-beans.xml (from rev 10646, trunk/tests/config/spring-jms-beans.xml)
===================================================================
--- trunk/tests/integration-tests/src/test/resources/spring-jms-beans.xml (rev 0)
+++ trunk/tests/integration-tests/src/test/resources/spring-jms-beans.xml 2011-05-12 15:52:54 UTC (rev 10647)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+
+ <bean id="EmbeddedJms" class="org.hornetq.integration.spring.SpringJmsBootstrap" init-method="start">
+ <property name="configResourcePath" value="spring-hornetq-config.xml"/>
+ <property name="jmsConfigResourcePath" value="spring-hornetq-jms.xml"/>
+ </bean>
+
+ <bean id="listener" class="org.hornetq.tests.integration.spring.ExampleListener"/>
+
+ <bean id="MessageSender" class="org.hornetq.tests.integration.spring.MessageSender">
+ <property name="connectionFactory" ref="ConnectionFactory"/>
+ <property name="destination" ref="/queue/exampleQueue"/>
+ </bean>
+
+ <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
+ <property name="connectionFactory" ref="ConnectionFactory"/>
+ <property name="destination" ref="/queue/exampleQueue"/>
+ <property name="messageListener" ref="listener"/>
+ </bean>
+
+
+</beans>
+
\ No newline at end of file
15 years
JBoss hornetq SVN: r10646 - in trunk/tests/jms-tests: config and 2 other directories.
by do-not-reply@jboss.org
Author: borges
Date: 2011-05-12 11:52:05 -0400 (Thu, 12 May 2011)
New Revision: 10646
Added:
trunk/tests/jms-tests/src/test/resources/
trunk/tests/jms-tests/src/test/resources/hornetq-beans.xml
trunk/tests/jms-tests/src/test/resources/hornetq-configuration.xml
trunk/tests/jms-tests/src/test/resources/hornetq-jms.xml
trunk/tests/jms-tests/src/test/resources/hornetq-queues.xml
trunk/tests/jms-tests/src/test/resources/hornetq-users.xml
trunk/tests/jms-tests/src/test/resources/jbossjta-properties.xml
trunk/tests/jms-tests/src/test/resources/jndi.properties
trunk/tests/jms-tests/src/test/resources/test-beans.xml
Removed:
trunk/tests/jms-tests/config/hornetq-beans.xml
trunk/tests/jms-tests/config/hornetq-configuration.xml
trunk/tests/jms-tests/config/hornetq-jms.xml
trunk/tests/jms-tests/config/hornetq-queues.xml
trunk/tests/jms-tests/config/hornetq-users.xml
trunk/tests/jms-tests/config/jbossjta-properties.xml
trunk/tests/jms-tests/config/jndi.properties
trunk/tests/jms-tests/config/test-beans.xml
Modified:
trunk/tests/jms-tests/pom.xml
Log:
Move jms-tests resources into standard Maven folder
Deleted: trunk/tests/jms-tests/config/hornetq-beans.xml
===================================================================
--- trunk/tests/jms-tests/config/hornetq-beans.xml 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/config/hornetq-beans.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <bean name="Naming" class="org.jnp.server.NamingBeanImpl"/>
-
- <!-- JNDI server. Disable this if you don't want JNDI -->
- <bean name="JNDIServer" class="org.jnp.server.Main">
- <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>
- </bean>
-
- <!-- MBean server -->
- <bean name="MBeanServer" class="javax.management.MBeanServer">
- <constructor factoryClass="java.lang.management.ManagementFactory"
- factoryMethod="getPlatformMBeanServer"/>
- </bean>
-
- <!-- The core configuration -->
- <bean name="Configuration" class="org.hornetq.core.config.impl.FileConfiguration">
- </bean>
-
- <!-- The security manager -->
- <bean name="HornetQSecurityManager" class="org.hornetq.spi.core.security.HornetQSecurityManagerImpl">
- <start ignored="true"/>
- <stop ignored="true"/>
- </bean>
-
- <!-- The core server -->
- <bean name="HornetQServer" class="org.hornetq.core.server.impl.HornetQServerImpl">
- <constructor>
- <parameter>
- <inject bean="Configuration"/>
- </parameter>
- <parameter>
- <inject bean="MBeanServer"/>
- </parameter>
- <parameter>
- <inject bean="HornetQSecurityManager"/>
- </parameter>
- </constructor>
- <start ignored="true"/>
- <stop ignored="true"/>
- </bean>
-
- <!-- The JMS server -->
- <bean name="JMSServerManager" class="org.hornetq.jms.server.impl.JMSServerManagerImpl">
- <constructor>
- <parameter>
- <inject bean="HornetQServer"/>
- </parameter>
- </constructor>
- </bean>
-
-</deployment>
\ No newline at end of file
Deleted: trunk/tests/jms-tests/config/hornetq-configuration.xml
===================================================================
--- trunk/tests/jms-tests/config/hornetq-configuration.xml 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/config/hornetq-configuration.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -1,37 +0,0 @@
-<configuration xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq ../../../src/schema/hornetq-configuration.xsd">
-
- <!-- Connectors -->
- <connectors>
-
- <connector name="netty">
- <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
- </connector>
-
-
- <connector name="in-vm">
- <factory-class>org.hornetq.core.remoting.impl.invm.InVMConnectorFactory</factory-class>
- </connector>
-
- </connectors>
-
- <!-- Acceptors -->
- <acceptors>
- <!-- In VM acceptor -->
- <acceptor name="in-vm">
- <factory-class>org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory</factory-class>
- <param key="server-id" value="0"/>
- </acceptor>
-
- <!-- Netty TCP Acceptor -->
- <acceptor name="netty">
- <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
- </acceptor>
-
- </acceptors>
-
-
- <journal-min-files>2</journal-min-files>
-
-</configuration>
\ No newline at end of file
Deleted: trunk/tests/jms-tests/config/hornetq-jms.xml
===================================================================
--- trunk/tests/jms-tests/config/hornetq-jms.xml 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/config/hornetq-jms.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -1,126 +0,0 @@
-<configuration xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
-
- <connection-factory name="ConnectionFactory">
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="ConnectionFactory"/>
- <entry name="/ConnectionFactory"/>
- <entry name="/XAConnectionFactory"/>
- <entry name="java:/ConnectionFactory"/>
- <entry name="java:/XAConnectionFactory"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory1">
- <xa>true</xa>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_XA_TRUE"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory2">
- <xa>false</xa>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_XA_FALSE"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory3" signature="generic">
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_GENERIC"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory4" signature="generic">
- <xa>true</xa>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_GENERIC_XA_TRUE"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory5" signature="generic">
- <xa>false</xa>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_GENERIC_XA_FALSE"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory6" signature="queue">
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_QUEUE"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory7" signature="queue">
- <xa>true</xa>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_QUEUE_XA_TRUE"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory8" signature="queue">
- <xa>false</xa>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_QUEUE_XA_FALSE"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory9" signature="topic">
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_TOPIC"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory10" signature="topic">
- <xa>true</xa>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_TOPIC_XA_TRUE"/>
- </entries>
- </connection-factory>
-
- <connection-factory name="JMSConnectionFactory11" signature="topic">
- <xa>false</xa>
- <connectors>
- <connector-ref connector-name="netty"/>
- </connectors>
- <entries>
- <entry name="/CF_TOPIC_XA_FALSE"/>
- </entries>
- </connection-factory>
-
-</configuration>
-
Deleted: trunk/tests/jms-tests/config/hornetq-queues.xml
===================================================================
--- trunk/tests/jms-tests/config/hornetq-queues.xml 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/config/hornetq-queues.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -1,16 +0,0 @@
-<configuration xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq ../../../src/schemas/hornetq-configuration.xsd ">
-
- <security-settings>
- <security-setting match="#">
- <permission type="createDurableQueue" roles="guest,def"/>
- <permission type="deleteDurableQueue" roles="guest,def"/>
- <permission type="createNonDurableQueue" roles="guest,def"/>
- <permission type="deleteNonDurableQueue" roles="guest,def"/>
- <permission type="consume" roles="guest,def"/>
- <permission type="send" roles="guest,def"/>
- </security-setting>
- </security-settings>
-
-</configuration>
Deleted: trunk/tests/jms-tests/config/hornetq-users.xml
===================================================================
--- trunk/tests/jms-tests/config/hornetq-users.xml 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/config/hornetq-users.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -1,10 +0,0 @@
-<configuration xmlns="urn:hornetq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq /schema/hornetq-users.xsd">
- <!-- the default user. this is used where username is null-->
- <defaultuser name="guest" password="guest">
- <role name="guest"/>
- </defaultuser>
- <!--<user name="admin" password="admin">
- <role name="admin"/>
- </user>-->
-</configuration>
\ No newline at end of file
Deleted: trunk/tests/jms-tests/config/jbossjta-properties.xml
===================================================================
--- trunk/tests/jms-tests/config/jbossjta-properties.xml 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/config/jbossjta-properties.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<transaction-service>
- <properties depends="common" name="arjuna">
- <!--
- Transaction Reaper Timeout (default is 120000 microseconds).
- -->
- <property
- name="com.arjuna.ats.arjuna.coordinator.txReaperTimeout" value="120000"/>
- <!--
- Transaction Reaper Mode, can be: NORMAL or DYNAMIC (default is NORMAL).
- -->
- <property name="com.arjuna.ats.arjuna.coordinator.txReaperMode" value="NORMAL"/>
- <!--
- (default is NO)
- -->
- <property name="com.arjuna.ats.arjuna.coordinator.asyncCommit" value="NO"/>
- <!--
- (default is NO)
- -->
- <property name="com.arjuna.ats.arjuna.coordinator.asyncPrepare" value="NO"/>
- <!--
- (default is YES)
- -->
- <property
- name="com.arjuna.ats.arjuna.coordinator.commitOnePhase" value="YES"/>
- <!--
- (default is defaultStore)
- -->
- <property name="com.arjuna.ats.arjuna.objectstore.localOSRoot" value="defaultStore"/>
- <!--
- default is under user.home - must be writeable!)
- -->
- <property
- name="com.arjuna.ats.arjuna.objectstore.objectStoreDir" value="ObjectStore"/>
- <!--
- (default is ON)
- -->
- <property
- name="com.arjuna.ats.arjuna.objectstore.objectStoreSync" value="ON"/>
- <!--
- (default is ShadowNoFileLockStore)
- -->
- <property
- name="com.arjuna.ats.arjuna.objectstore.objectStoreType" value="ShadowNoFileLockStore"/>
- <!--
- (default is 255)
- -->
- <property
- name="com.arjuna.ats.arjuna.objectstore.hashedDirectories" value="255"/>
- <!--
- (default is ON)
- -->
- <property
- name="com.arjuna.ats.arjuna.objectstore.transactionSync" value="ON"/>
- <!--
- (Must be unique across all Arjuna instances.)
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.coordinator.actionStore"
- value="HashedActionStore"
- value="JDBCActionStore"
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess"
- value="JDBCAccess"
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.objectstore.objectStoreType"
- value="ShadowNoFileLockStore"
- value="JDBCStore"
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess"
- value="JDBCAccess"
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeInitial"
- value="1"
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeMaximum"
- value="1"
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.objectstore.jdbcPoolPutConnections"
- value="false"
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.size"
- value=""
- -->
- <!-- property
- name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.period"
- value=""
- -->
- <!--
- The location for creating temporary files, e.g., Uids.
- Default is under user.home.
- IMPORTANT: make sure the directory is lockable, e.g., /tmp on Unix
- may not be!
- -->
- <!--
- <property
- name="com.arjuna.ats.arjuna.common.varDir"
- value="var"/>
- -->
- </properties>
- <properties name="common">
- <!-- CLF 2.0 properties -->
- <property name="com.arjuna.common.util.logging.DebugLevel"
- type="System" value="0x00000000"/>
- <property name="com.arjuna.common.util.logging.FacilityLevel"
- type="System" value="0xffffffff"/>
- <property name="com.arjuna.common.util.logging.VisibilityLevel"
- type="System" value="0xffffffff"/>
- <property name="com.arjuna.common.util.logger" type="System" value="log4j"/>
- </properties>
- <properties depends="arjuna" name="txoj">
- <!--
- (default is LockStore of installation - must be writeable!)
- -->
- <!--
- <property
- name="com.arjuna.ats.txoj.lockstore.lockStoreDir"
- value="LockStore"/>
- -->
- <!--
- (default is BasicLockStore)
- -->
- <property name="com.arjuna.ats.txoj.lockstore.lockStoreType" value="BasicLockStore"/>
- <!--
- (default is NO)
- -->
- <property name="com.arjuna.ats.txoj.lockstore.multipleLockStore" value="NO"/>
- <!--
- (default is YES)
- -->
- <property name="com.arjuna.ats.txoj.lockstore.singleLockStore" value="YES"/>
- <!--
- (default is YES)
- -->
- <property
- name="com.arjuna.ats.txoj.lockstore.allowNestedLocking" value="YES"/>
- </properties>
- <properties depends="arjuna" name="jta">
- <!--
- Support subtransactions in the JTA layer?
- Default is NO.
- -->
- <property name="com.arjuna.ats.jta.supportSubtransactions" value="NO"/>
- <property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/>
- <!--
- com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple
- -->
- <property name="com.arjuna.ats.jta.jtaUTImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>
- <!--
- com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple
- -->
-<property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.HORNETQ" value="org.hornetq.api.jms.server.recovery.HornetQXAResourceRecovery;adaptor1"/>
-
-
-
- </properties>
- <properties depends="arjuna,txoj,jta" name="recoverymanager">
- <!--
- Properties used only by the RecoveryManager.
- -->
- <!--
- Periodic recovery settings.
- Time values in this section are in seconds.
- -->
- <!--
- Interval in seconds between initiating the periodic recovery modules.
- Default is 120 seconds.
- -->
- <property
- name="com.arjuna.ats.arjuna.recovery.periodicRecoveryPeriod" value="20"/>
- <!--
- Interval in seconds between first and second pass of periodic recovery.
- Default is 10 seconds.
- -->
- <property
- name="com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod" value="10"/>
- <!--
- Periodic recovery modules to use. Invoked in sort-order of names.
- -->
-
- <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension0" value="com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule"/>
-
- <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension1" value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
-
- <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension2" value="com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"/>
-
-
- <!--
- Expired entry removal
- -->
- <!--
- Expiry scanners to use (order of invocation is random).
- Names must begin with "com.arjuna.ats.arjuna.recovery.expiryScanner"
- -->
- <property
- name="com.arjuna.ats.arjuna.recovery.expiryScannerTransactionStatusManager" value="com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner"/>
- <!--
- Interval, in hours, between running the expiry scanners.
- This can be quite long. The absolute value determines the interval -
- if the value is negative, the scan will NOT be run until after one
- interval has elapsed. If positive the first scan will be immediately
- after startup. Zero will prevent any scanning.
- Default = 12 = run immediately, then every 12 hours.
- -->
- <property
- name="com.arjuna.ats.arjuna.recovery.expiryScanInterval" value="12"/>
- <!--
- Age, in hours, for removal of transaction status manager item.
- This should be longer than any ts-using process will remain running.
- Zero = Never removed. Default is 12.
- -->
- <property
- name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime" value="12"/>
- <!--
- Use this to fix the port on which the TransactionStatusManager listens,
- The default behaviour is to use any free port.
- -->
- <property
- name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort" value="0"/>
- </properties>
- <properties depends="jta" name="jdbc">
- <!--
- property name="com.arjuna.ats.jdbc.isolationLevel" value="TRANSACTION_SERIALIZABLE"/>
- -->
- </properties>
-</transaction-service>
Deleted: trunk/tests/jms-tests/config/jndi.properties
===================================================================
--- trunk/tests/jms-tests/config/jndi.properties 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/config/jndi.properties 2011-05-12 15:52:05 UTC (rev 10646)
@@ -1,2 +0,0 @@
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
\ No newline at end of file
Deleted: trunk/tests/jms-tests/config/test-beans.xml
===================================================================
--- trunk/tests/jms-tests/config/test-beans.xml 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/config/test-beans.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <bean name="Naming" class="org.jnp.server.NamingBeanImpl"/>
-
- <!-- JNDI server. Disable this if you don't want JNDI -->
- <bean name="JNDIServer" class="org.hornetq.jms.tests.tools.WrappedJNDIServer">
- <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>
- </bean>
-
- <!-- MBean server -->
- <bean name="MBeanServer" class="javax.management.MBeanServer">
- <constructor factoryClass="java.lang.management.ManagementFactory"
- factoryMethod="getPlatformMBeanServer"/>
- </bean>
-
- <!-- The core configuration -->
- <bean name="Configuration" class="org.hornetq.core.config.impl.FileConfiguration">
- </bean>
-
- <!-- The security manager -->
- <bean name="HornetQSecurityManager" class="org.hornetq.spi.core.security.HornetQSecurityManagerImpl">
- <start ignored="true"/>
- <stop ignored="true"/>
- </bean>
-
- <!-- The core server -->
- <bean name="HornetQServer" class="org.hornetq.core.server.impl.HornetQServerImpl">
- <constructor>
- <parameter>
- <inject bean="Configuration"/>
- </parameter>
- <parameter>
- <inject bean="MBeanServer"/>
- </parameter>
- <parameter>
- <inject bean="HornetQSecurityManager"/>
- </parameter>
- </constructor>
- <start ignored="true"/>
- <stop ignored="true"/>
- </bean>
-
- <!-- The JMS server -->
- <bean name="JMSServerManager" class="org.hornetq.jms.server.impl.JMSServerManagerImpl">
- <constructor>
- <parameter>
- <inject bean="HornetQServer"/>
- </parameter>
- </constructor>
- </bean>
-
-</deployment>
\ No newline at end of file
Modified: trunk/tests/jms-tests/pom.xml
===================================================================
--- trunk/tests/jms-tests/pom.xml 2011-05-12 13:43:37 UTC (rev 10645)
+++ trunk/tests/jms-tests/pom.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -7,7 +7,6 @@
<version>2.2.3-SNAPSHOT</version>
</parent>
- <groupId>org.hornetq.tests</groupId>
<artifactId>jms-tests</artifactId>
<packaging>jar</packaging>
<name>HornetQ JMS Tests</name>
@@ -86,20 +85,12 @@
</dependencies>
<build>
- <testResources>
- <testResource>
- <directory>config</directory>
- </testResource>
- </testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>${skipJmsTests}</skipTests>
- <includes>
- <include>**/*Test.java</include>
- </includes>
<excludes>
<exclude>org/hornetq/jms/tests/JMSTestCase.java</exclude>
<exclude>org/hornetq/jms/tests/HornetqServerTestCase.java</exclude>
@@ -112,14 +103,6 @@
</excludes>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
</plugins>
</build>
Copied: trunk/tests/jms-tests/src/test/resources/hornetq-beans.xml (from rev 10645, trunk/tests/jms-tests/config/hornetq-beans.xml)
===================================================================
--- trunk/tests/jms-tests/src/test/resources/hornetq-beans.xml (rev 0)
+++ trunk/tests/jms-tests/src/test/resources/hornetq-beans.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="Naming" class="org.jnp.server.NamingBeanImpl"/>
+
+ <!-- JNDI server. Disable this if you don't want JNDI -->
+ <bean name="JNDIServer" class="org.jnp.server.Main">
+ <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>
+ </bean>
+
+ <!-- MBean server -->
+ <bean name="MBeanServer" class="javax.management.MBeanServer">
+ <constructor factoryClass="java.lang.management.ManagementFactory"
+ factoryMethod="getPlatformMBeanServer"/>
+ </bean>
+
+ <!-- The core configuration -->
+ <bean name="Configuration" class="org.hornetq.core.config.impl.FileConfiguration">
+ </bean>
+
+ <!-- The security manager -->
+ <bean name="HornetQSecurityManager" class="org.hornetq.spi.core.security.HornetQSecurityManagerImpl">
+ <start ignored="true"/>
+ <stop ignored="true"/>
+ </bean>
+
+ <!-- The core server -->
+ <bean name="HornetQServer" class="org.hornetq.core.server.impl.HornetQServerImpl">
+ <constructor>
+ <parameter>
+ <inject bean="Configuration"/>
+ </parameter>
+ <parameter>
+ <inject bean="MBeanServer"/>
+ </parameter>
+ <parameter>
+ <inject bean="HornetQSecurityManager"/>
+ </parameter>
+ </constructor>
+ <start ignored="true"/>
+ <stop ignored="true"/>
+ </bean>
+
+ <!-- The JMS server -->
+ <bean name="JMSServerManager" class="org.hornetq.jms.server.impl.JMSServerManagerImpl">
+ <constructor>
+ <parameter>
+ <inject bean="HornetQServer"/>
+ </parameter>
+ </constructor>
+ </bean>
+
+</deployment>
\ No newline at end of file
Copied: trunk/tests/jms-tests/src/test/resources/hornetq-configuration.xml (from rev 10645, trunk/tests/jms-tests/config/hornetq-configuration.xml)
===================================================================
--- trunk/tests/jms-tests/src/test/resources/hornetq-configuration.xml (rev 0)
+++ trunk/tests/jms-tests/src/test/resources/hornetq-configuration.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -0,0 +1,37 @@
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq ../../../src/schema/hornetq-configuration.xsd">
+
+ <!-- Connectors -->
+ <connectors>
+
+ <connector name="netty">
+ <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
+ </connector>
+
+
+ <connector name="in-vm">
+ <factory-class>org.hornetq.core.remoting.impl.invm.InVMConnectorFactory</factory-class>
+ </connector>
+
+ </connectors>
+
+ <!-- Acceptors -->
+ <acceptors>
+ <!-- In VM acceptor -->
+ <acceptor name="in-vm">
+ <factory-class>org.hornetq.core.remoting.impl.invm.InVMAcceptorFactory</factory-class>
+ <param key="server-id" value="0"/>
+ </acceptor>
+
+ <!-- Netty TCP Acceptor -->
+ <acceptor name="netty">
+ <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
+ </acceptor>
+
+ </acceptors>
+
+
+ <journal-min-files>2</journal-min-files>
+
+</configuration>
\ No newline at end of file
Copied: trunk/tests/jms-tests/src/test/resources/hornetq-jms.xml (from rev 10645, trunk/tests/jms-tests/config/hornetq-jms.xml)
===================================================================
--- trunk/tests/jms-tests/src/test/resources/hornetq-jms.xml (rev 0)
+++ trunk/tests/jms-tests/src/test/resources/hornetq-jms.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -0,0 +1,126 @@
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
+
+ <connection-factory name="ConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="ConnectionFactory"/>
+ <entry name="/ConnectionFactory"/>
+ <entry name="/XAConnectionFactory"/>
+ <entry name="java:/ConnectionFactory"/>
+ <entry name="java:/XAConnectionFactory"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory1">
+ <xa>true</xa>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_XA_TRUE"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory2">
+ <xa>false</xa>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_XA_FALSE"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory3" signature="generic">
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_GENERIC"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory4" signature="generic">
+ <xa>true</xa>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_GENERIC_XA_TRUE"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory5" signature="generic">
+ <xa>false</xa>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_GENERIC_XA_FALSE"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory6" signature="queue">
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_QUEUE"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory7" signature="queue">
+ <xa>true</xa>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_QUEUE_XA_TRUE"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory8" signature="queue">
+ <xa>false</xa>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_QUEUE_XA_FALSE"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory9" signature="topic">
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_TOPIC"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory10" signature="topic">
+ <xa>true</xa>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_TOPIC_XA_TRUE"/>
+ </entries>
+ </connection-factory>
+
+ <connection-factory name="JMSConnectionFactory11" signature="topic">
+ <xa>false</xa>
+ <connectors>
+ <connector-ref connector-name="netty"/>
+ </connectors>
+ <entries>
+ <entry name="/CF_TOPIC_XA_FALSE"/>
+ </entries>
+ </connection-factory>
+
+</configuration>
+
Copied: trunk/tests/jms-tests/src/test/resources/hornetq-queues.xml (from rev 10645, trunk/tests/jms-tests/config/hornetq-queues.xml)
===================================================================
--- trunk/tests/jms-tests/src/test/resources/hornetq-queues.xml (rev 0)
+++ trunk/tests/jms-tests/src/test/resources/hornetq-queues.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -0,0 +1,16 @@
+<configuration xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq ../../../src/schemas/hornetq-configuration.xsd ">
+
+ <security-settings>
+ <security-setting match="#">
+ <permission type="createDurableQueue" roles="guest,def"/>
+ <permission type="deleteDurableQueue" roles="guest,def"/>
+ <permission type="createNonDurableQueue" roles="guest,def"/>
+ <permission type="deleteNonDurableQueue" roles="guest,def"/>
+ <permission type="consume" roles="guest,def"/>
+ <permission type="send" roles="guest,def"/>
+ </security-setting>
+ </security-settings>
+
+</configuration>
Copied: trunk/tests/jms-tests/src/test/resources/hornetq-users.xml (from rev 10645, trunk/tests/jms-tests/config/hornetq-users.xml)
===================================================================
--- trunk/tests/jms-tests/src/test/resources/hornetq-users.xml (rev 0)
+++ trunk/tests/jms-tests/src/test/resources/hornetq-users.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -0,0 +1,10 @@
+<configuration xmlns="urn:hornetq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq /schema/hornetq-users.xsd">
+ <!-- the default user. this is used where username is null-->
+ <defaultuser name="guest" password="guest">
+ <role name="guest"/>
+ </defaultuser>
+ <!--<user name="admin" password="admin">
+ <role name="admin"/>
+ </user>-->
+</configuration>
\ No newline at end of file
Copied: trunk/tests/jms-tests/src/test/resources/jbossjta-properties.xml (from rev 10645, trunk/tests/jms-tests/config/jbossjta-properties.xml)
===================================================================
--- trunk/tests/jms-tests/src/test/resources/jbossjta-properties.xml (rev 0)
+++ trunk/tests/jms-tests/src/test/resources/jbossjta-properties.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<transaction-service>
+ <properties depends="common" name="arjuna">
+ <!--
+ Transaction Reaper Timeout (default is 120000 microseconds).
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.txReaperTimeout" value="120000"/>
+ <!--
+ Transaction Reaper Mode, can be: NORMAL or DYNAMIC (default is NORMAL).
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.txReaperMode" value="NORMAL"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.asyncCommit" value="NO"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.arjuna.coordinator.asyncPrepare" value="NO"/>
+ <!--
+ (default is YES)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.coordinator.commitOnePhase" value="YES"/>
+ <!--
+ (default is defaultStore)
+ -->
+ <property name="com.arjuna.ats.arjuna.objectstore.localOSRoot" value="defaultStore"/>
+ <!--
+ default is under user.home - must be writeable!)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreDir" value="ObjectStore"/>
+ <!--
+ (default is ON)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreSync" value="ON"/>
+ <!--
+ (default is ShadowNoFileLockStore)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreType" value="ShadowNoFileLockStore"/>
+ <!--
+ (default is 255)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.hashedDirectories" value="255"/>
+ <!--
+ (default is ON)
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.objectstore.transactionSync" value="ON"/>
+ <!--
+ (Must be unique across all Arjuna instances.)
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.coordinator.actionStore"
+ value="HashedActionStore"
+ value="JDBCActionStore"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess"
+ value="JDBCAccess"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.objectStoreType"
+ value="ShadowNoFileLockStore"
+ value="JDBCStore"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess"
+ value="JDBCAccess"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeInitial"
+ value="1"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeMaximum"
+ value="1"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.objectstore.jdbcPoolPutConnections"
+ value="false"
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.size"
+ value=""
+ -->
+ <!-- property
+ name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.period"
+ value=""
+ -->
+ <!--
+ The location for creating temporary files, e.g., Uids.
+ Default is under user.home.
+ IMPORTANT: make sure the directory is lockable, e.g., /tmp on Unix
+ may not be!
+ -->
+ <!--
+ <property
+ name="com.arjuna.ats.arjuna.common.varDir"
+ value="var"/>
+ -->
+ </properties>
+ <properties name="common">
+ <!-- CLF 2.0 properties -->
+ <property name="com.arjuna.common.util.logging.DebugLevel"
+ type="System" value="0x00000000"/>
+ <property name="com.arjuna.common.util.logging.FacilityLevel"
+ type="System" value="0xffffffff"/>
+ <property name="com.arjuna.common.util.logging.VisibilityLevel"
+ type="System" value="0xffffffff"/>
+ <property name="com.arjuna.common.util.logger" type="System" value="log4j"/>
+ </properties>
+ <properties depends="arjuna" name="txoj">
+ <!--
+ (default is LockStore of installation - must be writeable!)
+ -->
+ <!--
+ <property
+ name="com.arjuna.ats.txoj.lockstore.lockStoreDir"
+ value="LockStore"/>
+ -->
+ <!--
+ (default is BasicLockStore)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.lockStoreType" value="BasicLockStore"/>
+ <!--
+ (default is NO)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.multipleLockStore" value="NO"/>
+ <!--
+ (default is YES)
+ -->
+ <property name="com.arjuna.ats.txoj.lockstore.singleLockStore" value="YES"/>
+ <!--
+ (default is YES)
+ -->
+ <property
+ name="com.arjuna.ats.txoj.lockstore.allowNestedLocking" value="YES"/>
+ </properties>
+ <properties depends="arjuna" name="jta">
+ <!--
+ Support subtransactions in the JTA layer?
+ Default is NO.
+ -->
+ <property name="com.arjuna.ats.jta.supportSubtransactions" value="NO"/>
+ <property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/>
+ <!--
+ com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple
+ -->
+ <property name="com.arjuna.ats.jta.jtaUTImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>
+ <!--
+ com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple
+ -->
+<property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.HORNETQ" value="org.hornetq.api.jms.server.recovery.HornetQXAResourceRecovery;adaptor1"/>
+
+
+
+ </properties>
+ <properties depends="arjuna,txoj,jta" name="recoverymanager">
+ <!--
+ Properties used only by the RecoveryManager.
+ -->
+ <!--
+ Periodic recovery settings.
+ Time values in this section are in seconds.
+ -->
+ <!--
+ Interval in seconds between initiating the periodic recovery modules.
+ Default is 120 seconds.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.periodicRecoveryPeriod" value="20"/>
+ <!--
+ Interval in seconds between first and second pass of periodic recovery.
+ Default is 10 seconds.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod" value="10"/>
+ <!--
+ Periodic recovery modules to use. Invoked in sort-order of names.
+ -->
+
+ <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension0" value="com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule"/>
+
+ <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension1" value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
+
+ <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension2" value="com.arjuna.ats.internal.txoj.recovery.TORecoveryModule"/>
+
+
+ <!--
+ Expired entry removal
+ -->
+ <!--
+ Expiry scanners to use (order of invocation is random).
+ Names must begin with "com.arjuna.ats.arjuna.recovery.expiryScanner"
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.expiryScannerTransactionStatusManager" value="com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner"/>
+ <!--
+ Interval, in hours, between running the expiry scanners.
+ This can be quite long. The absolute value determines the interval -
+ if the value is negative, the scan will NOT be run until after one
+ interval has elapsed. If positive the first scan will be immediately
+ after startup. Zero will prevent any scanning.
+ Default = 12 = run immediately, then every 12 hours.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.expiryScanInterval" value="12"/>
+ <!--
+ Age, in hours, for removal of transaction status manager item.
+ This should be longer than any ts-using process will remain running.
+ Zero = Never removed. Default is 12.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime" value="12"/>
+ <!--
+ Use this to fix the port on which the TransactionStatusManager listens,
+ The default behaviour is to use any free port.
+ -->
+ <property
+ name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort" value="0"/>
+ </properties>
+ <properties depends="jta" name="jdbc">
+ <!--
+ property name="com.arjuna.ats.jdbc.isolationLevel" value="TRANSACTION_SERIALIZABLE"/>
+ -->
+ </properties>
+</transaction-service>
Copied: trunk/tests/jms-tests/src/test/resources/jndi.properties (from rev 10645, trunk/tests/jms-tests/config/jndi.properties)
===================================================================
--- trunk/tests/jms-tests/src/test/resources/jndi.properties (rev 0)
+++ trunk/tests/jms-tests/src/test/resources/jndi.properties 2011-05-12 15:52:05 UTC (rev 10646)
@@ -0,0 +1,2 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
\ No newline at end of file
Copied: trunk/tests/jms-tests/src/test/resources/test-beans.xml (from rev 10645, trunk/tests/jms-tests/config/test-beans.xml)
===================================================================
--- trunk/tests/jms-tests/src/test/resources/test-beans.xml (rev 0)
+++ trunk/tests/jms-tests/src/test/resources/test-beans.xml 2011-05-12 15:52:05 UTC (rev 10646)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="Naming" class="org.jnp.server.NamingBeanImpl"/>
+
+ <!-- JNDI server. Disable this if you don't want JNDI -->
+ <bean name="JNDIServer" class="org.hornetq.jms.tests.tools.WrappedJNDIServer">
+ <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>
+ </bean>
+
+ <!-- MBean server -->
+ <bean name="MBeanServer" class="javax.management.MBeanServer">
+ <constructor factoryClass="java.lang.management.ManagementFactory"
+ factoryMethod="getPlatformMBeanServer"/>
+ </bean>
+
+ <!-- The core configuration -->
+ <bean name="Configuration" class="org.hornetq.core.config.impl.FileConfiguration">
+ </bean>
+
+ <!-- The security manager -->
+ <bean name="HornetQSecurityManager" class="org.hornetq.spi.core.security.HornetQSecurityManagerImpl">
+ <start ignored="true"/>
+ <stop ignored="true"/>
+ </bean>
+
+ <!-- The core server -->
+ <bean name="HornetQServer" class="org.hornetq.core.server.impl.HornetQServerImpl">
+ <constructor>
+ <parameter>
+ <inject bean="Configuration"/>
+ </parameter>
+ <parameter>
+ <inject bean="MBeanServer"/>
+ </parameter>
+ <parameter>
+ <inject bean="HornetQSecurityManager"/>
+ </parameter>
+ </constructor>
+ <start ignored="true"/>
+ <stop ignored="true"/>
+ </bean>
+
+ <!-- The JMS server -->
+ <bean name="JMSServerManager" class="org.hornetq.jms.server.impl.JMSServerManagerImpl">
+ <constructor>
+ <parameter>
+ <inject bean="HornetQServer"/>
+ </parameter>
+ </constructor>
+ </bean>
+
+</deployment>
\ No newline at end of file
15 years
JBoss hornetq SVN: r10645 - in trunk/tests: unit-tests and 2 other directories.
by do-not-reply@jboss.org
Author: borges
Date: 2011-05-12 09:43:37 -0400 (Thu, 12 May 2011)
New Revision: 10645
Added:
trunk/tests/unit-tests/src/test/resources/
trunk/tests/unit-tests/src/test/resources/ConfigurationTest-defaults.xml
trunk/tests/unit-tests/src/test/resources/ConfigurationTest-full-config.xml
trunk/tests/unit-tests/src/test/resources/beans1.xml
trunk/tests/unit-tests/src/test/resources/hornetq.keystore
trunk/tests/unit-tests/src/test/resources/hornetq.truststore
Removed:
trunk/tests/config/ConfigurationTest-defaults.xml
trunk/tests/config/ConfigurationTest-full-config.xml
trunk/tests/config/beans1.xml
trunk/tests/config/hornetq.keystore
trunk/tests/config/hornetq.truststore
Modified:
trunk/tests/unit-tests/pom.xml
Log:
Enable "unit-tests" group of tests, move resources to correct folder
Deleted: trunk/tests/config/ConfigurationTest-defaults.xml
===================================================================
--- trunk/tests/config/ConfigurationTest-defaults.xml 2011-05-12 13:11:41 UTC (rev 10644)
+++ trunk/tests/config/ConfigurationTest-defaults.xml 2011-05-12 13:43:37 UTC (rev 10645)
@@ -1,6 +0,0 @@
-<configuration
- xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq ../../src/schemas/hornetq-configuration.xsd ">
- <!-- just use the defaults -->
-</configuration>
Deleted: trunk/tests/config/ConfigurationTest-full-config.xml
===================================================================
--- trunk/tests/config/ConfigurationTest-full-config.xml 2011-05-12 13:11:41 UTC (rev 10644)
+++ trunk/tests/config/ConfigurationTest-full-config.xml 2011-05-12 13:43:37 UTC (rev 10645)
@@ -1,219 +0,0 @@
-<configuration
- xmlns="urn:hornetq"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:hornetq ../../src/config/common/schema/hornetq-configuration.xsd">
- <name>SomeNameForUseOnTheApplicationServer</name>
- <clustered>true</clustered>
- <scheduled-thread-pool-max-size>12345</scheduled-thread-pool-max-size>
- <thread-pool-max-size>54321</thread-pool-max-size>
- <persistence-enabled>false</persistence-enabled>
- <file-deployment-enabled>true</file-deployment-enabled>
- <security-enabled>false</security-enabled>
- <security-invalidation-interval>5423</security-invalidation-interval>
- <wild-card-routing-enabled>true</wild-card-routing-enabled>
- <management-address>Giraffe</management-address>
- <management-notification-address>Whatever</management-notification-address>
- <cluster-user>Frog</cluster-user>
- <cluster-password>Wombat</cluster-password>
- <jmx-management-enabled>false</jmx-management-enabled>
- <jmx-domain>gro.qtenroh</jmx-domain>
- <log-delegate-factory-class-name>ocelot</log-delegate-factory-class-name>
- <message-counter-enabled>true</message-counter-enabled>
- <message-counter-max-day-history>5</message-counter-max-day-history>
- <message-counter-sample-period>123456</message-counter-sample-period>
- <connection-ttl-override>12345</connection-ttl-override>
- <transaction-timeout>98765</transaction-timeout>
- <transaction-timeout-scan-period>56789</transaction-timeout-scan-period>
- <message-expiry-scan-period>10111213</message-expiry-scan-period>
- <message-expiry-thread-priority>8</message-expiry-thread-priority>
- <id-cache-size>127</id-cache-size>
- <persist-id-cache>true</persist-id-cache>
- <backup>true</backup>
- <shared-store>true</shared-store>
- <persist-delivery-count-before-delivery>true</persist-delivery-count-before-delivery>
- <paging-directory>pagingdir</paging-directory>
- <bindings-directory>somedir</bindings-directory>
- <create-bindings-dir>false</create-bindings-dir>
- <journal-directory>somedir2</journal-directory>
- <create-journal-dir>false</create-journal-dir>
- <journal-type>NIO</journal-type>
- <journal-compact-min-files>123</journal-compact-min-files>
- <journal-compact-percentage>33</journal-compact-percentage>
- <journal-buffer-timeout>1000</journal-buffer-timeout>
- <journal-buffer-size>10000</journal-buffer-size>
- <journal-sync-transactional>false</journal-sync-transactional>
- <journal-sync-non-transactional>true</journal-sync-non-transactional>
- <journal-file-size>12345678</journal-file-size>
- <journal-min-files>100</journal-min-files>
- <journal-max-io>56546</journal-max-io>
- <large-messages-directory>largemessagesdir</large-messages-directory>
- <memory-warning-threshold>95</memory-warning-threshold>
- <memory-measure-interval>54321</memory-measure-interval>
-
- <remoting-interceptors>
- <class-name>org.hornetq.tests.unit.core.config.impl.TestInterceptor1</class-name>
- <class-name>org.hornetq.tests.unit.core.config.impl.TestInterceptor2</class-name>
- </remoting-interceptors>
-
- <connectors>
- <connector name="connector1">
- <factory-class>org.hornetq.tests.unit.core.config.impl.TestConnectorFactory1</factory-class>
- <param key="a1" value="v1"/>
- <param key="a2" value="123"/>
- <param key="a3" value="345"/>
- <param key="a4" value="v4"/>
- </connector>
- <connector name="connector2">
- <factory-class>org.hornetq.tests.unit.core.config.impl.TestConnectorFactory2</factory-class>
- <param key="b1" value="w1"/>
- <param key="b2" value="234"/>
- </connector>
- </connectors>
- <acceptors>
- <acceptor name="acceptor1">
- <factory-class>org.hornetq.tests.unit.core.config.impl.TestAcceptorFactory1</factory-class>
- <param key="d1" value="y1"/>
- <param key="d2" value="456"/>
- </acceptor>
- <acceptor name="acceptor2">
- <factory-class>org.hornetq.tests.unit.core.config.impl.TestAcceptorFactory2</factory-class>
- <param key="e1" value="z1"/>
- <param key="e2" value="567"/>
- </acceptor>
- </acceptors>
- <broadcast-groups>
- <broadcast-group name="bg1">
- <local-bind-port>10999</local-bind-port>
- <group-address>192.168.0.120</group-address>
- <group-port>11999</group-port>
- <broadcast-period>12345</broadcast-period>
- <connector-ref>connector1</connector-ref>
- </broadcast-group>
- <broadcast-group name="bg2">
- <local-bind-port>12999</local-bind-port>
- <group-address>192.168.0.121</group-address>
- <group-port>13999</group-port>
- <broadcast-period>23456</broadcast-period>
- <connector-ref>connector2</connector-ref>
- </broadcast-group>
- </broadcast-groups>
- <discovery-groups>
- <discovery-group name="dg1">
- <local-bind-address>172.16.8.10</local-bind-address>
- <group-address>192.168.0.120</group-address>
- <group-port>11999</group-port>
- <refresh-timeout>12345</refresh-timeout>
- </discovery-group>
- <discovery-group name="dg2">
- <local-bind-address>172.16.8.11</local-bind-address>
- <group-address>192.168.0.121</group-address>
- <group-port>12999</group-port>
- <refresh-timeout>23456</refresh-timeout>
- </discovery-group>
- </discovery-groups>
- <diverts>
- <divert name="divert1">
- <routing-name>routing-name1</routing-name>
- <address>address1</address>
- <forwarding-address>forwarding-address1</forwarding-address>
- <filter string="speed > 88"/>
- <transformer-class-name>org.foo.Transformer</transformer-class-name>
- <exclusive>true</exclusive>
- </divert>
- <divert name="divert2">
- <routing-name>routing-name2</routing-name>
- <address>address2</address>
- <forwarding-address>forwarding-address2</forwarding-address>
- <filter string="speed < 88"/>
- <transformer-class-name>org.foo.Transformer2</transformer-class-name>
- <exclusive>false</exclusive>
- </divert>
- </diverts>
- <queues>
- <queue name="queue1">
- <address>address1</address>
- <filter string="color='red'" />
- <durable>false</durable>
- </queue>
- <queue name="queue2">
- <address>address2</address>
- <filter string="color='blue'" />
- <durable>false</durable>
- </queue>
- </queues>
- <bridges>
- <bridge name="bridge1">
- <queue-name>queue1</queue-name>
- <forwarding-address>bridge-forwarding-address1</forwarding-address>
- <filter string="sku > 1"/>
- <transformer-class-name>org.foo.BridgeTransformer</transformer-class-name>
- <retry-interval>3</retry-interval>
- <retry-interval-multiplier>0.2</retry-interval-multiplier>
- <reconnect-attempts>2</reconnect-attempts>
- <failover-on-server-shutdown>false</failover-on-server-shutdown>
- <use-duplicate-detection>true</use-duplicate-detection>
- <static-connectors>
- <connector-ref>connector1</connector-ref>
- </static-connectors>
- </bridge>
- <bridge name="bridge2">
- <queue-name>queue2</queue-name>
- <forwarding-address>bridge-forwarding-address2</forwarding-address>
- <discovery-group-ref discovery-group-name="dg1"/>
- </bridge>
- </bridges>
- <cluster-connections>
- <cluster-connection name="cluster-connection1">
- <address>queues1</address>
- <connector-ref>connector1</connector-ref>
- <retry-interval>3</retry-interval>
- <use-duplicate-detection>true</use-duplicate-detection>
- <forward-when-no-consumers>false</forward-when-no-consumers>
- <max-hops>1</max-hops>
- <static-connectors>
- <connector-ref>connector1</connector-ref>
- <connector-ref>connector2</connector-ref>
- </static-connectors>
- </cluster-connection>
- <cluster-connection name="cluster-connection2">
- <address>queues2</address>
- <connector-ref>connector2</connector-ref>
- <retry-interval>4</retry-interval>
- <use-duplicate-detection>false</use-duplicate-detection>
- <forward-when-no-consumers>true</forward-when-no-consumers>
- <max-hops>2</max-hops>
- <discovery-group-ref discovery-group-name="dg1"/>
- </cluster-connection>
- </cluster-connections>
-
- <security-settings>
- <security-setting match="a1">
- <permission type="createNonDurableQueue" roles="a1.1"/>
- </security-setting>
- <security-setting match="a2">
- <permission type="deleteNonDurableQueue" roles="a2.1"/>
- </security-setting>
- </security-settings>
-
- <address-settings>
- <address-setting match="a1">
- <dead-letter-address>a1.1</dead-letter-address>
- <expiry-address>a1.2</expiry-address>
- <redelivery-delay>1</redelivery-delay>
- <max-size-bytes>81781728121878</max-size-bytes>
- <page-size-bytes>81738173872337</page-size-bytes>
- <page-max-cache-size>10</page-max-cache-size>
- <message-counter-history-day-limit>4</message-counter-history-day-limit>
- </address-setting>
- <address-setting match="a2">
- <dead-letter-address>a2.1</dead-letter-address>
- <expiry-address>a2.2</expiry-address>
- <redelivery-delay>5</redelivery-delay>
- <max-size-bytes>932489234928324</max-size-bytes>
- <page-size-bytes>7126716262626</page-size-bytes>
- <page-max-cache-size>20</page-max-cache-size>
- <message-counter-history-day-limit>8</message-counter-history-day-limit>
- </address-setting>
- </address-settings>
-
-</configuration>
Deleted: trunk/tests/config/beans1.xml
===================================================================
--- trunk/tests/config/beans1.xml 2011-05-12 13:11:41 UTC (rev 10644)
+++ trunk/tests/config/beans1.xml 2011-05-12 13:43:37 UTC (rev 10645)
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="bean" class="org.hornetq.tests.unit.microcontainer.DummyBean"/>
-</deployment>
\ No newline at end of file
Deleted: trunk/tests/config/hornetq.keystore
===================================================================
(Binary files differ)
Deleted: trunk/tests/config/hornetq.truststore
===================================================================
(Binary files differ)
Modified: trunk/tests/unit-tests/pom.xml
===================================================================
--- trunk/tests/unit-tests/pom.xml 2011-05-12 13:11:41 UTC (rev 10644)
+++ trunk/tests/unit-tests/pom.xml 2011-05-12 13:43:37 UTC (rev 10645)
@@ -7,7 +7,6 @@
<version>2.2.3-SNAPSHOT</version>
</parent>
- <groupId>org.hornetq.tests</groupId>
<artifactId>unit-tests</artifactId>
<packaging>jar</packaging>
<name>HornetQ Unit Tests</name>
@@ -52,27 +51,9 @@
</dependencies>
<build>
- <testResources>
- <testResource>
- <directory>../config</directory>
- </testResource>
- </testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>org/hornetq/tests/util/*.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
Copied: trunk/tests/unit-tests/src/test/resources/ConfigurationTest-defaults.xml (from rev 10644, trunk/tests/config/ConfigurationTest-defaults.xml)
===================================================================
--- trunk/tests/unit-tests/src/test/resources/ConfigurationTest-defaults.xml (rev 0)
+++ trunk/tests/unit-tests/src/test/resources/ConfigurationTest-defaults.xml 2011-05-12 13:43:37 UTC (rev 10645)
@@ -0,0 +1,6 @@
+<configuration
+ xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq ../../src/schemas/hornetq-configuration.xsd ">
+ <!-- just use the defaults -->
+</configuration>
Copied: trunk/tests/unit-tests/src/test/resources/ConfigurationTest-full-config.xml (from rev 10644, trunk/tests/config/ConfigurationTest-full-config.xml)
===================================================================
--- trunk/tests/unit-tests/src/test/resources/ConfigurationTest-full-config.xml (rev 0)
+++ trunk/tests/unit-tests/src/test/resources/ConfigurationTest-full-config.xml 2011-05-12 13:43:37 UTC (rev 10645)
@@ -0,0 +1,219 @@
+<configuration
+ xmlns="urn:hornetq"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:hornetq ../../src/config/common/schema/hornetq-configuration.xsd">
+ <name>SomeNameForUseOnTheApplicationServer</name>
+ <clustered>true</clustered>
+ <scheduled-thread-pool-max-size>12345</scheduled-thread-pool-max-size>
+ <thread-pool-max-size>54321</thread-pool-max-size>
+ <persistence-enabled>false</persistence-enabled>
+ <file-deployment-enabled>true</file-deployment-enabled>
+ <security-enabled>false</security-enabled>
+ <security-invalidation-interval>5423</security-invalidation-interval>
+ <wild-card-routing-enabled>true</wild-card-routing-enabled>
+ <management-address>Giraffe</management-address>
+ <management-notification-address>Whatever</management-notification-address>
+ <cluster-user>Frog</cluster-user>
+ <cluster-password>Wombat</cluster-password>
+ <jmx-management-enabled>false</jmx-management-enabled>
+ <jmx-domain>gro.qtenroh</jmx-domain>
+ <log-delegate-factory-class-name>ocelot</log-delegate-factory-class-name>
+ <message-counter-enabled>true</message-counter-enabled>
+ <message-counter-max-day-history>5</message-counter-max-day-history>
+ <message-counter-sample-period>123456</message-counter-sample-period>
+ <connection-ttl-override>12345</connection-ttl-override>
+ <transaction-timeout>98765</transaction-timeout>
+ <transaction-timeout-scan-period>56789</transaction-timeout-scan-period>
+ <message-expiry-scan-period>10111213</message-expiry-scan-period>
+ <message-expiry-thread-priority>8</message-expiry-thread-priority>
+ <id-cache-size>127</id-cache-size>
+ <persist-id-cache>true</persist-id-cache>
+ <backup>true</backup>
+ <shared-store>true</shared-store>
+ <persist-delivery-count-before-delivery>true</persist-delivery-count-before-delivery>
+ <paging-directory>pagingdir</paging-directory>
+ <bindings-directory>somedir</bindings-directory>
+ <create-bindings-dir>false</create-bindings-dir>
+ <journal-directory>somedir2</journal-directory>
+ <create-journal-dir>false</create-journal-dir>
+ <journal-type>NIO</journal-type>
+ <journal-compact-min-files>123</journal-compact-min-files>
+ <journal-compact-percentage>33</journal-compact-percentage>
+ <journal-buffer-timeout>1000</journal-buffer-timeout>
+ <journal-buffer-size>10000</journal-buffer-size>
+ <journal-sync-transactional>false</journal-sync-transactional>
+ <journal-sync-non-transactional>true</journal-sync-non-transactional>
+ <journal-file-size>12345678</journal-file-size>
+ <journal-min-files>100</journal-min-files>
+ <journal-max-io>56546</journal-max-io>
+ <large-messages-directory>largemessagesdir</large-messages-directory>
+ <memory-warning-threshold>95</memory-warning-threshold>
+ <memory-measure-interval>54321</memory-measure-interval>
+
+ <remoting-interceptors>
+ <class-name>org.hornetq.tests.unit.core.config.impl.TestInterceptor1</class-name>
+ <class-name>org.hornetq.tests.unit.core.config.impl.TestInterceptor2</class-name>
+ </remoting-interceptors>
+
+ <connectors>
+ <connector name="connector1">
+ <factory-class>org.hornetq.tests.unit.core.config.impl.TestConnectorFactory1</factory-class>
+ <param key="a1" value="v1"/>
+ <param key="a2" value="123"/>
+ <param key="a3" value="345"/>
+ <param key="a4" value="v4"/>
+ </connector>
+ <connector name="connector2">
+ <factory-class>org.hornetq.tests.unit.core.config.impl.TestConnectorFactory2</factory-class>
+ <param key="b1" value="w1"/>
+ <param key="b2" value="234"/>
+ </connector>
+ </connectors>
+ <acceptors>
+ <acceptor name="acceptor1">
+ <factory-class>org.hornetq.tests.unit.core.config.impl.TestAcceptorFactory1</factory-class>
+ <param key="d1" value="y1"/>
+ <param key="d2" value="456"/>
+ </acceptor>
+ <acceptor name="acceptor2">
+ <factory-class>org.hornetq.tests.unit.core.config.impl.TestAcceptorFactory2</factory-class>
+ <param key="e1" value="z1"/>
+ <param key="e2" value="567"/>
+ </acceptor>
+ </acceptors>
+ <broadcast-groups>
+ <broadcast-group name="bg1">
+ <local-bind-port>10999</local-bind-port>
+ <group-address>192.168.0.120</group-address>
+ <group-port>11999</group-port>
+ <broadcast-period>12345</broadcast-period>
+ <connector-ref>connector1</connector-ref>
+ </broadcast-group>
+ <broadcast-group name="bg2">
+ <local-bind-port>12999</local-bind-port>
+ <group-address>192.168.0.121</group-address>
+ <group-port>13999</group-port>
+ <broadcast-period>23456</broadcast-period>
+ <connector-ref>connector2</connector-ref>
+ </broadcast-group>
+ </broadcast-groups>
+ <discovery-groups>
+ <discovery-group name="dg1">
+ <local-bind-address>172.16.8.10</local-bind-address>
+ <group-address>192.168.0.120</group-address>
+ <group-port>11999</group-port>
+ <refresh-timeout>12345</refresh-timeout>
+ </discovery-group>
+ <discovery-group name="dg2">
+ <local-bind-address>172.16.8.11</local-bind-address>
+ <group-address>192.168.0.121</group-address>
+ <group-port>12999</group-port>
+ <refresh-timeout>23456</refresh-timeout>
+ </discovery-group>
+ </discovery-groups>
+ <diverts>
+ <divert name="divert1">
+ <routing-name>routing-name1</routing-name>
+ <address>address1</address>
+ <forwarding-address>forwarding-address1</forwarding-address>
+ <filter string="speed > 88"/>
+ <transformer-class-name>org.foo.Transformer</transformer-class-name>
+ <exclusive>true</exclusive>
+ </divert>
+ <divert name="divert2">
+ <routing-name>routing-name2</routing-name>
+ <address>address2</address>
+ <forwarding-address>forwarding-address2</forwarding-address>
+ <filter string="speed < 88"/>
+ <transformer-class-name>org.foo.Transformer2</transformer-class-name>
+ <exclusive>false</exclusive>
+ </divert>
+ </diverts>
+ <queues>
+ <queue name="queue1">
+ <address>address1</address>
+ <filter string="color='red'" />
+ <durable>false</durable>
+ </queue>
+ <queue name="queue2">
+ <address>address2</address>
+ <filter string="color='blue'" />
+ <durable>false</durable>
+ </queue>
+ </queues>
+ <bridges>
+ <bridge name="bridge1">
+ <queue-name>queue1</queue-name>
+ <forwarding-address>bridge-forwarding-address1</forwarding-address>
+ <filter string="sku > 1"/>
+ <transformer-class-name>org.foo.BridgeTransformer</transformer-class-name>
+ <retry-interval>3</retry-interval>
+ <retry-interval-multiplier>0.2</retry-interval-multiplier>
+ <reconnect-attempts>2</reconnect-attempts>
+ <failover-on-server-shutdown>false</failover-on-server-shutdown>
+ <use-duplicate-detection>true</use-duplicate-detection>
+ <static-connectors>
+ <connector-ref>connector1</connector-ref>
+ </static-connectors>
+ </bridge>
+ <bridge name="bridge2">
+ <queue-name>queue2</queue-name>
+ <forwarding-address>bridge-forwarding-address2</forwarding-address>
+ <discovery-group-ref discovery-group-name="dg1"/>
+ </bridge>
+ </bridges>
+ <cluster-connections>
+ <cluster-connection name="cluster-connection1">
+ <address>queues1</address>
+ <connector-ref>connector1</connector-ref>
+ <retry-interval>3</retry-interval>
+ <use-duplicate-detection>true</use-duplicate-detection>
+ <forward-when-no-consumers>false</forward-when-no-consumers>
+ <max-hops>1</max-hops>
+ <static-connectors>
+ <connector-ref>connector1</connector-ref>
+ <connector-ref>connector2</connector-ref>
+ </static-connectors>
+ </cluster-connection>
+ <cluster-connection name="cluster-connection2">
+ <address>queues2</address>
+ <connector-ref>connector2</connector-ref>
+ <retry-interval>4</retry-interval>
+ <use-duplicate-detection>false</use-duplicate-detection>
+ <forward-when-no-consumers>true</forward-when-no-consumers>
+ <max-hops>2</max-hops>
+ <discovery-group-ref discovery-group-name="dg1"/>
+ </cluster-connection>
+ </cluster-connections>
+
+ <security-settings>
+ <security-setting match="a1">
+ <permission type="createNonDurableQueue" roles="a1.1"/>
+ </security-setting>
+ <security-setting match="a2">
+ <permission type="deleteNonDurableQueue" roles="a2.1"/>
+ </security-setting>
+ </security-settings>
+
+ <address-settings>
+ <address-setting match="a1">
+ <dead-letter-address>a1.1</dead-letter-address>
+ <expiry-address>a1.2</expiry-address>
+ <redelivery-delay>1</redelivery-delay>
+ <max-size-bytes>81781728121878</max-size-bytes>
+ <page-size-bytes>81738173872337</page-size-bytes>
+ <page-max-cache-size>10</page-max-cache-size>
+ <message-counter-history-day-limit>4</message-counter-history-day-limit>
+ </address-setting>
+ <address-setting match="a2">
+ <dead-letter-address>a2.1</dead-letter-address>
+ <expiry-address>a2.2</expiry-address>
+ <redelivery-delay>5</redelivery-delay>
+ <max-size-bytes>932489234928324</max-size-bytes>
+ <page-size-bytes>7126716262626</page-size-bytes>
+ <page-max-cache-size>20</page-max-cache-size>
+ <message-counter-history-day-limit>8</message-counter-history-day-limit>
+ </address-setting>
+ </address-settings>
+
+</configuration>
Copied: trunk/tests/unit-tests/src/test/resources/beans1.xml (from rev 10644, trunk/tests/config/beans1.xml)
===================================================================
--- trunk/tests/unit-tests/src/test/resources/beans1.xml (rev 0)
+++ trunk/tests/unit-tests/src/test/resources/beans1.xml 2011-05-12 13:43:37 UTC (rev 10645)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="bean" class="org.hornetq.tests.unit.microcontainer.DummyBean"/>
+</deployment>
\ No newline at end of file
Copied: trunk/tests/unit-tests/src/test/resources/hornetq.keystore (from rev 10644, trunk/tests/config/hornetq.keystore)
===================================================================
(Binary files differ)
Copied: trunk/tests/unit-tests/src/test/resources/hornetq.truststore (from rev 10644, trunk/tests/config/hornetq.truststore)
===================================================================
(Binary files differ)
15 years