StorageQueueMessageConverter.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.spring.integration.storage.queue.converter;
import com.azure.spring.integration.core.converter.AbstractAzureMessageConverter;
import com.azure.storage.queue.models.QueueMessageItem;
import java.nio.charset.StandardCharsets;
/**
* A converter to turn a {@link org.springframework.messaging.Message} to {@link QueueMessageItem} and vice versa.
*/
public class StorageQueueMessageConverter extends AbstractAzureMessageConverter<QueueMessageItem> {
@Override
protected byte[] getPayload(QueueMessageItem azureMessage) {
return azureMessage.getMessageText().getBytes(StandardCharsets.UTF_8);
}
@Override
protected QueueMessageItem fromString(String payload) {
final QueueMessageItem queueMessageItem = new QueueMessageItem();
queueMessageItem.setMessageText(payload);
return queueMessageItem;
}
@Override
protected QueueMessageItem fromByte(byte[] payload) {
final QueueMessageItem queueMessageItem = new QueueMessageItem();
queueMessageItem.setMessageText(new String(payload, StandardCharsets.UTF_8));
return queueMessageItem;
}
}