This commit is contained in:
@@ -54,6 +54,10 @@ public abstract class Convert<R extends Reader, W extends Writer> {
|
||||
|
||||
public abstract <T> T convertFrom(final Type type, final ConvertMask mask, final ByteBuffer... buffers);
|
||||
|
||||
public abstract byte[] convertToBytes(final Object value);
|
||||
|
||||
public abstract byte[] convertToBytes(final Type type, final Object value);
|
||||
|
||||
public abstract ByteBuffer[] convertTo(final Supplier<ByteBuffer> supplier, final Object value);
|
||||
|
||||
public abstract ByteBuffer[] convertTo(final Supplier<ByteBuffer> supplier, final Type type, final Object value);
|
||||
|
||||
@@ -177,6 +177,16 @@ public class BsonConvert extends BinaryConvert<BsonReader, BsonWriter> {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] convertToBytes(final Object value) {
|
||||
return convertTo(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] convertToBytes(final Type type, final Object value) {
|
||||
return convertTo(type, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] convertMapTo(final Object... values) {
|
||||
if (values == null) return null;
|
||||
|
||||
@@ -214,6 +214,25 @@ public class JsonConvert extends TextConvert<JsonReader, JsonWriter> {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] convertToBytes(final Object value) {
|
||||
if (value == null) return null;
|
||||
String result = convertTo(value.getClass(), value);
|
||||
return result == null ? null : result.getBytes(StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] convertToBytes(final Type type, final Object value) {
|
||||
if (type == null) return null;
|
||||
if (value == null) return null;
|
||||
final JsonWriter writer = pollJsonWriter();
|
||||
writer.specify(type);
|
||||
factory.loadEncoder(type).convertTo(writer, value);
|
||||
String result = writer.toString();
|
||||
writerPool.accept(writer);
|
||||
return result == null ? null : result.getBytes(StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String convertMapTo(final Object... values) {
|
||||
if (values == null) return "null";
|
||||
|
||||
@@ -7,7 +7,7 @@ package org.redkale.mq;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import org.redkale.convert.ConvertDisabled;
|
||||
import org.redkale.convert.*;
|
||||
import org.redkale.convert.json.JsonConvert;
|
||||
import org.redkale.util.Comment;
|
||||
|
||||
@@ -45,6 +45,10 @@ public class MessageRecord implements Serializable {
|
||||
public MessageRecord() {
|
||||
}
|
||||
|
||||
public MessageRecord(String resptopic, Convert convert, Object bean) {
|
||||
this(System.nanoTime(), 0, 0, null, null, resptopic, convert.convertToBytes(bean));
|
||||
}
|
||||
|
||||
public MessageRecord(String resptopic, byte[] content) {
|
||||
this(System.nanoTime(), 0, 0, null, null, resptopic, content);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user