1 18 package org.apache.activemq.store.kahadaptor; 19 20 import java.io.DataInput ; 21 import java.io.DataOutput ; 22 import java.io.IOException ; 23 import org.apache.activemq.command.MessageId; 24 import org.apache.activemq.kaha.Marshaller; 25 import org.apache.activemq.kaha.impl.index.IndexItem; 26 27 28 32 public class ConsumerMessageRefMarshaller implements Marshaller{ 33 34 35 41 public void writePayload(Object object,DataOutput dataOut) throws IOException { 42 ConsumerMessageRef ref = (ConsumerMessageRef) object; 43 dataOut.writeUTF(ref.getMessageId().toString()); 44 IndexItem item = (IndexItem)ref.getMessageEntry(); 45 dataOut.writeLong(item.getOffset()); 46 item.write(dataOut); 47 item = (IndexItem)ref.getAckEntry(); 48 dataOut.writeLong(item.getOffset()); 49 item.write(dataOut); 50 51 52 } 53 54 60 public Object readPayload(DataInput dataIn) throws IOException { 61 ConsumerMessageRef ref = new ConsumerMessageRef(); 62 ref.setMessageId(new MessageId(dataIn.readUTF())); 63 IndexItem item = new IndexItem(); 64 item.setOffset(dataIn.readLong()); 65 item.read(dataIn); 66 ref.setMessageEntry(item); 67 item = new IndexItem(); 68 item.setOffset(dataIn.readLong()); 69 item.read(dataIn); 70 ref.setAckEntry(item); 71 return ref; 72 } 73 } 74 | Popular Tags |