User: dmaplesden
Date: 01/11/13 17:53:40
Modified: src/main/org/jboss/mq/pm/file MessageLog.java
Log:
Added message object pool and changed file PM message log to use generic
SpyMessage.writeMessage and readMessage methods.
Revision Changes Path
1.7 +46 -45 jbossmq/src/main/org/jboss/mq/pm/file/MessageLog.java
Index: MessageLog.java
===================================================================
RCS file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/pm/file/MessageLog.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MessageLog.java 2001/11/10 21:38:04 1.6
+++ MessageLog.java 2001/11/14 01:53:40 1.7
@@ -29,7 +29,7 @@
*
* @created August 16, 2001
* @author: Paul Kendall ([EMAIL PROTECTED])
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*/
public class MessageLog {
@@ -57,11 +57,11 @@
public MessageLog(MessageCache messageCache, File file )
{
- if (messageCache == null)
+ if (messageCache == null)
{
throw new IllegalArgumentException("Need a MessageCache to construct a
MessageLog!");
} // end of if ()
-
+
this.messageCache = messageCache;
queueName = file;
queueName.mkdirs();
@@ -200,22 +200,23 @@
throws IOException {
ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream( file )
);
out.writeLong( message.header.messageId );
- if ( message instanceof SpyEncapsulatedMessage ) {
- out.writeByte( ENCAP_MESS );
- } else if ( message instanceof SpyObjectMessage ) {
- out.writeByte( OBJECT_MESS );
- } else if ( message instanceof SpyBytesMessage ) {
- out.writeByte( BYTES_MESS );
- } else if ( message instanceof SpyMapMessage ) {
- out.writeByte( MAP_MESS );
- } else if ( message instanceof SpyTextMessage ) {
- out.writeByte( TEXT_MESS );
- } else if ( message instanceof SpyStreamMessage ) {
- out.writeByte( STREAM_MESS );
- } else {
- out.writeByte( SPY_MESS );
- }
- message.writeExternal( out );
+ SpyMessage.writeMessage(message,out);
+// if ( message instanceof SpyEncapsulatedMessage ) {
+// out.writeByte( ENCAP_MESS );
+// } else if ( message instanceof SpyObjectMessage ) {
+// out.writeByte( OBJECT_MESS );
+// } else if ( message instanceof SpyBytesMessage ) {
+// out.writeByte( BYTES_MESS );
+// } else if ( message instanceof SpyMapMessage ) {
+// out.writeByte( MAP_MESS );
+// } else if ( message instanceof SpyTextMessage ) {
+// out.writeByte( TEXT_MESS );
+// } else if ( message instanceof SpyStreamMessage ) {
+// out.writeByte( STREAM_MESS );
+// } else {
+// out.writeByte( SPY_MESS );
+// }
+// message.writeExternal( out );
out.flush();
out.close();
}
@@ -224,34 +225,34 @@
throws Exception {
ObjectInputStream in = new ObjectInputStream( new FileInputStream( file ) );
long msgId = in.readLong();
- SpyMessage message = null;
- byte type = in.readByte();
- switch ( type ) {
- case OBJECT_MESS:
- message = new SpyObjectMessage();
- break;
- case BYTES_MESS:
- message = new SpyBytesMessage();
- break;
- case MAP_MESS:
- message = new SpyMapMessage();
- break;
- case STREAM_MESS:
- message = new SpyStreamMessage();
- break;
- case TEXT_MESS:
- message = new SpyTextMessage();
- break;
- case ENCAP_MESS:
- message = new SpyEncapsulatedMessage();
- break;
- default:
- message = new SpyMessage();
- }
- message.readExternal( in );
+ SpyMessage message = SpyMessage.readMessage(in);
+// byte type = in.readByte();
+// switch ( type ) {
+// case OBJECT_MESS:
+// message = new SpyObjectMessage();
+// break;
+// case BYTES_MESS:
+// message = new SpyBytesMessage();
+// break;
+// case MAP_MESS:
+// message = new SpyMapMessage();
+// break;
+// case STREAM_MESS:
+// message = new SpyStreamMessage();
+// break;
+// case TEXT_MESS:
+// message = new SpyTextMessage();
+// break;
+// case ENCAP_MESS:
+// message = new SpyEncapsulatedMessage();
+// break;
+// default:
+// message = new SpyMessage();
+// }
+// message.readExternal( in );
in.close();
message.header.messageId = msgId;
-
+
MessageReference mr = messageCache.add(message);
mr.persistData = file;
store.put( new Long( msgId ), mr );
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development