[hornetq-commits] JBoss hornetq SVN: r9013 - in trunk: src/config/jboss-as/non-clustered and 12 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Mar 30 05:18:23 EDT 2010
Author: timfox
Date: 2010-03-30 05:18:21 -0400 (Tue, 30 Mar 2010)
New Revision: 9013
Modified:
trunk/src/config/jboss-as-6/clustered/hornetq-jms.xml
trunk/src/config/jboss-as-6/non-clustered/hornetq-jms.xml
trunk/src/config/jboss-as/clustered/hornetq-jms.xml
trunk/src/config/jboss-as/non-clustered/hornetq-jms.xml
trunk/src/config/stand-alone/clustered/hornetq-jms.xml
trunk/src/config/stand-alone/non-clustered/hornetq-jms.xml
trunk/src/config/trunk/clustered/hornetq-jms.xml
trunk/src/config/trunk/non-clustered/hornetq-jms.xml
trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java
trunk/src/main/org/hornetq/core/client/impl/ClientProducerImpl.java
trunk/src/main/org/hornetq/core/message/impl/MessageImpl.java
trunk/src/main/org/hornetq/core/message/impl/MessageInternal.java
trunk/src/main/org/hornetq/core/server/ServerMessage.java
trunk/src/main/org/hornetq/core/server/impl/ServerMessageImpl.java
trunk/src/main/org/hornetq/core/server/impl/ServerSessionImpl.java
trunk/src/main/org/hornetq/jms/client/HornetQMessageProducer.java
trunk/tests/src/org/hornetq/tests/unit/core/postoffice/impl/BindingsImplTest.java
Log:
mainly default address optimisation
Modified: trunk/src/config/jboss-as/clustered/hornetq-jms.xml
===================================================================
--- trunk/src/config/jboss-as/clustered/hornetq-jms.xml 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/config/jboss-as/clustered/hornetq-jms.xml 2010-03-30 09:18:21 UTC (rev 9013)
@@ -12,6 +12,16 @@
</entries>
</connection-factory>
+ <connection-factory name="NettyThroughputConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-throughput"/>
+ </connectors>
+ <entries>
+ <entry name="/ThroughputConnectionFactory"/>
+ <entry name="/XAThroughputConnectionFactory"/>
+ </entries>
+ /connection-factory>
+
<connection-factory name="InVMConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
Modified: trunk/src/config/jboss-as/non-clustered/hornetq-jms.xml
===================================================================
--- trunk/src/config/jboss-as/non-clustered/hornetq-jms.xml 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/config/jboss-as/non-clustered/hornetq-jms.xml 2010-03-30 09:18:21 UTC (rev 9013)
@@ -12,6 +12,16 @@
</entries>
</connection-factory>
+ <connection-factory name="NettyThroughputConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-throughput"/>
+ </connectors>
+ <entries>
+ <entry name="/ThroughputConnectionFactory"/>
+ <entry name="/XAThroughputConnectionFactory"/>
+ </entries>
+ </connection-factory>
+
<connection-factory name="InVMConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
Modified: trunk/src/config/jboss-as-6/clustered/hornetq-jms.xml
===================================================================
--- trunk/src/config/jboss-as-6/clustered/hornetq-jms.xml 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/config/jboss-as-6/clustered/hornetq-jms.xml 2010-03-30 09:18:21 UTC (rev 9013)
@@ -12,6 +12,16 @@
</entries>
</connection-factory>
+ <connection-factory name="NettyThroughputConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-throughput"/>
+ </connectors>
+ <entries>
+ <entry name="/ThroughputConnectionFactory"/>
+ <entry name="/XAThroughputConnectionFactory"/>
+ </entries>
+ </connection-factory>
+
<connection-factory name="InVMConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
Modified: trunk/src/config/jboss-as-6/non-clustered/hornetq-jms.xml
===================================================================
--- trunk/src/config/jboss-as-6/non-clustered/hornetq-jms.xml 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/config/jboss-as-6/non-clustered/hornetq-jms.xml 2010-03-30 09:18:21 UTC (rev 9013)
@@ -12,6 +12,16 @@
</entries>
</connection-factory>
+ <connection-factory name="NettyThroughputConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-throughput"/>
+ </connectors>
+ <entries>
+ <entry name="/ThroughputConnectionFactory"/>
+ <entry name="/XAThroughputConnectionFactory"/>
+ </entries>
+ </connection-factory>
+
<connection-factory name="InVMConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
Modified: trunk/src/config/stand-alone/clustered/hornetq-jms.xml
===================================================================
--- trunk/src/config/stand-alone/clustered/hornetq-jms.xml 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/config/stand-alone/clustered/hornetq-jms.xml 2010-03-30 09:18:21 UTC (rev 9013)
@@ -12,6 +12,16 @@
</entries>
</connection-factory>
+ <connection-factory name="NettyThroughputConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-throughput"/>
+ </connectors>
+ <entries>
+ <entry name="/ThroughputConnectionFactory"/>
+ <entry name="/XAThroughputConnectionFactory"/>
+ </entries>
+ </connection-factory>
+
<queue name="DLQ">
<entry name="/queue/DLQ"/>
</queue>
Modified: trunk/src/config/stand-alone/non-clustered/hornetq-jms.xml
===================================================================
--- trunk/src/config/stand-alone/non-clustered/hornetq-jms.xml 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/config/stand-alone/non-clustered/hornetq-jms.xml 2010-03-30 09:18:21 UTC (rev 9013)
@@ -12,6 +12,16 @@
</entries>
</connection-factory>
+ <connection-factory name="NettyThroughputConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-throughput"/>
+ </connectors>
+ <entries>
+ <entry name="/ThroughputConnectionFactory"/>
+ <entry name="/XAThroughputConnectionFactory"/>
+ </entries>
+ </connection-factory>
+
<queue name="DLQ">
<entry name="/queue/DLQ"/>
</queue>
Modified: trunk/src/config/trunk/clustered/hornetq-jms.xml
===================================================================
--- trunk/src/config/trunk/clustered/hornetq-jms.xml 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/config/trunk/clustered/hornetq-jms.xml 2010-03-30 09:18:21 UTC (rev 9013)
@@ -12,6 +12,16 @@
</entries>
</connection-factory>
+ <connection-factory name="NettyThroughputConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-throughput"/>
+ </connectors>
+ <entries>
+ <entry name="/ThroughputConnectionFactory"/>
+ <entry name="/XAThroughputConnectionFactory"/>
+ </entries>
+ </connection-factory>
+
<queue name="DLQ">
<entry name="/queue/DLQ"/>
</queue>
Modified: trunk/src/config/trunk/non-clustered/hornetq-jms.xml
===================================================================
--- trunk/src/config/trunk/non-clustered/hornetq-jms.xml 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/config/trunk/non-clustered/hornetq-jms.xml 2010-03-30 09:18:21 UTC (rev 9013)
@@ -12,6 +12,18 @@
</entries>
</connection-factory>
+ <!--
+ <connection-factory name="NettyThroughputConnectionFactory">
+ <connectors>
+ <connector-ref connector-name="netty-throughput"/>
+ </connectors>
+ <entries>
+ <entry name="/ThroughputConnectionFactory"/>
+ <entry name="/XAThroughputConnectionFactory"/>
+ </entries>
+ </connection-factory>
+ -->
+
<queue name="DLQ">
<entry name="/queue/DLQ"/>
</queue>
Modified: trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/main/org/hornetq/core/client/impl/ClientConsumerImpl.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -465,6 +465,11 @@
}
ClientMessageInternal messageToHandle = message;
+
+ if (messageToHandle.getAddress() == null)
+ {
+ messageToHandle.setAddressTransient(queueInfo.getAddress());
+ }
messageToHandle.onReceipt(this);
Modified: trunk/src/main/org/hornetq/core/client/impl/ClientProducerImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/ClientProducerImpl.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/main/org/hornetq/core/client/impl/ClientProducerImpl.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -214,22 +214,43 @@
MessageInternal msgI = (MessageInternal)msg;
ClientProducerCredits theCredits;
+
+ boolean isLarge;
+ if (msgI.getBodyInputStream() != null || msgI.isLargeMessage())
+ {
+ isLarge = true;
+ }
+ else
+ {
+ isLarge = false;
+ }
+
if (address != null)
{
- //session.setAddress(msg, address);
+ if (!isLarge)
+ {
+ session.setAddress(msg, address);
+ }
+ else
+ {
+ msg.setAddress(address);
+ }
- msg.setAddress(address);
-
// Anonymous
theCredits = session.getCredits(address, true);
}
else
{
- //session.setAddress(msg, this.address);
+ if (!isLarge)
+ {
+ session.setAddress(msg, this.address);
+ }
+ else
+ {
+ msg.setAddress(this.address);
+ }
- msg.setAddress(this.address);
-
theCredits = credits;
}
@@ -249,17 +270,8 @@
session.workDone();
- boolean isLarge;
+
- if (msgI.getBodyInputStream() != null || msgI.isLargeMessage())
- {
- isLarge = true;
- }
- else
- {
- isLarge = false;
- }
-
if (isLarge)
{
largeMessageSend(sendBlocking, msgI, theCredits);
Modified: trunk/src/main/org/hornetq/core/message/impl/MessageImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/message/impl/MessageImpl.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/main/org/hornetq/core/message/impl/MessageImpl.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -444,7 +444,13 @@
return buffer;
}
}
+
+ public void setAddressTransient(final SimpleString address)
+ {
+ this.address = address;
+ }
+
// Properties
// ---------------------------------------------------------------------------------------
Modified: trunk/src/main/org/hornetq/core/message/impl/MessageInternal.java
===================================================================
--- trunk/src/main/org/hornetq/core/message/impl/MessageInternal.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/main/org/hornetq/core/message/impl/MessageInternal.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -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.api.core.SimpleString;
import org.hornetq.core.message.BodyEncoder;
/**
@@ -56,4 +57,6 @@
BodyEncoder getBodyEncoder() throws HornetQException;
InputStream getBodyInputStream();
+
+ void setAddressTransient(SimpleString address);
}
Modified: trunk/src/main/org/hornetq/core/server/ServerMessage.java
===================================================================
--- trunk/src/main/org/hornetq/core/server/ServerMessage.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/main/org/hornetq/core/server/ServerMessage.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -13,6 +13,7 @@
package org.hornetq.core.server;
+import org.hornetq.api.core.SimpleString;
import org.hornetq.core.journal.EncodingSupport;
import org.hornetq.core.message.impl.MessageInternal;
import org.hornetq.core.paging.PagingStore;
Modified: trunk/src/main/org/hornetq/core/server/impl/ServerMessageImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/server/impl/ServerMessageImpl.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/main/org/hornetq/core/server/impl/ServerMessageImpl.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -316,5 +316,5 @@
buffer.setLong(buffer.getInt(MessageImpl.BUFFER_HEADER_SPACE) + DataConstants.SIZE_INT, messageID);
}
-
+
}
Modified: trunk/src/main/org/hornetq/core/server/impl/ServerSessionImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/server/impl/ServerSessionImpl.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/main/org/hornetq/core/server/impl/ServerSessionImpl.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -131,6 +131,8 @@
private final RoutingContext routingContext = new RoutingContextImpl(null);
private final SessionCallback callback;
+
+ private volatile SimpleString defaultAddress;
// Constructors ---------------------------------------------------------------------------------
@@ -905,8 +907,6 @@
currentLargeMessage = msg;
}
- private volatile SimpleString defaultAddress;
-
public void send(final ServerMessage message) throws Exception
{
long id = storageManager.generateUniqueID();
@@ -916,7 +916,17 @@
if (message.getAddress() == null)
{
- message.setAddress(defaultAddress);
+ if (message.isDurable())
+ {
+ //We need to force a re-encode when the message gets persisted or when it gets reloaded
+ //it will have no address
+ message.setAddress(defaultAddress);
+ }
+ else
+ {
+ //We don't want to force a re-encode when the message gets sent to the consumer
+ message.setAddressTransient(defaultAddress);
+ }
}
if (message.getAddress().equals(managementAddress))
Modified: trunk/src/main/org/hornetq/jms/client/HornetQMessageProducer.java
===================================================================
--- trunk/src/main/org/hornetq/jms/client/HornetQMessageProducer.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/src/main/org/hornetq/jms/client/HornetQMessageProducer.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -413,6 +413,36 @@
msg.resetMessageID(null);
}
+
+// if (!disableMessageID)
+// {
+// // Generate an id
+//
+// UUID uid = UUIDGenerator.getInstance().generateUUID();
+//
+// byte[] bytes = uid.asBytes();
+//
+// long id1 = bytes[0] << 56 | bytes[1] << 48 |
+// bytes[2] << 40 |
+// bytes[3] << 32 |
+// bytes[4] << 24 |
+// bytes[5] << 16 |
+// bytes[6] << 8 |
+// bytes[7];
+//
+// long id2 = bytes[8] << 56 | bytes[9] << 48 |
+// bytes[10] << 40 |
+// bytes[11] << 32 |
+// bytes[12] << 24 |
+// bytes[13] << 16 |
+// bytes[14] << 8 |
+// bytes[15];
+//
+// //We store it as two longs in the message, as it's a more compact format
+// msg.getCoreMessage().setClientMessageID(id1, id2);
+//
+// msg.resetMessageID(null);
+// }
if (foreign)
{
Modified: trunk/tests/src/org/hornetq/tests/unit/core/postoffice/impl/BindingsImplTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/unit/core/postoffice/impl/BindingsImplTest.java 2010-03-30 09:11:31 UTC (rev 9012)
+++ trunk/tests/src/org/hornetq/tests/unit/core/postoffice/impl/BindingsImplTest.java 2010-03-30 09:18:21 UTC (rev 9013)
@@ -880,6 +880,12 @@
}
+ public void setAddressTransient(SimpleString address)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
}
class FakeFilter implements Filter
More information about the hornetq-commits
mailing list