JBoss hornetq SVN: r10270 - branches/Branch_2_2_EAP/native/bin.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2011-02-28 17:59:42 -0500 (Mon, 28 Feb 2011)
New Revision: 10270
Modified:
branches/Branch_2_2_EAP/native/bin/libHornetQAIO32.so
Log:
32 bits compilation
Modified: branches/Branch_2_2_EAP/native/bin/libHornetQAIO32.so
===================================================================
(Binary files differ)
13 years, 10 months
JBoss hornetq SVN: r10269 - in branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence: impl/journal and 1 other directory.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2011-02-28 17:45:42 -0500 (Mon, 28 Feb 2011)
New Revision: 10269
Added:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/PrintData.java
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/config/PersistedAddressSetting.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/config/PersistedRoles.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/BatchingIDGenerator.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/JournalStorageManager.java
Log:
Debug information for customer's data
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/config/PersistedAddressSetting.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/config/PersistedAddressSetting.java 2011-02-28 19:19:53 UTC (rev 10268)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/config/PersistedAddressSetting.java 2011-02-28 22:45:42 UTC (rev 10269)
@@ -44,6 +44,20 @@
super();
}
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "PersistedAddressSetting [storeId=" + storeId +
+ ", addressMatch=" +
+ addressMatch +
+ ", setting=" +
+ setting +
+ "]";
+ }
+
/**
* @param addressMatch
* @param setting
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/config/PersistedRoles.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/config/PersistedRoles.java 2011-02-28 19:19:53 UTC (rev 10268)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/config/PersistedRoles.java 2011-02-28 22:45:42 UTC (rev 10269)
@@ -302,6 +302,32 @@
return false;
return true;
}
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "PersistedRoles [storeId=" + storeId +
+ ", addressMatch=" +
+ addressMatch +
+ ", sendRoles=" +
+ sendRoles +
+ ", consumeRoles=" +
+ consumeRoles +
+ ", createDurableQueueRoles=" +
+ createDurableQueueRoles +
+ ", deleteDurableQueueRoles=" +
+ deleteDurableQueueRoles +
+ ", createNonDurableQueueRoles=" +
+ createNonDurableQueueRoles +
+ ", deleteNonDurableQueueRoles=" +
+ deleteNonDurableQueueRoles +
+ ", manageRoles=" +
+ manageRoles +
+ "]";
+ }
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/BatchingIDGenerator.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/BatchingIDGenerator.java 2011-02-28 19:19:53 UTC (rev 10268)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/BatchingIDGenerator.java 2011-02-28 22:45:42 UTC (rev 10269)
@@ -135,10 +135,19 @@
// Inner classes -------------------------------------------------
- private static final class IDCounterEncoding implements EncodingSupport
+ static final class IDCounterEncoding implements EncodingSupport
{
long id;
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "IDCounterEncoding [id=" + id + "]";
+ }
+
IDCounterEncoding(final long id)
{
this.id = id;
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/JournalStorageManager.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/JournalStorageManager.java 2011-02-28 19:19:53 UTC (rev 10268)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/JournalStorageManager.java 2011-02-28 22:45:42 UTC (rev 10269)
@@ -14,15 +14,19 @@
package org.hornetq.core.persistence.impl.journal;
import java.io.File;
+import java.io.PrintStream;
import java.nio.ByteBuffer;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
@@ -37,6 +41,7 @@
import org.hornetq.api.core.Pair;
import org.hornetq.api.core.SimpleString;
import org.hornetq.core.config.Configuration;
+import org.hornetq.core.config.impl.ConfigurationImpl;
import org.hornetq.core.filter.Filter;
import org.hornetq.core.journal.EncodingSupport;
import org.hornetq.core.journal.IOAsyncTask;
@@ -48,7 +53,10 @@
import org.hornetq.core.journal.SequentialFileFactory;
import org.hornetq.core.journal.TransactionFailureCallback;
import org.hornetq.core.journal.impl.AIOSequentialFileFactory;
+import org.hornetq.core.journal.impl.ExportJournal;
+import org.hornetq.core.journal.impl.JournalFile;
import org.hornetq.core.journal.impl.JournalImpl;
+import org.hornetq.core.journal.impl.JournalReaderCallback;
import org.hornetq.core.journal.impl.NIOSequentialFileFactory;
import org.hornetq.core.logging.Logger;
import org.hornetq.core.message.impl.MessageInternal;
@@ -67,6 +75,7 @@
import org.hornetq.core.persistence.StorageManager;
import org.hornetq.core.persistence.config.PersistedAddressSetting;
import org.hornetq.core.persistence.config.PersistedRoles;
+import org.hornetq.core.persistence.impl.journal.BatchingIDGenerator.IDCounterEncoding;
import org.hornetq.core.postoffice.Binding;
import org.hornetq.core.postoffice.DuplicateIDCache;
import org.hornetq.core.postoffice.PostOffice;
@@ -85,6 +94,7 @@
import org.hornetq.core.transaction.TransactionOperation;
import org.hornetq.core.transaction.TransactionPropertyIndexes;
import org.hornetq.core.transaction.impl.TransactionImpl;
+import org.hornetq.utils.Base64;
import org.hornetq.utils.DataConstants;
import org.hornetq.utils.ExecutorFactory;
import org.hornetq.utils.HornetQThreadFactory;
@@ -107,7 +117,7 @@
private static final long CHECKPOINT_BATCH_SIZE = Integer.MAX_VALUE;
// grouping journal record type
- public static final byte GROUP_RECORD = 41;
+ public static final byte GROUP_RECORD = 20;
// Bindings journal record type
@@ -168,7 +178,7 @@
private final ExecutorFactory executorFactory;
private final Executor executor;
-
+
private ExecutorService singleThreadExecutor;
private final boolean syncTransactional;
@@ -395,12 +405,12 @@
{
OperationContextImpl.setContext(context);
}
-
+
public Executor getSingleThreadExecutor()
{
return singleThreadExecutor;
}
-
+
public OperationContext newSingleThreadContext()
{
return newContext(singleThreadExecutor);
@@ -1324,6 +1334,36 @@
messageJournal.appendDeleteRecordTransactional(txID, recordID);
}
+ public static void describeBindingJournal(final String bindingsDir) throws Exception
+ {
+
+ SequentialFileFactory bindingsFF = new NIOSequentialFileFactory(bindingsDir);
+
+ JournalImpl bindings = new JournalImpl(1024 * 1024, 2, -1, 0, bindingsFF, "hornetq-bindings", "bindings", 1);
+
+ describeJournal(bindingsFF, bindings);
+ }
+
+ public static void describeMessagesJournal(final String messagesDir) throws Exception
+ {
+
+ SequentialFileFactory messagesFF = new NIOSequentialFileFactory(messagesDir);
+
+ // Will use only default values. The load function should adapt to anything different
+ ConfigurationImpl defaultValues = new ConfigurationImpl();
+
+ JournalImpl messagesJournal = new JournalImpl(defaultValues.getJournalFileSize(),
+ defaultValues.getJournalMinFiles(),
+ 0,
+ 0,
+ messagesFF,
+ "hornetq-data",
+ "hq",
+ 1);
+
+ describeJournal(messagesFF, messagesJournal);
+ }
+
public JournalLoadInformation loadBindingJournal(final List<QueueBindingInfo> queueBindingInfos,
final List<GroupingInfo> groupingInfos) throws Exception
{
@@ -1343,12 +1383,8 @@
if (rec == JournalStorageManager.QUEUE_BINDING_RECORD)
{
- PersistentQueueBindingEncoding bindingEncoding = new PersistentQueueBindingEncoding();
+ PersistentQueueBindingEncoding bindingEncoding = newBindingEncoding(id, buffer);
- bindingEncoding.decode(buffer);
-
- bindingEncoding.setId(id);
-
queueBindingInfos.add(bindingEncoding);
}
else if (rec == JournalStorageManager.ID_COUNTER_RECORD)
@@ -1357,23 +1393,17 @@
}
else if (rec == JournalStorageManager.GROUP_RECORD)
{
- GroupingEncoding encoding = new GroupingEncoding();
- encoding.decode(buffer);
- encoding.setId(id);
+ GroupingEncoding encoding = newGroupEncoding(id, buffer);
groupingInfos.add(encoding);
}
else if (rec == JournalStorageManager.ADDRESS_SETTING_RECORD)
{
- PersistedAddressSetting setting = new PersistedAddressSetting();
- setting.decode(buffer);
- setting.setStoreId(id);
+ PersistedAddressSetting setting = newAddressEncoding(id, buffer);
mapPersistedAddressSettings.put(setting.getAddressMatch(), setting);
}
else if (rec == JournalStorageManager.SECURITY_RECORD)
{
- PersistedRoles roles = new PersistedRoles();
- roles.decode(buffer);
- roles.setStoreId(id);
+ PersistedRoles roles = newSecurityRecord(id, buffer);
mapPersistedRoles.put(roles.getAddressMatch(), roles);
}
else
@@ -1402,9 +1432,11 @@
checkAndCreateDir(largeMessagesDirectory, createJournalDir);
cleanupIncompleteFiles();
-
- singleThreadExecutor = Executors.newSingleThreadExecutor(new HornetQThreadFactory("HornetQ-IO-SingleThread", true, getThisClassLoader()));
+ singleThreadExecutor = Executors.newSingleThreadExecutor(new HornetQThreadFactory("HornetQ-IO-SingleThread",
+ true,
+ getThisClassLoader()));
+
bindingsJournal.start();
messageJournal.start();
@@ -1412,7 +1444,6 @@
started = true;
}
-
public synchronized void stop() throws Exception
{
if (!started)
@@ -1429,7 +1460,7 @@
bindingsJournal.stop();
messageJournal.stop();
-
+
singleThreadExecutor.shutdown();
journalLoaded = false;
@@ -1682,7 +1713,7 @@
}
case PAGE_TRANSACTION:
{
-
+
PageTransactionInfo pageTransactionInfo = new PageTransactionInfoImpl();
pageTransactionInfo.decode(buff);
@@ -1695,11 +1726,11 @@
else
{
pageTransactionInfo.setCommitted(false);
-
+
tx.putProperty(TransactionPropertyIndexes.PAGE_TRANSACTION, pageTransactionInfo);
-
+
pagingManager.addTransaction(pageTransactionInfo);
-
+
tx.addOperation(new FinishPageMessageOperation());
}
@@ -1733,7 +1764,10 @@
encoding.position.setRecordID(record.id);
- PageSubscription sub = locateSubscription(encoding.queueID, pageSubscriptions, queueInfos, pagingManager);
+ PageSubscription sub = locateSubscription(encoding.queueID,
+ pageSubscriptions,
+ queueInfos,
+ pagingManager);
if (sub != null)
{
@@ -1851,7 +1885,6 @@
}
}
-
private static ClassLoader getThisClassLoader()
{
return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
@@ -1863,7 +1896,6 @@
});
}
-
// Inner Classes
// ----------------------------------------------------------------------------
@@ -1996,6 +2028,15 @@
boolean isCommit;
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "HeuristicCompletionEncoding [xid=" + xid + ", isCommit=" + isCommit + "]";
+ }
+
HeuristicCompletionEncoding(final Xid xid, final boolean isCommit)
{
this.xid = xid;
@@ -2080,10 +2121,13 @@
return clusterName;
}
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
@Override
public String toString()
{
- return id + ":" + groupId + ":" + clusterName;
+ return "GroupingEncoding [id=" + id + ", groupId=" + groupId + ", clusterName=" + clusterName + "]";
}
}
@@ -2101,6 +2145,22 @@
{
}
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "PersistentQueueBindingEncoding [id=" + id +
+ ", name=" +
+ name +
+ ", address=" +
+ address +
+ ", filterString=" +
+ filterString +
+ "]";
+ }
+
public PersistentQueueBindingEncoding(final SimpleString name,
final SimpleString address,
final SimpleString filterString)
@@ -2156,40 +2216,6 @@
}
}
- private static class PersistentIDEncoding implements EncodingSupport
- {
- UUID uuid;
-
- PersistentIDEncoding(final UUID uuid)
- {
- this.uuid = uuid;
- }
-
- PersistentIDEncoding()
- {
- }
-
- public void decode(final HornetQBuffer buffer)
- {
- byte[] bytes = new byte[16];
-
- buffer.readBytes(bytes);
-
- uuid = new UUID(UUID.TYPE_TIME_BASED, bytes);
- }
-
- public void encode(final HornetQBuffer buffer)
- {
- buffer.writeBytes(uuid.asBytes());
- }
-
- public int getEncodeSize()
- {
- return 16;
- }
-
- }
-
private static class LargeMessageEncoding implements EncodingSupport
{
private final LargeServerMessage message;
@@ -2259,6 +2285,16 @@
{
return 8 + 4;
}
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "DeliveryCountUpdateEncoding [queueID=" + queueID + ", count=" + count + "]";
+ }
+
}
private static class QueueEncoding implements EncodingSupport
@@ -2290,6 +2326,16 @@
{
return 8;
}
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "QueueEncoding [queueID=" + queueID + "]";
+ }
+
}
private static class DeleteEncoding extends QueueEncoding
@@ -2325,6 +2371,15 @@
public int recods;
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "PageUpdateTXEncoding [pageTX=" + pageTX + ", recods=" + recods + "]";
+ }
+
public PageUpdateTXEncoding()
{
}
@@ -2368,6 +2423,15 @@
{
long scheduledDeliveryTime;
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "ScheduledDeliveryEncoding [scheduledDeliveryTime=" + scheduledDeliveryTime + "]";
+ }
+
private ScheduledDeliveryEncoding(final long scheduledDeliveryTime, final long queueID)
{
super(queueID);
@@ -2440,6 +2504,16 @@
{
return SimpleString.sizeofString(address) + DataConstants.SIZE_INT + duplID.length;
}
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "DuplicateIDEncoding [address=" + address + ", duplID=" + Arrays.toString(duplID) + "]";
+ }
+
}
private class FinishPageMessageOperation implements TransactionOperation
@@ -2495,6 +2569,15 @@
private static final class PageCountRecord implements EncodingSupport
{
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "PageCountRecord [queueID=" + queueID + ", value=" + value + "]";
+ }
+
PageCountRecord()
{
@@ -2541,6 +2624,15 @@
private static final class PageCountRecordInc implements EncodingSupport
{
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "PageCountRecordInc [queueID=" + queueID + ", value=" + value + "]";
+ }
+
PageCountRecordInc()
{
@@ -2611,6 +2703,15 @@
this.position = new PagePositionImpl();
}
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ return "CursorAckRecordEncoding [queueID=" + queueID + ", position=" + position + "]";
+ }
+
long queueID;
PagePosition position;
@@ -2681,4 +2782,384 @@
}
}
+
+ private static String describeRecord(RecordInfo info)
+ {
+ return "userRecordType=" + info.userRecordType + ";isUpdate=" + info.isUpdate + ";" + newObjectEncoding(info);
+ }
+
+ // Encoding functions for binding Journal
+
+ private static Object newObjectEncoding(RecordInfo info)
+ {
+ HornetQBuffer buffer = HornetQBuffers.wrappedBuffer(info.data);
+ long id = info.id;
+ int rec = info.getUserRecordType();
+
+ switch (rec)
+ {
+ case ADD_LARGE_MESSAGE:
+
+ LargeServerMessage largeMessage = new LargeServerMessageImpl(null);
+
+ LargeMessageEncoding messageEncoding = new LargeMessageEncoding(largeMessage);
+
+ messageEncoding.decode(buffer);
+
+ return new MessageDescribe(largeMessage);
+
+ case ADD_MESSAGE:
+ ServerMessage message = new ServerMessageImpl(rec, 50);
+
+ message.decode(buffer);
+
+ return new MessageDescribe(message);
+
+ case ADD_REF:
+ {
+ final RefEncoding encoding = new RefEncoding();
+ encoding.decode(buffer);
+ return new Object()
+ {
+ public String toString()
+ {
+ return "AddRef;" + encoding;
+ }
+ };
+ }
+
+ case ACKNOWLEDGE_REF:
+ {
+ final RefEncoding encoding = new RefEncoding();
+ encoding.decode(buffer);
+ return new Object()
+ {
+ public String toString()
+ {
+ return "ACK;" + encoding;
+ }
+ };
+ }
+
+ case UPDATE_DELIVERY_COUNT:
+ {
+ DeliveryCountUpdateEncoding updateDeliveryCount = new DeliveryCountUpdateEncoding();
+ updateDeliveryCount.decode(buffer);
+ return updateDeliveryCount;
+ }
+
+ case PAGE_TRANSACTION:
+ {
+ if (info.isUpdate)
+ {
+ PageUpdateTXEncoding pageUpdate = new PageUpdateTXEncoding();
+
+ pageUpdate.decode(buffer);
+
+ return pageUpdate;
+ }
+ else
+ {
+ PageTransactionInfoImpl pageTransactionInfo = new PageTransactionInfoImpl();
+
+ pageTransactionInfo.decode(buffer);
+
+ pageTransactionInfo.setRecordID(info.id);
+
+ return pageTransactionInfo;
+ }
+ }
+
+ case SET_SCHEDULED_DELIVERY_TIME:
+ {
+ ScheduledDeliveryEncoding encoding = new ScheduledDeliveryEncoding();
+
+ encoding.decode(buffer);
+
+ return encoding;
+ }
+ case DUPLICATE_ID:
+ {
+ DuplicateIDEncoding encoding = new DuplicateIDEncoding();
+
+ encoding.decode(buffer);
+
+ return encoding;
+ }
+ case HEURISTIC_COMPLETION:
+ {
+ HeuristicCompletionEncoding encoding = new HeuristicCompletionEncoding();
+
+ encoding.decode(buffer);
+
+ return encoding;
+ }
+ case ACKNOWLEDGE_CURSOR:
+ {
+ CursorAckRecordEncoding encoding = new CursorAckRecordEncoding();
+
+ encoding.decode(buffer);
+
+ return encoding;
+ }
+ case PAGE_CURSOR_COUNTER_VALUE:
+ {
+ PageCountRecord encoding = new PageCountRecord();
+
+ encoding.decode(buffer);
+
+ return encoding;
+ }
+
+ case PAGE_CURSOR_COUNTER_INC:
+ {
+ PageCountRecordInc encoding = new PageCountRecordInc();
+
+ encoding.decode(buffer);
+
+ return encoding;
+ }
+
+ case JournalStorageManager.QUEUE_BINDING_RECORD:
+ return newBindingEncoding(id, buffer);
+
+ case JournalStorageManager.ID_COUNTER_RECORD:
+ IDCounterEncoding idReturn = new IDCounterEncoding();
+
+ idReturn.decode(buffer);
+
+ return idReturn;
+
+ case JournalStorageManager.GROUP_RECORD:
+ return newGroupEncoding(id, buffer);
+
+ case JournalStorageManager.ADDRESS_SETTING_RECORD:
+ return newAddressEncoding(id, buffer);
+
+ case JournalStorageManager.SECURITY_RECORD:
+ return newSecurityRecord(id, buffer);
+
+ default:
+ return null;
+ }
+ }
+
+ private static class MessageDescribe
+ {
+ public MessageDescribe(Message msg)
+ {
+ this.msg = msg;
+ }
+
+ Message msg;
+
+ public String toString()
+ {
+ StringBuffer buffer = new StringBuffer();
+ buffer.append(msg.isLargeMessage() ? "LargeMessage(" : "Message(");
+ buffer.append("messageID=" + msg.getMessageID());
+ buffer.append(";properties=[");
+
+ Set<SimpleString> properties = msg.getPropertyNames();
+
+ for (SimpleString prop : properties)
+ {
+ buffer.append(prop + "=" + msg.getObjectProperty(prop) + ",");
+ }
+
+ buffer.append("#properties = " + properties.size());
+
+ buffer.append("]");
+
+ buffer.append(" - " + msg.toString());
+
+ return buffer.toString();
+ }
+
+ }
+
+ /**
+ * @param id
+ * @param buffer
+ * @return
+ */
+ protected static PersistedRoles newSecurityRecord(long id, HornetQBuffer buffer)
+ {
+ PersistedRoles roles = new PersistedRoles();
+ roles.decode(buffer);
+ roles.setStoreId(id);
+ return roles;
+ }
+
+ /**
+ * @param id
+ * @param buffer
+ * @return
+ */
+ protected static PersistedAddressSetting newAddressEncoding(long id, HornetQBuffer buffer)
+ {
+ PersistedAddressSetting setting = new PersistedAddressSetting();
+ setting.decode(buffer);
+ setting.setStoreId(id);
+ return setting;
+ }
+
+ /**
+ * @param id
+ * @param buffer
+ * @return
+ */
+ protected static GroupingEncoding newGroupEncoding(long id, HornetQBuffer buffer)
+ {
+ GroupingEncoding encoding = new GroupingEncoding();
+ encoding.decode(buffer);
+ encoding.setId(id);
+ return encoding;
+ }
+
+ /**
+ * @param id
+ * @param buffer
+ * @return
+ */
+ protected static PersistentQueueBindingEncoding newBindingEncoding(long id, HornetQBuffer buffer)
+ {
+ PersistentQueueBindingEncoding bindingEncoding = new PersistentQueueBindingEncoding();
+
+ bindingEncoding.decode(buffer);
+
+ bindingEncoding.setId(id);
+ return bindingEncoding;
+ }
+
+ private static String encode(final byte[] data)
+ {
+ return Base64.encodeBytes(data, 0, data.length, Base64.DONT_BREAK_LINES | Base64.URL_SAFE);
+ }
+
+ /**
+ * @param fileFactory
+ * @param journal
+ * @throws Exception
+ */
+ protected static void describeJournal(SequentialFileFactory fileFactory, JournalImpl journal) throws Exception
+ {
+ List<JournalFile> files = journal.orderFiles();
+
+ final PrintStream out = System.out;
+
+ for (JournalFile file : files)
+ {
+ out.println("#" + file);
+
+ JournalImpl.readJournalFile(fileFactory, file, new JournalReaderCallback()
+ {
+
+ public void onReadUpdateRecordTX(final long transactionID, final RecordInfo recordInfo) throws Exception
+ {
+ out.println("operation@UpdateTX,txID@" + transactionID + "," + describeRecord(recordInfo));
+ }
+
+ public void onReadUpdateRecord(final RecordInfo recordInfo) throws Exception
+ {
+ out.println("operation@Update," + describeRecord(recordInfo));
+ }
+
+ public void onReadRollbackRecord(final long transactionID) throws Exception
+ {
+ out.println("operation@Rollback,txID@" + transactionID);
+ }
+
+ public void onReadPrepareRecord(final long transactionID, final byte[] extraData, final int numberOfRecords) throws Exception
+ {
+ out.println("operation@Prepare,txID@" + transactionID +
+ ",numberOfRecords@" +
+ numberOfRecords +
+ ",extraData@" +
+ encode(extraData));
+ }
+
+ public void onReadDeleteRecordTX(final long transactionID, final RecordInfo recordInfo) throws Exception
+ {
+ out.println("operation@DeleteRecordTX,txID@" + transactionID + "," + describeRecord(recordInfo));
+ }
+
+ public void onReadDeleteRecord(final long recordID) throws Exception
+ {
+ out.println("operation@DeleteRecord,id@" + recordID);
+ }
+
+ public void onReadCommitRecord(final long transactionID, final int numberOfRecords) throws Exception
+ {
+ out.println("operation@Commit,txID@" + transactionID + ",numberOfRecords@" + numberOfRecords);
+ }
+
+ public void onReadAddRecordTX(final long transactionID, final RecordInfo recordInfo) throws Exception
+ {
+ out.println("operation@AddRecordTX,txID@" + transactionID + "," + describeRecord(recordInfo));
+ }
+
+ public void onReadAddRecord(final RecordInfo recordInfo) throws Exception
+ {
+ out.println("operation@AddRecord," + describeRecord(recordInfo));
+ }
+
+ public void markAsDataFile(final JournalFile file)
+ {
+ }
+ });
+ }
+
+ out.println();
+
+ out.println("### Surviving Records Summary ###");
+
+ List<RecordInfo> records = new LinkedList<RecordInfo>();
+ List<PreparedTransactionInfo> preparedTransactions = new LinkedList<PreparedTransactionInfo>();
+
+ journal.start();
+
+ journal.load(records, preparedTransactions, new TransactionFailureCallback()
+ {
+
+ public void failedTransaction(long transactionID, List<RecordInfo> records, List<RecordInfo> recordsToDelete)
+ {
+ out.println("Transaction " + transactionID + " failed with these records:");
+ for (RecordInfo info : records)
+ {
+ out.println("- " + describeRecord(info));
+ }
+
+ for (RecordInfo info : recordsToDelete)
+ {
+ out.println("- " + describeRecord(info) + " <marked to delete>");
+ }
+
+ }
+ });
+
+ for (RecordInfo info : records)
+ {
+ System.out.println(describeRecord(info));
+ }
+
+ out.println("### Prepared TX ###");
+
+ for (PreparedTransactionInfo tx : preparedTransactions)
+ {
+ System.out.println(tx.id);
+ for (RecordInfo info : tx.records)
+ {
+ out.println("- " + describeRecord(info));
+ }
+
+ for (RecordInfo info : tx.recordsToDelete)
+ {
+ out.println("- " + describeRecord(info) + " <marked to delete>");
+ }
+ }
+
+ journal.stop();
+ }
+
}
Added: branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/PrintData.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/PrintData.java (rev 0)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/persistence/impl/journal/PrintData.java 2011-02-28 22:45:42 UTC (rev 10269)
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.core.persistence.impl.journal;
+
+/**
+ * A PrintData
+ *
+ * @author clebertsuconic
+ *
+ *
+ */
+public class PrintData
+{
+
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // Public --------------------------------------------------------
+
+
+ public static void main(String arg[])
+ {
+ if (arg.length != 2)
+ {
+ System.out.println("Use: java -cp hornetq-core.jar <bindings directory> <message directory>");
+ System.exit(-1);
+ }
+
+ System.out.println("********************************************");
+ System.out.println("B I N D I N G S J O U R N A L");
+ System.out.println("********************************************");
+
+ try
+ {
+ JournalStorageManager.describeBindingJournal(arg[0]);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ System.out.println("********************************************");
+ System.out.println("M E S S A G E S J O U R N A L");
+ System.out.println("********************************************");
+
+ try
+ {
+ JournalStorageManager.describeMessagesJournal(arg[1]);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
+}
13 years, 10 months
JBoss hornetq SVN: r10268 - in branches/Branch_2_2_EAP/src/main/org/hornetq/core: server/cluster and 1 other directories.
by do-not-reply@jboss.org
Author: ataylor
Date: 2011-02-28 14:19:53 -0500 (Mon, 28 Feb 2011)
New Revision: 10268
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/protocol/core/impl/CoreProtocolManager.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/ClusterConnection.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/ClusterManager.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java
Log:
fixing unit tests
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/protocol/core/impl/CoreProtocolManager.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/protocol/core/impl/CoreProtocolManager.java 2011-02-28 18:48:55 UTC (rev 10267)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/protocol/core/impl/CoreProtocolManager.java 2011-02-28 19:19:53 UTC (rev 10268)
@@ -147,7 +147,7 @@
{
pair = new Pair<TransportConfiguration, TransportConfiguration>(msg.getConnector(), null);
}
- server.getClusterManager().notifyNodeUp(msg.getNodeID(), pair, false);
+ server.getClusterManager().notifyNodeUp(msg.getNodeID(), pair, false, true);
}
}
});
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/ClusterConnection.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/ClusterConnection.java 2011-02-28 18:48:55 UTC (rev 10267)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/ClusterConnection.java 2011-02-28 19:19:53 UTC (rev 10268)
@@ -15,6 +15,7 @@
import java.util.Map;
+import org.hornetq.api.core.Pair;
import org.hornetq.api.core.SimpleString;
import org.hornetq.api.core.TransportConfiguration;
import org.hornetq.api.core.client.ClusterTopologyListener;
@@ -54,4 +55,6 @@
// for debug
String description();
+
+ void nodeAnnounced(String nodeID, Pair<TransportConfiguration,TransportConfiguration> connectorPair);
}
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/ClusterManager.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/ClusterManager.java 2011-02-28 18:48:55 UTC (rev 10267)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/ClusterManager.java 2011-02-28 19:19:53 UTC (rev 10268)
@@ -50,7 +50,7 @@
void notifyNodeDown(String nodeID);
- void notifyNodeUp(String nodeID, Pair<TransportConfiguration, TransportConfiguration> connectorPair, boolean backup);
+ void notifyNodeUp(String nodeID, Pair<TransportConfiguration, TransportConfiguration> connectorPair, boolean backup, boolean nodeAnnounce);
Topology getTopology();
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java 2011-02-28 18:48:55 UTC (rev 10267)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java 2011-02-28 19:19:53 UTC (rev 10268)
@@ -35,7 +35,6 @@
import org.hornetq.core.postoffice.Bindings;
import org.hornetq.core.postoffice.PostOffice;
import org.hornetq.core.postoffice.impl.PostOfficeImpl;
-import org.hornetq.core.server.HornetQComponent;
import org.hornetq.core.server.HornetQServer;
import org.hornetq.core.server.Queue;
import org.hornetq.core.server.cluster.Bridge;
@@ -84,8 +83,6 @@
private final Map<String, MessageFlowRecord> records = new HashMap<String, MessageFlowRecord>();
- private final List<TransportConfiguration> conectorssss = new ArrayList<TransportConfiguration>();
-
private final ScheduledExecutorService scheduledExecutor;
private final int maxHops;
@@ -425,13 +422,13 @@
{
if(connectorPair.b != null)
{
- server.getClusterManager().notifyNodeUp(nodeID, connectorPair, last);
+ server.getClusterManager().notifyNodeUp(nodeID, connectorPair, last, false);
}
return;
}
// we propagate the node notifications to all cluster topology listeners
- server.getClusterManager().notifyNodeUp(nodeID, connectorPair, last);
+ server.getClusterManager().notifyNodeUp(nodeID, connectorPair, last, false);
// if the node is more than 1 hop away, we do not create a bridge for direct cluster connection
if (allowDirectConnectionsOnly && !allowableConnections.contains(connectorPair.a))
@@ -451,59 +448,120 @@
return;
}
- Collection<TopologyMember> topologyMembers = serverLocator.getTopology().getMembers();
- for (TopologyMember topologyMember : topologyMembers)
+ synchronized (records)
{
- if(topologyMember.getConnector().a != null && !conectorssss.contains(topologyMember.getConnector().a))
+ try
{
- if(!topologyMember.getConnector().a.equals(connector) && !topologyMember.getConnector().a.equals(connectorPair.a))
+ MessageFlowRecord record = records.get(nodeID);
+
+ if (record == null)
{
- log.debug("ClusterConnectionImpl.nodeUP");
+ // New node - create a new flow record
+
+ final SimpleString queueName = new SimpleString("sf." + name + "." + nodeID);
+
+ Binding queueBinding = postOffice.getBinding(queueName);
+
+ Queue queue;
+
+ if (queueBinding != null)
+ {
+ queue = (Queue)queueBinding.getBindable();
+ }
+ else
+ {
+ // Add binding in storage so the queue will get reloaded on startup and we can find it - it's never
+ // actually routed to at that address though
+ queue = server.createQueue(queueName, queueName, null, true, false);
+ }
+
+ createNewRecord(nodeID, connectorPair.a, queueName, queue, true);
}
+ else
+ {
+ // FIXME apple and orange comparison. I don't understand it...
+ //if (!connectorPair.a.equals(record.getBridge().getForwardingConnection().getTransportConnection()))
+ // {
+ // // New live node - close it and recreate it - TODO - CAN THIS EVER HAPPEN?
+ //}
+ }
}
+ catch (Exception e)
+ {
+ log.error("Failed to update topology", e);
+ }
}
+ }
- try
+ public void nodeAnnounced(final String nodeID,
+ final Pair<TransportConfiguration, TransportConfiguration> connectorPair)
+ {
+ if (nodeID.equals(nodeUUID.toString()))
{
- MessageFlowRecord record = records.get(nodeID);
+ return;
+ }
- if (record == null)
+ // if the node is more than 1 hop away, we do not create a bridge for direct cluster connection
+ if (allowDirectConnectionsOnly && !allowableConnections.contains(connectorPair.a))
+ {
+ return;
+ }
+
+ // FIXME required to prevent cluster connections w/o discovery group
+ // and empty static connectors to create bridges... ulgy!
+ if (serverLocator == null)
+ {
+ return;
+ }
+ /*we dont create bridges to backups*/
+ if(connectorPair.a == null)
+ {
+ return;
+ }
+
+ synchronized (records)
+ {
+ try
{
- // New node - create a new flow record
+ MessageFlowRecord record = records.get(nodeID);
- final SimpleString queueName = new SimpleString("sf." + name + "." + nodeID);
+ if (record == null)
+ {
+ // New node - create a new flow record
- Binding queueBinding = postOffice.getBinding(queueName);
+ final SimpleString queueName = new SimpleString("sf." + name + "." + nodeID);
- Queue queue;
+ Binding queueBinding = postOffice.getBinding(queueName);
- if (queueBinding != null)
- {
- queue = (Queue)queueBinding.getBindable();
+ Queue queue;
+
+ if (queueBinding != null)
+ {
+ queue = (Queue)queueBinding.getBindable();
+ }
+ else
+ {
+ // Add binding in storage so the queue will get reloaded on startup and we can find it - it's never
+ // actually routed to at that address though
+ queue = server.createQueue(queueName, queueName, null, true, false);
+ }
+
+ createNewRecord(nodeID, connectorPair.a, queueName, queue, true);
}
else
{
- // Add binding in storage so the queue will get reloaded on startup and we can find it - it's never
- // actually routed to at that address though
- queue = server.createQueue(queueName, queueName, null, true, false);
+ // FIXME apple and orange comparison. I don't understand it...
+ //if (!connectorPair.a.equals(record.getBridge().getForwardingConnection().getTransportConnection()))
+ // {
+ // // New live node - close it and recreate it - TODO - CAN THIS EVER HAPPEN?
+ //}
}
-
- createNewRecord(nodeID, connectorPair.a, queueName, queue, true);
- conectorssss.add(connectorPair.a);
}
- else
+ catch (Exception e)
{
- // FIXME apple and orange comparison. I don't understand it...
- //if (!connectorPair.a.equals(record.getBridge().getForwardingConnection().getTransportConnection()))
- // {
- // // New live node - close it and recreate it - TODO - CAN THIS EVER HAPPEN?
- //}
+ log.error("Failed to update topology", e);
}
}
- catch (Exception e)
- {
- log.error("Failed to update topology", e);
- }
}
private void createNewRecord(final String nodeID,
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java 2011-02-28 18:48:55 UTC (rev 10267)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java 2011-02-28 19:19:53 UTC (rev 10268)
@@ -18,6 +18,7 @@
import java.lang.reflect.Array;
import java.net.InetAddress;
import java.util.*;
+import java.util.concurrent.Executor;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
@@ -102,6 +103,7 @@
private volatile ServerLocatorInternal backupServerLocator;
private final List<ServerLocatorInternal> clusterLocators = new ArrayList<ServerLocatorInternal>();
+ private Executor executor;
public ClusterManagerImpl(final ExecutorFactory executorFactory,
final HornetQServer server,
@@ -120,6 +122,8 @@
this.executorFactory = executorFactory;
+ executor = executorFactory.getExecutor();
+
this.server = server;
this.postOffice = postOffice;
@@ -250,11 +254,13 @@
}
}
- public void notifyNodeUp(String nodeID,
- Pair<TransportConfiguration, TransportConfiguration> connectorPair,
- boolean last)
+ public void notifyNodeUp(final String nodeID,
+ final Pair<TransportConfiguration, TransportConfiguration> connectorPair,
+ final boolean last,
+ final boolean nodeAnnounce)
{
- boolean updated = topology.addMember(nodeID, new TopologyMember(connectorPair));
+ TopologyMember member = new TopologyMember(connectorPair);
+ boolean updated = topology.addMember(nodeID, member);
if(!updated)
{
@@ -263,14 +269,23 @@
for (ClusterTopologyListener listener : clientListeners)
{
- listener.nodeUP(nodeID, connectorPair, last);
+ listener.nodeUP(nodeID, member.getConnector(), last);
}
for (ClusterTopologyListener listener : clusterConnectionListeners)
{
- listener.nodeUP(nodeID, connectorPair, last);
+ listener.nodeUP(nodeID, member.getConnector(), last);
}
+
+ //if this is a node being announced we are hearing it direct from the nodes CM so need to inform our cluster connections.
+ if (nodeAnnounce)
+ {
+ for (ClusterConnection clusterConnection : clusterConnections.values())
+ {
+ clusterConnection.nodeAnnounced(nodeID, connectorPair);
+ }
+ }
}
public boolean isStarted()
@@ -836,7 +851,7 @@
return;
}
log.info("announcing backup");
- this.executorFactory.getExecutor().execute(new Runnable()
+ executor.execute(new Runnable()
{
public void run()
{
13 years, 10 months
JBoss hornetq SVN: r10267 - branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2011-02-28 13:48:55 -0500 (Mon, 28 Feb 2011)
New Revision: 10267
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/FileLockNodeManager.java
Log:
tweak on logging
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/FileLockNodeManager.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/FileLockNodeManager.java 2011-02-28 17:52:38 UTC (rev 10266)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/impl/FileLockNodeManager.java 2011-02-28 18:48:55 UTC (rev 10267)
@@ -33,7 +33,7 @@
*/
public class FileLockNodeManager extends NodeManager
{
- private static final Logger log = Logger.getLogger(FileLockNodeManager.class);
+ private final Logger log = Logger.getLogger(this.getClass());
protected static final String SERVER_LOCK_NAME = "server.lock";
@@ -168,7 +168,7 @@
byte state = getState();
while (state == FileLockNodeManager.NOT_STARTED || state == FileLockNodeManager.FIRST_TIME_START)
{
- FileLockNodeManager.log.debug("awaiting live node startup state='" + state + "'");
+ log.debug("awaiting live node startup state='" + state + "'");
Thread.sleep(2000);
state = getState();
}
@@ -178,18 +178,18 @@
if (state == FileLockNodeManager.PAUSED)
{
liveLock.release();
- FileLockNodeManager.log.debug("awaiting live node restarting");
+ log.debug("awaiting live node restarting");
Thread.sleep(2000);
}
else if (state == FileLockNodeManager.FAILINGBACK)
{
liveLock.release();
- FileLockNodeManager.log.debug("awaiting live node failing back");
+ log.debug("awaiting live node failing back");
Thread.sleep(2000);
}
else if (state == FileLockNodeManager.LIVE)
{
- FileLockNodeManager.log.debug("acquired live node lock state = " + (char)state);
+ log.debug("acquired live node lock state = " + (char)state);
break;
}
}
@@ -200,10 +200,10 @@
public void startBackup() throws Exception
{
- FileLockNodeManager.log.info("Waiting to become backup node");
+ log.info("Waiting to become backup node");
backupLock = lock(FileLockNodeManager.BACKUP_LOCK_POS);
- FileLockNodeManager.log.info("** got backup lock");
+ log.info("** got backup lock");
readNodeId();
}
@@ -213,11 +213,11 @@
{
setFailingBack();
- FileLockNodeManager.log.info("Waiting to obtain live lock");
+ log.info("Waiting to obtain live lock");
liveLock = lock(FileLockNodeManager.LIVE_LOCK_POS);
- FileLockNodeManager.log.info("Live Server Obtained live lock");
+ log.info("Live Server Obtained live lock");
setLive();
}
13 years, 10 months
JBoss hornetq SVN: r10266 - branches/Branch_2_2_EAP/native/bin.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2011-02-28 12:52:38 -0500 (Mon, 28 Feb 2011)
New Revision: 10266
Modified:
branches/Branch_2_2_EAP/native/bin/libHornetQAIO64.so
Log:
wrong compilation
Modified: branches/Branch_2_2_EAP/native/bin/libHornetQAIO64.so
===================================================================
(Binary files differ)
13 years, 10 months
JBoss hornetq SVN: r10263 - trunk/docs.
by do-not-reply@jboss.org
Author: ataylor
Date: 2011-02-28 12:20:18 -0500 (Mon, 28 Feb 2011)
New Revision: 10263
Added:
trunk/docs/design-guide/
Log:
root dir for design doc
13 years, 10 months
JBoss hornetq SVN: r10262 - branches/Branch_2_2_EAP/native/bin.
by do-not-reply@jboss.org
Author: clebert.suconic(a)jboss.com
Date: 2011-02-28 12:05:07 -0500 (Mon, 28 Feb 2011)
New Revision: 10262
Modified:
branches/Branch_2_2_EAP/native/bin/libHornetQAIO32.so
branches/Branch_2_2_EAP/native/bin/libHornetQAIO64.so
Log:
compilation
Modified: branches/Branch_2_2_EAP/native/bin/libHornetQAIO32.so
===================================================================
(Binary files differ)
Modified: branches/Branch_2_2_EAP/native/bin/libHornetQAIO64.so
===================================================================
(Binary files differ)
13 years, 10 months
JBoss hornetq SVN: r10261 - in branches/Branch_2_2_EAP/docs: design-guide and 3 other directories.
by do-not-reply@jboss.org
Author: ataylor
Date: 2011-02-28 11:20:36 -0500 (Mon, 28 Feb 2011)
New Revision: 10261
Added:
branches/Branch_2_2_EAP/docs/design-guide/
branches/Branch_2_2_EAP/docs/design-guide/build.bat
branches/Branch_2_2_EAP/docs/design-guide/build.sh
branches/Branch_2_2_EAP/docs/design-guide/build.xml
branches/Branch_2_2_EAP/docs/design-guide/en/
branches/Branch_2_2_EAP/docs/design-guide/en/Author_Group.xml
branches/Branch_2_2_EAP/docs/design-guide/en/Book_Info.xml
branches/Branch_2_2_EAP/docs/design-guide/en/HornetQ_Design_Guide.ent
branches/Branch_2_2_EAP/docs/design-guide/en/HornetQ_Design_Guide.xml
branches/Branch_2_2_EAP/docs/design-guide/en/about.xml
branches/Branch_2_2_EAP/docs/design-guide/en/clustering.xml
branches/Branch_2_2_EAP/docs/design-guide/en/diagrams/
branches/Branch_2_2_EAP/docs/design-guide/en/diagrams/design-docs.odg
branches/Branch_2_2_EAP/docs/design-guide/en/images/
branches/Branch_2_2_EAP/docs/design-guide/en/images/hornetQ_logo_600px.png
branches/Branch_2_2_EAP/docs/design-guide/en/images/topology-update.jpg
branches/Branch_2_2_EAP/docs/design-guide/en/notice.xml
branches/Branch_2_2_EAP/docs/design-guide/pom.xml
Log:
added design doc starter for 10
Copied: branches/Branch_2_2_EAP/docs/design-guide/build.bat (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/build.bat)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/build.bat (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/build.bat 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,13 @@
+@echo off
+
+set "OVERRIDE_ANT_HOME=..\..\tools\ant"
+
+if exist "..\..\src\bin\build.bat" (
+ rem running from TRUNK
+ call ..\..\src\bin\build.bat %*
+) else (
+ rem running from the distro
+ call ..\..\bin\build.bat %*
+)
+
+set "OVERRIDE_ANT_HOME="
Copied: branches/Branch_2_2_EAP/docs/design-guide/build.sh (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/build.sh)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/build.sh (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/build.sh 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+OVERRIDE_ANT_HOME=../../tools/ant
+export OVERRIDE_ANT_HOME
+
+if [ -f "../../src/bin/build.sh" ]; then
+ # running from TRUNK
+ ../../src/bin/build.sh "$@"
+else
+ # running from the distro
+ ../../bin/build.sh "$@"
+fi
+
+
+
Copied: branches/Branch_2_2_EAP/docs/design-guide/build.xml (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/build.xml)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/build.xml (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/build.xml 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,27 @@
+<project name="HornetQ Design Guide" default="all" basedir=".">
+
+
+ <target name="maven-init">
+ <property name="maven.home" location="${basedir}/../../tools/maven"/>
+ <echo message="Maven Home set to ${maven.home}"/>
+ </target>
+
+ <target name="clean" depends="maven-init">
+ <condition property="mvn.cmd" value="mvn.bat" else="mvn">
+ <os family="windows"/>
+ </condition>
+ <exec executable="${mvn.cmd}">
+ <arg line="clean"/>
+ </exec>
+ </target>
+
+ <target name="all" depends="maven-init">
+ <condition property="mvn.cmd" value="mvn.bat" else="mvn">
+ <os family="windows"/>
+ </condition>
+ <exec executable="${mvn.cmd}">
+ <arg line="install"/>
+ </exec>
+ </target>
+
+</project>
Copied: branches/Branch_2_2_EAP/docs/design-guide/en/Author_Group.xml (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/en/Author_Group.xml)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/en/Author_Group.xml (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/en/Author_Group.xml 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,30 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ ~ Copyright 2009 Red Hat, Inc.
+ ~ Red Hat licenses this file to you under the Apache License, version
+ ~ 2.0 (the "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ ~ implied. See the License for the specific language governing
+ ~ permissions and limitations under the License.
+ -->
+
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "HornetQ_Design_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<authorgroup>
+ <author>
+ <firstname>Andy</firstname>
+ <surname>Taylor</surname>
+ <affiliation>
+ <shortaffil>Red Hat, Inc.</shortaffil>
+ <jobtitle>Core Developer</jobtitle>
+ <orgdiv>JBoss</orgdiv>
+ </affiliation>
+ <email>ataylor(a)redhat.com</email>
+ </author>
+</authorgroup>
Copied: branches/Branch_2_2_EAP/docs/design-guide/en/Book_Info.xml (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/en/Book_Info.xml)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/en/Book_Info.xml (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/en/Book_Info.xml 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,44 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+ ~ Copyright 2009 Red Hat, Inc.
+ ~ Red Hat licenses this file to you under the Apache License, version
+ ~ 2.0 (the "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ ~ implied. See the License for the specific language governing
+ ~ permissions and limitations under the License.
+ -->
+
+<!-- This document was created with Syntext Serna Free. --><!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "HornetQ_Design_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<bookinfo id="HornetQ_QuickStart_Guide">
+ <title>HornetQ Design Guide</title>
+ <subtitle>Putting the buzz in messaging</subtitle>
+ <productname>HornetQ</productname>
+ <edition>2.1.0</edition>
+ <pubsnumber>1</pubsnumber>
+ <abstract>
+ <para>This Design guide is to help current and future developers how HornetQ's architectures are designed to
+ help the future development and maintenance of the project</para>
+ </abstract>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/hornetQ_logo_600px.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>HornetQ Logo</phrase>
+ </textobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <copyright>
+ <year>&YEAR;</year>
+ <holder>&HOLDER;</holder>
+ </copyright>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Author_Group.xml"/>
+</bookinfo>
Added: branches/Branch_2_2_EAP/docs/design-guide/en/HornetQ_Design_Guide.ent
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/en/HornetQ_Design_Guide.ent (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/en/HornetQ_Design_Guide.ent 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,5 @@
+<!ENTITY PRODUCT "HornetQ">
+<!ENTITY BOOKID "HornetQ_Design_Guide">
+<!ENTITY YEAR "2011">
+<!ENTITY HOLDER "Red Hat Inc.">
+<!ENTITY semi ";">
Copied: branches/Branch_2_2_EAP/docs/design-guide/en/HornetQ_Design_Guide.xml (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.xml)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/en/HornetQ_Design_Guide.xml (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/en/HornetQ_Design_Guide.xml 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,26 @@
+<?xml version='1.0' encoding='UTF-8'?>
+
+<!--
+ ~ Copyright 2009 Red Hat, Inc.
+ ~ Red Hat licenses this file to you under the Apache License, version
+ ~ 2.0 (the "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ ~ implied. See the License for the specific language governing
+ ~ permissions and limitations under the License.
+ -->
+
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "HornetQ_Design_Guide.ent">
+%BOOK_ENTITIES;
+
+]>
+<book>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="Book_Info.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="notice.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="about.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clustering.xml"/>
+</book>
Copied: branches/Branch_2_2_EAP/docs/design-guide/en/about.xml (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/en/about.xml)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/en/about.xml (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/en/about.xml 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Copyright 2009 Red Hat, Inc.
+ ~ Red Hat licenses this file to you under the Apache License, version
+ ~ 2.0 (the "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ ~ implied. See the License for the specific language governing
+ ~ permissions and limitations under the License.
+ -->
+
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "HornetQ_Design_Guide.ent">
+%BOOK_ENTITIES;
+]>
+
+<chapter id="about">
+ <title>About HornetQ</title>
+ <para>What is HornetQ?</para>
+</chapter>
\ No newline at end of file
Added: branches/Branch_2_2_EAP/docs/design-guide/en/clustering.xml
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/en/clustering.xml (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/en/clustering.xml 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ============================================================================= -->
+<!-- Copyright © 2009 Red Hat, Inc. and others. -->
+<!-- -->
+<!-- The text of and illustrations in this document are licensed by Red Hat under -->
+<!-- a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). -->
+<!-- -->
+<!-- An explanation of CC-BY-SA is available at -->
+<!-- -->
+<!-- http://creativecommons.org/licenses/by-sa/3.0/. -->
+<!-- -->
+<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation -->
+<!-- of it, you must provide the URL for the original version. -->
+<!-- -->
+<!-- Red Hat, as the licensor of this document, waives the right to enforce, -->
+<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent -->
+<!-- permitted by applicable law. -->
+<!-- ============================================================================= -->
+
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "HornetQ_Design_Guide.ent">
+%BOOK_ENTITIES;
+]>
+<chapter id="introduction">
+ <title>Getting Started</title>
+ <para>This chapter discusses the architecture behind clustering</para>
+ <section>
+ <title>Discovery</title>
+ <para>Discovery is done in 2 steps, initial discovery where the server locates another node in the cluster and
+ topology discovery where the node finds out about all other nodes in the cluster</para>
+ <section>
+ <title>Initial Discovery</title>
+ <para>blah blah blah, UDP, static connectors etc etc</para>
+ </section>
+ <section>
+ <title>Topology Discovery</title>
+ <para>blah blah blah, topology etc</para>
+ <para>
+ <graphic fileref="images/topology-update.jpg" align="center" format="JPEG" scale="30"/>
+ </para>
+ </section>
+ </section>
+</chapter>
Added: branches/Branch_2_2_EAP/docs/design-guide/en/diagrams/design-docs.odg
===================================================================
(Binary files differ)
Property changes on: branches/Branch_2_2_EAP/docs/design-guide/en/diagrams/design-docs.odg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Copied: branches/Branch_2_2_EAP/docs/design-guide/en/images/hornetQ_logo_600px.png (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/en/images/hornetQ_logo_600px.png)
===================================================================
(Binary files differ)
Added: branches/Branch_2_2_EAP/docs/design-guide/en/images/topology-update.jpg
===================================================================
(Binary files differ)
Property changes on: branches/Branch_2_2_EAP/docs/design-guide/en/images/topology-update.jpg
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Copied: branches/Branch_2_2_EAP/docs/design-guide/en/notice.xml (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/en/notice.xml)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/en/notice.xml (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/en/notice.xml 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,32 @@
+<!--
+ ~ Copyright 2009 Red Hat, Inc.
+ ~ Red Hat licenses this file to you under the Apache License, version
+ ~ 2.0 (the "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ ~ implied. See the License for the specific language governing
+ ~ permissions and limitations under the License.
+ -->
+
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "HornetQ_Design_Guide.ent">
+%BOOK_ENTITIES;
+]>
+
+<chapter id="notice">
+ <title>Legal Notice</title>
+
+ <para>Copyright © 2010 Red Hat, Inc. and others.</para>
+ <para>The text of and illustrations in this document are licensed by Red Hat under
+ a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA").</para>
+ <para>An explanation of CC-BY-SA is available at
+ <ulink url="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</ulink>.
+ In accordance with CC-BY-SA, if you distribute this document or an adaptation
+ of it, you must provide the URL for the original version.</para>
+ <para>Red Hat, as the licensor of this document, waives the right to enforce,
+ and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent
+ permitted by applicable law.</para>
+</chapter>
\ No newline at end of file
Copied: branches/Branch_2_2_EAP/docs/design-guide/pom.xml (from rev 10259, branches/Branch_2_2_EAP/docs/quickstart-guide/pom.xml)
===================================================================
--- branches/Branch_2_2_EAP/docs/design-guide/pom.xml (rev 0)
+++ branches/Branch_2_2_EAP/docs/design-guide/pom.xml 2011-02-28 16:20:36 UTC (rev 10261)
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright 2009 Red Hat, Inc.
+ ~ Red Hat licenses this file to you under the Apache License, version
+ ~ 2.0 (the "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ ~ implied. See the License for the specific language governing
+ ~ permissions and limitations under the License.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.project</groupId>
+ <artifactId>${docname}-${translation}</artifactId>
+ <version>1.0</version>
+ <packaging>jdocbook</packaging>
+ <name>${bookname}-(${translation})</name>
+
+ <properties>
+ <translation>en</translation>
+ <docname>HornetQ_Design_Guide</docname>
+ <bookname>HornetQ Design Guide</bookname>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public/</url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>jboss-public-repository-group</id>
+ <name>JBoss Public Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public/</url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository>
+ <!--pluginRepository>
+ <id>jboss-snapshot-repository-group</id>
+ <name>JBoss Snapshot Maven Repository Group</name>
+ <url>https://repository.jboss.org/nexus/content/groups/snapshot/</url>
+ <layout>default</layout>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </pluginRepository-->
+ </pluginRepositories>
+
+ <profiles>
+
+ <!-- mvn compile -->
+ <profile>
+ <id>all</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.2.1</version>
+ <extensions>true</extensions>
+ <configuration>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>${docname}.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!-- mvn compile -Phtml -->
+ <profile>
+ <id>html</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.2.1</version>
+ <extensions>true</extensions>
+ <configuration>
+ <formats>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!-- mvn compile -Phtml-single -->
+ <profile>
+ <id>html-single</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.2.1</version>
+ <extensions>true</extensions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!-- mvn compile -Ppdf -->
+ <profile>
+ <id>pdf</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.1.0</version>
+ <extensions>true</extensions>
+ <configuration>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>${docname}.pdf</finalName>
+ </format>
+ </formats>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.2.1</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.pressgang</groupId>
+ <artifactId>pressgang-xslt</artifactId>
+ <version>1.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.1.1</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <sourceDirectory>${project.basedir}</sourceDirectory>
+ <sourceDocumentName>${docname}.xml</sourceDocumentName>
+ <masterTranslation>en</masterTranslation>
+ <imageResource>
+ <directory>${project.basedir}/en</directory>
+ <includes>
+ <include>images/*.png</include>
+ <include>images/*.jpg</include>
+ </includes>
+ </imageResource>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>${pdf.name}</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <xmlTransformerType>saxon</xmlTransformerType>
+ <docbookVersion>1.72.0</docbookVersion>
+ <localeSeparator>-</localeSeparator>
+ <transformerParameters>
+ <property>
+ <name>javax.xml.parsers.DocumentBuilderFactory</name>
+ <value>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</value>
+ </property>
+ <property>
+ <name>javax.xml.parsers.SAXParserFactory</name>
+ <value>org.apache.xerces.jaxp.SAXParserFactoryImpl</value>
+ </property>
+ </transformerParameters>
+ </options>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <!--<build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.2.1</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.pressgang</groupId>
+ <artifactId>pressgang-xslt</artifactId>
+ <version>1.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.1.1</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <sourceDocumentName>${docname}.xml</sourceDocumentName>
+ <sourceDirectory>.</sourceDirectory>
+ <imageResource>
+ <directory>${translation}</directory>
+ <includes>
+ <include>images/*</include>
+ </includes>
+ </imageResource>
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <xmlTransformerType>saxon</xmlTransformerType>
+ <transformerParameters>
+ <property>
+ <name>javax.xml.parsers.DocumentBuilderFactory</name>
+ <value>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</value>
+ </property>
+ <property>
+ <name>javax.xml.parsers.SAXParserFactory</name>
+ <value>org.apache.xerces.jaxp.SAXParserFactoryImpl</value>
+ </property>
+ </transformerParameters>
+ </options>
+ </configuration>
+ </plugin>
+
+ </plugins>
+ </build>-->
+
+</project>
13 years, 10 months
JBoss hornetq SVN: r10260 - branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl.
by do-not-reply@jboss.org
Author: ataylor
Date: 2011-02-28 09:13:24 -0500 (Mon, 28 Feb 2011)
New Revision: 10260
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/Topology.java
Log:
added better debug
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/Topology.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/Topology.java 2011-02-27 10:24:21 UTC (rev 10259)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/Topology.java 2011-02-28 14:13:24 UTC (rev 10260)
@@ -54,10 +54,9 @@
TopologyMember currentMember = topology.get(nodeId);
if (debug)
{
- if(member.getConnector().toString().contains("server-id=4"))
- {
- log.debug("member.getConnector() = " + member.getConnector());
- }
+ System.out.println("adding = " + nodeId + ":" + member.getConnector());
+ System.out.println("before----------------------------------");
+ System.out.println(describe());
}
if(currentMember == null)
{
@@ -86,6 +85,12 @@
member.getConnector().b = currentMember.getConnector().b;
}
}
+ if(debug)
+ {
+
+ System.out.println("after----------------------------------updated=" + replaced);
+ System.out.println(describe());
+ }
return replaced;
}
13 years, 10 months