@Override public Message deserializeMessage(final BasicRuntime runtime, final byte[] payload) throws Exception { final ObjectInput in = createObjectInput(runtime, new ByteArrayInputStream(payload)); final Message message = new Message(); message.setMessageType(in.readByte()); message.setMessageId(in.readInt()); long most = in.readLong(); long least = in.readLong(); message.setReferenceAddress(most != 0 && least != 0 ? new NodeAddressImpl(new UUID(most, least)) : null); message.setInterfaceId(in.readInt()); message.setMethodId(in.readInt()); message.setObjectId(in.readObject()); message.setHeaders((Map) in.readObject()); message.setFromNode((NodeAddress) in.readObject()); message.setPayload(in.readObject()); return message; }
@Override public byte[] serializeMessage(final BasicRuntime runtime, Message message) throws Exception { final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final ObjectOutput out = createObjectOutput(runtime, baos); out.writeByte(message.getMessageType()); out.writeInt(message.getMessageId()); if (message.getReferenceAddress() != null) { final UUID uuid = message.getReferenceAddress().asUUID(); out.writeLong(uuid.getMostSignificantBits()); out.writeLong(uuid.getLeastSignificantBits()); } else { out.writeLong(0); out.writeLong(0); } out.writeInt(message.getInterfaceId()); out.writeInt(message.getMethodId()); out.writeObject(message.getObjectId()); out.writeObject(message.getHeaders()); out.writeObject(message.getFromNode()); out.writeObject(message.getPayload()); return baos.toByteArray(); }
.clusterName(clusterName) .clusterPeer(new FakeClusterPeer()) .messageSerializer(new JavaMessageSerializer());
public Stage createClient() { loggerExtension.write("Create Client"); LifetimeExtension lifetimeExtension = new LifetimeExtension() { @Override public Task<?> preActivation(final AbstractActor<?> actor) { serviceLocator.inject(actor); return Task.done(); } }; Stage client = new Stage.Builder() .mode(Stage.StageMode.CLIENT) .executionPool(commonPool) .clock(clock) .clusterName(clusterName) .clusterPeer(new FakeClusterPeer()) .extensions(lifetimeExtension) .messageSerializer(new JavaMessageSerializer()) .build(); stages.add(client); installExtensions(client); client.start().join(); client.bind(); return client; }