[jboss-cvs] JBoss Messaging SVN: r3681 - in trunk: src/main/org/jboss/messaging/core/remoting/impl/mina and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Feb 8 08:36:06 EST 2008
Author: jmesnil
Date: 2008-02-08 08:36:06 -0500 (Fri, 08 Feb 2008)
New Revision: 3681
Added:
trunk/src/main/org/jboss/messaging/core/remoting/codec/MessagingExceptionMessageCodec.java
Modified:
trunk/src/main/org/jboss/messaging/core/remoting/codec/SessionQueueQueryResponseMessageCodec.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/PacketCodecFactory.java
trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaClientTest.java
Log:
* added codec for MessagingExceptionMessage
Added: trunk/src/main/org/jboss/messaging/core/remoting/codec/MessagingExceptionMessageCodec.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/codec/MessagingExceptionMessageCodec.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/remoting/codec/MessagingExceptionMessageCodec.java 2008-02-08 13:36:06 UTC (rev 3681)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.messaging.core.remoting.codec;
+
+import static org.jboss.messaging.core.remoting.wireformat.PacketType.EXCEPTION;
+
+import org.jboss.messaging.core.remoting.wireformat.MessagingExceptionMessage;
+import org.jboss.messaging.util.MessagingException;
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>.
+ */
+public class MessagingExceptionMessageCodec extends AbstractPacketCodec<MessagingExceptionMessage>
+{
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ public MessagingExceptionMessageCodec()
+ {
+ super(EXCEPTION);
+ }
+
+ // Public --------------------------------------------------------
+
+ // AbstractPacketCodec overrides ---------------------------------
+
+ @Override
+ protected void encodeBody(MessagingExceptionMessage message, RemotingBuffer out) throws Exception
+ {
+ int code = message.getException().getCode();
+ String msg = message.getException().getMessage();
+
+ int bodyLength = INT_LENGTH + sizeof(msg);
+
+ out.putInt(bodyLength);
+ out.putInt(code);
+ out.putNullableString(msg);
+ }
+
+ @Override
+ protected MessagingExceptionMessage decodeBody(RemotingBuffer in)
+ throws Exception
+ {
+ int bodyLength = in.getInt();
+ if (in.remaining() < bodyLength)
+ {
+ return null;
+ }
+
+ int code = in.getInt();
+ String msg = in.getNullableString();
+
+ MessagingException me = new MessagingException(code, msg);
+ return new MessagingExceptionMessage(me);
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private ----------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/codec/SessionQueueQueryResponseMessageCodec.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/codec/SessionQueueQueryResponseMessageCodec.java 2008-02-08 07:27:04 UTC (rev 3680)
+++ trunk/src/main/org/jboss/messaging/core/remoting/codec/SessionQueueQueryResponseMessageCodec.java 2008-02-08 13:36:06 UTC (rev 3681)
@@ -6,7 +6,7 @@
*/
package org.jboss.messaging.core.remoting.codec;
-import static org.jboss.messaging.core.remoting.wireformat.PacketType.SESS_CREATEQUEUE;
+import static org.jboss.messaging.core.remoting.wireformat.PacketType.SESS_QUEUEQUERY_RESP;
import org.jboss.messaging.core.remoting.wireformat.SessionQueueQueryResponseMessage;
@@ -29,7 +29,7 @@
public SessionQueueQueryResponseMessageCodec()
{
- super(SESS_CREATEQUEUE);
+ super(SESS_QUEUEQUERY_RESP);
}
// Public --------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java 2008-02-08 07:27:04 UTC (rev 3680)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java 2008-02-08 13:36:06 UTC (rev 3681)
@@ -253,8 +253,8 @@
MessagingException me =
new MessagingException(MessagingException.INTERNAL_ERROR, "MINA session has been destroyed");
-
- listener.onFailure(me);
+ if (listener != null)
+ listener.onFailure(me);
}
}
}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/PacketCodecFactory.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/PacketCodecFactory.java 2008-02-08 07:27:04 UTC (rev 3680)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/PacketCodecFactory.java 2008-02-08 13:36:06 UTC (rev 3681)
@@ -12,33 +12,35 @@
import org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory;
import org.jboss.messaging.core.remoting.codec.AbstractPacketCodec;
+import org.jboss.messaging.core.remoting.codec.BytesPacketCodec;
+import org.jboss.messaging.core.remoting.codec.ConnectionCreateSessionMessageCodec;
+import org.jboss.messaging.core.remoting.codec.ConnectionCreateSessionResponseMessageCodec;
+import org.jboss.messaging.core.remoting.codec.ConsumerChangeRateMessageCodec;
+import org.jboss.messaging.core.remoting.codec.CreateConnectionMessageCodec;
+import org.jboss.messaging.core.remoting.codec.CreateConnectionResponseMessageCodec;
+import org.jboss.messaging.core.remoting.codec.DeliverMessageCodec;
+import org.jboss.messaging.core.remoting.codec.MessagingExceptionMessageCodec;
+import org.jboss.messaging.core.remoting.codec.RemotingBuffer;
+import org.jboss.messaging.core.remoting.codec.SessionAcknowledgeMessageCodec;
+import org.jboss.messaging.core.remoting.codec.SessionAddAddressMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionBindingQueryMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionBindingQueryResponseMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionBrowserHasNextMessageResponseMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionBrowserNextMessageBlockMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionBrowserNextMessageBlockResponseMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionBrowserNextMessageResponseMessageCodec;
-import org.jboss.messaging.core.remoting.codec.BytesPacketCodec;
-import org.jboss.messaging.core.remoting.codec.CreateConnectionMessageCodec;
-import org.jboss.messaging.core.remoting.codec.CreateConnectionResponseMessageCodec;
-import org.jboss.messaging.core.remoting.codec.ConsumerChangeRateMessageCodec;
+import org.jboss.messaging.core.remoting.codec.SessionCancelMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionCreateBrowserMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionCreateBrowserResponseMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionCreateConsumerMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionCreateConsumerResponseMessageCodec;
-import org.jboss.messaging.core.remoting.codec.ConnectionCreateSessionMessageCodec;
-import org.jboss.messaging.core.remoting.codec.ConnectionCreateSessionResponseMessageCodec;
+import org.jboss.messaging.core.remoting.codec.SessionCreateQueueMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionDeleteQueueMessageCodec;
-import org.jboss.messaging.core.remoting.codec.DeliverMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionQueueQueryMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionQueueQueryResponseMessageCodec;
-import org.jboss.messaging.core.remoting.codec.RemotingBuffer;
-import org.jboss.messaging.core.remoting.codec.SessionAcknowledgeMessageCodec;
-import org.jboss.messaging.core.remoting.codec.SessionAddAddressMessageCodec;
-import org.jboss.messaging.core.remoting.codec.SessionCancelMessageCodec;
-import org.jboss.messaging.core.remoting.codec.SessionCreateQueueMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionRemoveAddressMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionSendMessageCodec;
+import org.jboss.messaging.core.remoting.codec.SessionSetIDMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionXACommitMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionXAEndMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionXAForgetMessageCodec;
@@ -52,9 +54,25 @@
import org.jboss.messaging.core.remoting.codec.SessionXASetTimeoutMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionXASetTimeoutResponseMessageCodec;
import org.jboss.messaging.core.remoting.codec.SessionXAStartMessageCodec;
-import org.jboss.messaging.core.remoting.codec.SessionSetIDMessageCodec;
import org.jboss.messaging.core.remoting.codec.TextPacketCodec;
import org.jboss.messaging.core.remoting.wireformat.AbstractPacket;
+import org.jboss.messaging.core.remoting.wireformat.BytesPacket;
+import org.jboss.messaging.core.remoting.wireformat.CloseMessage;
+import org.jboss.messaging.core.remoting.wireformat.ConnectionCreateSessionMessage;
+import org.jboss.messaging.core.remoting.wireformat.ConnectionCreateSessionResponseMessage;
+import org.jboss.messaging.core.remoting.wireformat.ConnectionStartMessage;
+import org.jboss.messaging.core.remoting.wireformat.ConnectionStopMessage;
+import org.jboss.messaging.core.remoting.wireformat.ConsumerChangeRateMessage;
+import org.jboss.messaging.core.remoting.wireformat.CreateConnectionRequest;
+import org.jboss.messaging.core.remoting.wireformat.CreateConnectionResponse;
+import org.jboss.messaging.core.remoting.wireformat.DeliverMessage;
+import org.jboss.messaging.core.remoting.wireformat.MessagingExceptionMessage;
+import org.jboss.messaging.core.remoting.wireformat.NullPacket;
+import org.jboss.messaging.core.remoting.wireformat.PacketType;
+import org.jboss.messaging.core.remoting.wireformat.Ping;
+import org.jboss.messaging.core.remoting.wireformat.Pong;
+import org.jboss.messaging.core.remoting.wireformat.SessionAcknowledgeMessage;
+import org.jboss.messaging.core.remoting.wireformat.SessionAddAddressMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionBindingQueryMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionBindingQueryResponseMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionBrowserHasNextMessageMessage;
@@ -64,34 +82,21 @@
import org.jboss.messaging.core.remoting.wireformat.SessionBrowserNextMessageMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionBrowserNextMessageResponseMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionBrowserResetMessage;
-import org.jboss.messaging.core.remoting.wireformat.BytesPacket;
-import org.jboss.messaging.core.remoting.wireformat.CloseMessage;
-import org.jboss.messaging.core.remoting.wireformat.ConsumerChangeRateMessage;
+import org.jboss.messaging.core.remoting.wireformat.SessionCancelMessage;
+import org.jboss.messaging.core.remoting.wireformat.SessionCommitMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionCreateBrowserMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionCreateBrowserResponseMessage;
-import org.jboss.messaging.core.remoting.wireformat.CreateConnectionRequest;
-import org.jboss.messaging.core.remoting.wireformat.CreateConnectionResponse;
import org.jboss.messaging.core.remoting.wireformat.SessionCreateConsumerMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionCreateConsumerResponseMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionCreateQueueMessage;
-import org.jboss.messaging.core.remoting.wireformat.ConnectionCreateSessionMessage;
-import org.jboss.messaging.core.remoting.wireformat.ConnectionCreateSessionResponseMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionDeleteQueueMessage;
-import org.jboss.messaging.core.remoting.wireformat.DeliverMessage;
-import org.jboss.messaging.core.remoting.wireformat.NullPacket;
-import org.jboss.messaging.core.remoting.wireformat.PacketType;
-import org.jboss.messaging.core.remoting.wireformat.Ping;
-import org.jboss.messaging.core.remoting.wireformat.Pong;
import org.jboss.messaging.core.remoting.wireformat.SessionQueueQueryMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionQueueQueryResponseMessage;
-import org.jboss.messaging.core.remoting.wireformat.SessionAcknowledgeMessage;
-import org.jboss.messaging.core.remoting.wireformat.SessionAddAddressMessage;
-import org.jboss.messaging.core.remoting.wireformat.SessionCancelMessage;
-import org.jboss.messaging.core.remoting.wireformat.SessionCommitMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionRecoverMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionRemoveAddressMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionRollbackMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionSendMessage;
+import org.jboss.messaging.core.remoting.wireformat.SessionSetIDMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionXACommitMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionXAEndMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionXAForgetMessage;
@@ -108,9 +113,6 @@
import org.jboss.messaging.core.remoting.wireformat.SessionXASetTimeoutResponseMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionXAStartMessage;
import org.jboss.messaging.core.remoting.wireformat.SessionXASuspendMessage;
-import org.jboss.messaging.core.remoting.wireformat.SessionSetIDMessage;
-import org.jboss.messaging.core.remoting.wireformat.ConnectionStartMessage;
-import org.jboss.messaging.core.remoting.wireformat.ConnectionStopMessage;
import org.jboss.messaging.core.remoting.wireformat.TextPacket;
import org.jboss.messaging.util.Logger;
@@ -141,6 +143,8 @@
addCodecForEmptyPacket(PING, Ping.class);
addCodecForEmptyPacket(PONG, Pong.class);
addCodec(SessionSetIDMessage.class, SessionSetIDMessageCodec.class);
+
+ addCodec(MessagingExceptionMessage.class, MessagingExceptionMessageCodec.class);
addCodec(CreateConnectionRequest.class,
CreateConnectionMessageCodec.class);
Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaClientTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaClientTest.java 2008-02-08 07:27:04 UTC (rev 3680)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaClientTest.java 2008-02-08 13:36:06 UTC (rev 3681)
@@ -10,8 +10,6 @@
import static org.jboss.messaging.core.remoting.TransportType.TCP;
import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.PORT;
-import java.io.IOException;
-
import org.jboss.messaging.core.remoting.NIOConnector;
import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.RemotingConfiguration;
@@ -53,8 +51,8 @@
try
{
client.send(packet, false);
- fail("a IOException should be thrown");
- } catch (IOException e)
+ fail("a Throwable should be thrown");
+ } catch (Throwable t)
{
}
}
More information about the jboss-cvs-commits
mailing list