Here are the examples of the java api org.springframework.messaging.MessageHeaders.CONTENT_TYPE taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
119 Examples
19
Source : SenderService.java
with Apache License 2.0
from zlt2000
with Apache License 2.0
from zlt2000
/**
* 发送带tag的对象消息
*/
public <T> void sendWithTags(T msg, String tag) {
Message message = MessageBuilder.withPayload(msg).setHeader(MessageConst.PROPERTY_TAGS, tag).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
source.output().send(message);
}
19
Source : DownloadTask.java
with MIT License
from xwlcn
with MIT License
from xwlcn
@Override
public void run() {
// 由于下载线程消费的速度总是比 dht server 生产的速度慢,所以要做一下时间限制,否则程序越跑越慢
if (SystemClock.now() - msgInfo.getTimestamp() >= Constants.MAX_LOSS_TIME) {
return;
}
PeerWireClient wireClient = new PeerWireClient();
// 设置下载完成监听器
wireClient.setOnFinishedListener((torrent) -> {
if (torrent == null) {
// 下载失败
return;
}
RedisTemplate redisTemplate = (RedisTemplate) SpringContextUtil.getBean("redisTemplate");
torrent.setCreateDate(msgInfo.getTimestamp());
redisTemplate.opsForValue().set(msgInfo.getInfoHash(), new byte[0]);
messageStreams = (MessageStreams) SpringContextUtil.getBean(MessageStreams.clreplaced);
// 丢进 kafka 消息队列进行入库及索引操作
messageStreams.torrentMessageOutput().send(MessageBuilder.withPayload(torrent).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build());
log.info("[{}:{}] Download torrent success, info hash is {}", msgInfo.getIp(), msgInfo.getPort(), torrent.getInfoHash());
});
wireClient.downloadMetadata(new InetSocketAddress(msgInfo.getIp(), msgInfo.getPort()), msgInfo.getNodeId(), msgInfo.getInfoHash());
}
19
Source : DHTServerHandler.java
with MIT License
from xwlcn
with MIT License
from xwlcn
/**
* 回复 announce_peer 请求,该请求中包含了对方正在下载的 torrent 的 info_hash 以及 端口号
* Response = {"t":"aa", "y":"r", "r": {"id":"mnopqrstuvwxyz123456"}}
*
* @param t
* @param a 请求参数 a:
* {
* "id" : "",
* "implied_port": <0 or 1>, //为1时表示当前自身的端口就是下载端口
* "info_hash" : "<20-byte infohash of target torrent>",
* "port" : ,
* "token" : "" //get_peer 中回复的 token,用于检测是否一致
* }
* @param sender
*/
private void responseAnnouncePeer(byte[] t, Map a, InetSocketAddress sender) {
byte[] info_hash = (byte[]) a.get("info_hash");
byte[] token = (byte[]) a.get("token");
byte[] id = (byte[]) a.get("id");
if (token.length != 2 || info_hash[0] != token[0] || info_hash[1] != token[1])
return;
int port;
if (a.containsKey("implied_port") && ((BigInteger) a.get("implied_port")).shortValue() != 0) {
port = sender.getPort();
} else {
port = ((BigInteger) a.get("port")).intValue();
}
HashMap<String, Object> r = new HashMap<>();
byte[] nodeId = NodeIdUtil.getNeighbor(DHTServer.SELF_NODE_ID, id);
r.put("id", nodeId);
DatagramPacket packet = createPacket(t, "r", r, sender);
dhtServer.sendKRPC(packet);
// check exists, if exists then add to bloom filter
if (redisTemplate.hasKey(info_hash)) {
dhtServer.bloomFilter.add(ByteUtil.byteArrayToHex(info_hash));
return;
}
log.error("info_hash[AnnouncePeer] : {}:{} - {}", sender.getHostString(), port, ByteUtil.byteArrayToHex(info_hash));
// send to kafka
messageStreams.downloadMessageOutput().send(MessageBuilder.withPayload(new DownloadMsgInfo(sender.getHostString(), port, nodeId, info_hash)).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build());
}
19
Source : MessageHeaderAccessorTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void serializeMutableHeaders() throws Exception {
Map<String, Object> headers = new HashMap<>();
headers.put("foo", "bar");
Message<String> message = new GenericMessage<>("test", headers);
MessageHeaderAccessor mutableAccessor = MessageHeaderAccessor.getMutableAccessor(message);
mutableAccessor.setContentType(MimeTypeUtils.TEXT_PLAIN);
message = new GenericMessage<>(message.getPayload(), mutableAccessor.getMessageHeaders());
Message<?> output = (Message<?>) SerializationTestUtils.serializeAndDeserialize(message);
replacedertEquals("test", output.getPayload());
replacedertEquals("bar", output.getHeaders().get("foo"));
replacedertNotNull(output.getHeaders().get(MessageHeaders.CONTENT_TYPE));
}
19
Source : MessageSendingTemplateTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void convertAndSendPayloadAndMutableHeadersToDestination() {
MessageHeaderAccessor accessor = new MessageHeaderAccessor();
accessor.setHeader("foo", "bar");
accessor.setLeaveMutable(true);
MessageHeaders messageHeaders = accessor.getMessageHeaders();
this.template.setMessageConverter(new StringMessageConverter());
this.template.convertAndSend("somewhere", "payload", messageHeaders);
MessageHeaders actual = this.template.message.getHeaders();
replacedertSame(messageHeaders, actual);
replacedertEquals(new MimeType("text", "plain", StandardCharsets.UTF_8), actual.get(MessageHeaders.CONTENT_TYPE));
replacedertEquals("bar", actual.get("foo"));
}
19
Source : MessageSendingTemplateTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test(expected = MessageConversionException.clreplaced)
public void convertAndSendNoMatchingConverter() {
MessageConverter converter = new CompositeMessageConverter(Arrays.<MessageConverter>asList(new MappingJackson2MessageConverter()));
this.template.setMessageConverter(converter);
this.headers.put(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_XML);
this.template.convertAndSend("home", "payload", new MessageHeaders(this.headers));
}
19
Source : StringMessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void fromMessageCharset() {
String payload = "H\u00e9llo W\u00f6rld";
Message<byte[]> message = MessageBuilder.withPayload(payload.getBytes(StandardCharsets.ISO_8859_1)).setHeader(MessageHeaders.CONTENT_TYPE, new MimeType("text", "plain", StandardCharsets.ISO_8859_1)).build();
replacedertEquals(payload, this.converter.fromMessage(message, String.clreplaced));
}
19
Source : StringMessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void toMessage() {
Map<String, Object> map = new HashMap<>();
map.put(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN);
MessageHeaders headers = new MessageHeaders(map);
Message<?> message = this.converter.toMessage("ABC", headers);
replacedertEquals("ABC", new String(((byte[]) message.getPayload())));
}
19
Source : StringMessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void fromStringMessage() {
Message<String> message = MessageBuilder.withPayload("ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build();
replacedertEquals("ABC", this.converter.fromMessage(message, String.clreplaced));
}
19
Source : StringMessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void fromMessageByteArray() {
Message<byte[]> message = MessageBuilder.withPayload("ABC".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build();
replacedertEquals("ABC", this.converter.fromMessage(message, String.clreplaced));
}
19
Source : StringMessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void fromByteArrayMessage() {
Message<byte[]> message = MessageBuilder.withPayload("ABC".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build();
replacedertEquals("ABC", this.converter.fromMessage(message, String.clreplaced));
}
19
Source : MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void supportsMimeType() {
Message<String> message = MessageBuilder.withPayload("ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build();
replacedertEquals("success-from", this.converter.fromMessage(message, String.clreplaced));
}
19
Source : MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void toMessageWithHeaders() {
Map<String, Object> map = new HashMap<>();
map.put("foo", "bar");
MessageHeaders headers = new MessageHeaders(map);
Message<?> message = this.converter.toMessage("ABC", headers);
replacedertNotNull(message.getHeaders().getId());
replacedertNotNull(message.getHeaders().getTimestamp());
replacedertEquals(MimeTypeUtils.TEXT_PLAIN, message.getHeaders().get(MessageHeaders.CONTENT_TYPE));
replacedertEquals("bar", message.getHeaders().get("foo"));
}
19
Source : MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void toMessageContentTypeHeader() {
Message<?> message = this.converter.toMessage("ABC", null);
replacedertEquals(MimeTypeUtils.TEXT_PLAIN, message.getHeaders().get(MessageHeaders.CONTENT_TYPE));
}
19
Source : MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void toMessageWithMutableMessageHeaders() {
SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE);
accessor.setHeader("foo", "bar");
accessor.setNativeHeader("fooNative", "barNative");
accessor.setLeaveMutable(true);
MessageHeaders headers = accessor.getMessageHeaders();
Message<?> message = this.converter.toMessage("ABC", headers);
replacedertSame(headers, message.getHeaders());
replacedertNull(message.getHeaders().getId());
replacedertNull(message.getHeaders().getTimestamp());
replacedertEquals(MimeTypeUtils.TEXT_PLAIN, message.getHeaders().get(MessageHeaders.CONTENT_TYPE));
}
19
Source : MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void supportsMimeTypeNotSupported() {
Message<String> message = MessageBuilder.withPayload("ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
replacedertNull(this.converter.fromMessage(message, String.clreplaced));
}
19
Source : MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void supportsMimeTypeNoneConfigured() {
Message<String> message = MessageBuilder.withPayload("ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
this.converter = new TestMessageConverter(Collections.<MimeType>emptyList());
replacedertEquals("success-from", this.converter.fromMessage(message, String.clreplaced));
}
19
Source : MappingJackson2MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void toMessageUtf16String() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
converter.setSerializedPayloadClreplaced(String.clreplaced);
MimeType contentType = new MimeType("application", "json", StandardCharsets.UTF_16BE);
Map<String, Object> map = new HashMap<>();
map.put(MessageHeaders.CONTENT_TYPE, contentType);
MessageHeaders headers = new MessageHeaders(map);
String payload = "H\u00e9llo W\u00f6rld";
Message<?> message = converter.toMessage(payload, headers);
replacedertEquals("\"" + payload + "\"", message.getPayload());
replacedertEquals(contentType, message.getHeaders().get(MessageHeaders.CONTENT_TYPE));
}
19
Source : MappingJackson2MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void toMessage() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
MyBean payload = new MyBean();
payload.setString("Foo");
payload.setNumber(42);
payload.setFraction(42F);
payload.setArray(new String[] { "Foo", "Bar" });
payload.setBool(true);
payload.setBytes(new byte[] { 0x1, 0x2 });
Message<?> message = converter.toMessage(payload, null);
String actual = new String((byte[]) message.getPayload(), StandardCharsets.UTF_8);
replacedertTrue(actual.contains("\"string\":\"Foo\""));
replacedertTrue(actual.contains("\"number\":42"));
replacedertTrue(actual.contains("fraction\":42.0"));
replacedertTrue(actual.contains("\"array\":[\"Foo\",\"Bar\"]"));
replacedertTrue(actual.contains("\"bool\":true"));
replacedertTrue(actual.contains("\"bytes\":\"AQI=\""));
replacedertEquals("Invalid content-type", new MimeType("application", "json"), message.getHeaders().get(MessageHeaders.CONTENT_TYPE, MimeType.clreplaced));
}
19
Source : MappingJackson2MessageConverterTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void toMessageUtf16() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
MimeType contentType = new MimeType("application", "json", StandardCharsets.UTF_16BE);
Map<String, Object> map = new HashMap<>();
map.put(MessageHeaders.CONTENT_TYPE, contentType);
MessageHeaders headers = new MessageHeaders(map);
String payload = "H\u00e9llo W\u00f6rld";
Message<?> message = converter.toMessage(payload, headers);
replacedertEquals("\"" + payload + "\"", new String((byte[]) message.getPayload(), StandardCharsets.UTF_16BE));
replacedertEquals(contentType, message.getHeaders().get(MessageHeaders.CONTENT_TYPE));
}
19
Source : DefaultContentTypeResolverTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test(expected = IllegalArgumentException.clreplaced)
public void resolveUnknownHeaderType() {
Map<String, Object> map = new HashMap<>();
map.put(MessageHeaders.CONTENT_TYPE, new Integer(1));
MessageHeaders headers = new MessageHeaders(map);
this.resolver.resolve(headers);
}
19
Source : DefaultContentTypeResolverTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void resolve() {
Map<String, Object> map = new HashMap<>();
map.put(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON);
MessageHeaders headers = new MessageHeaders(map);
replacedertEquals(MimeTypeUtils.APPLICATION_JSON, this.resolver.resolve(headers));
}
19
Source : DefaultContentTypeResolverTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void resolveStringContentType() {
Map<String, Object> map = new HashMap<>();
map.put(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON_VALUE);
MessageHeaders headers = new MessageHeaders(map);
replacedertEquals(MimeTypeUtils.APPLICATION_JSON, this.resolver.resolve(headers));
}
19
Source : MessageHeaderAccessor.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Nullable
public MimeType getContentType() {
Object value = getHeader(MessageHeaders.CONTENT_TYPE);
if (value == null) {
return null;
}
return (value instanceof MimeType ? (MimeType) value : MimeType.valueOf(value.toString()));
}
19
Source : MessageHeaderAccessor.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
public void setContentType(MimeType contentType) {
setHeader(MessageHeaders.CONTENT_TYPE, contentType);
}
19
Source : PayloadMethodArgumentResolver.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
/**
* Return the mime type for the content. By default this method checks the
* {@link MessageHeaders#CONTENT_TYPE} header expecting to find a
* {@link MimeType} value or a String to parse to a {@link MimeType}.
* @param message the input message
*/
@Nullable
protected MimeType getMimeType(Message<?> message) {
Object headerValue = message.getHeaders().get(MessageHeaders.CONTENT_TYPE);
if (headerValue == null) {
return null;
} else if (headerValue instanceof String) {
return MimeTypeUtils.parseMimeType((String) headerValue);
} else if (headerValue instanceof MimeType) {
return (MimeType) headerValue;
} else {
throw new IllegalArgumentException("Unexpected MimeType value: " + headerValue);
}
}
19
Source : DefaultContentTypeResolver.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Override
@Nullable
public MimeType resolve(@Nullable MessageHeaders headers) {
if (headers == null || headers.get(MessageHeaders.CONTENT_TYPE) == null) {
return this.defaultMimeType;
}
Object value = headers.get(MessageHeaders.CONTENT_TYPE);
if (value == null) {
return null;
} else if (value instanceof MimeType) {
return (MimeType) value;
} else if (value instanceof String) {
return MimeType.valueOf((String) value);
} else {
throw new IllegalArgumentException("Unknown type for contentType header value: " + value.getClreplaced());
}
}
19
Source : AbstractMessageConverter.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Override
@Nullable
public final Message<?> toMessage(Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint) {
if (!canConvertTo(payload, headers)) {
return null;
}
Object payloadToUse = convertToInternal(payload, headers, conversionHint);
if (payloadToUse == null) {
return null;
}
MimeType mimeType = getDefaultContentType(payloadToUse);
if (headers != null) {
MessageHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(headers, MessageHeaderAccessor.clreplaced);
if (accessor != null && accessor.isMutable()) {
if (mimeType != null) {
accessor.setHeaderIfAbsent(MessageHeaders.CONTENT_TYPE, mimeType);
}
return MessageBuilder.createMessage(payloadToUse, accessor.getMessageHeaders());
}
}
MessageBuilder<?> builder = MessageBuilder.withPayload(payloadToUse);
if (headers != null) {
builder.copyHeaders(headers);
}
if (mimeType != null) {
builder.setHeaderIfAbsent(MessageHeaders.CONTENT_TYPE, mimeType);
}
return builder.build();
}
19
Source : SimpleJmsHeaderMapperTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void contentTypePropertyMappedFromHeader() throws JMSException {
Message<String> message = initBuilder().setHeader(MessageHeaders.CONTENT_TYPE, "foo").build();
javax.jms.Message jmsMessage = new StubTextMessage();
mapper.fromHeaders(message.getHeaders(), jmsMessage);
Object value = jmsMessage.getObjectProperty(JmsHeaderMapper.CONTENT_TYPE_PROPERTY);
replacedertNotNull(value);
replacedertEquals("foo", value);
}
19
Source : SimpleJmsHeaderMapperTests.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
@Test
public void contentTypePropertyMappedToHeader() throws JMSException {
javax.jms.Message jmsMessage = new StubTextMessage();
jmsMessage.setStringProperty("content_type", "foo");
replacedertInboundHeader(jmsMessage, MessageHeaders.CONTENT_TYPE, "foo");
}
19
Source : SimpleJmsHeaderMapper.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
/**
* Add the outbound prefix if necessary.
* <p>Convert {@link MessageHeaders#CONTENT_TYPE} to {@code content_type} for JMS compliance.
* @see #CONTENT_TYPE_PROPERTY
*/
@Override
protected String fromHeaderName(String headerName) {
if (MessageHeaders.CONTENT_TYPE.equals(headerName)) {
return CONTENT_TYPE_PROPERTY;
}
return super.fromHeaderName(headerName);
}
19
Source : SimpleJmsHeaderMapper.java
with MIT License
from Vip-Augus
with MIT License
from Vip-Augus
/**
* Add the inbound prefix if necessary.
* <p>Convert the JMS-compliant {@code content_type} to {@link MessageHeaders#CONTENT_TYPE}.
* @see #CONTENT_TYPE_PROPERTY
*/
@Override
protected String toHeaderName(String propertyName) {
if (CONTENT_TYPE_PROPERTY.equals(propertyName)) {
return MessageHeaders.CONTENT_TYPE;
}
return super.toHeaderName(propertyName);
}
19
Source : KinesisBinderTests.java
with Apache License 2.0
from spring-cloud
with Apache License 2.0
from spring-cloud
@Test
@Override
@SuppressWarnings("unchecked")
public void testAnonymousGroup() throws Exception {
KinesisTestBinder binder = getBinder();
ExtendedProducerProperties<KinesisProducerProperties> producerProperties = createProducerProperties();
DirectChannel output = createBindableChannel("output", createProducerBindingProperties(producerProperties));
Binding<MessageChannel> producerBinding = binder.bindProducer(String.format("defaultGroup%s0", getDestinationNameDelimiter()), output, producerProperties);
ExtendedConsumerProperties<KinesisConsumerProperties> consumerProperties = createConsumerProperties();
consumerProperties.setConcurrency(2);
consumerProperties.setInstanceCount(3);
consumerProperties.setInstanceIndex(0);
QueueChannel input1 = new QueueChannel();
Binding<MessageChannel> binding1 = binder.bindConsumer(String.format("defaultGroup%s0", getDestinationNameDelimiter()), null, input1, consumerProperties);
consumerProperties.setInstanceIndex(1);
QueueChannel input2 = new QueueChannel();
Binding<MessageChannel> binding2 = binder.bindConsumer(String.format("defaultGroup%s0", getDestinationNameDelimiter()), null, input2, consumerProperties);
String testPayload1 = "foo-" + UUID.randomUUID().toString();
output.send(MessageBuilder.withPayload(testPayload1).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build());
Message<byte[]> receivedMessage1 = (Message<byte[]>) receive(input1);
replacedertThat(receivedMessage1).isNotNull();
replacedertThat(new String(receivedMessage1.getPayload())).isEqualTo(testPayload1);
Message<byte[]> receivedMessage2 = (Message<byte[]>) receive(input2);
replacedertThat(receivedMessage2).isNotNull();
replacedertThat(new String(receivedMessage2.getPayload())).isEqualTo(testPayload1);
binding2.unbind();
String testPayload2 = "foo-" + UUID.randomUUID().toString();
output.send(MessageBuilder.withPayload(testPayload2).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build());
binding2 = binder.bindConsumer(String.format("defaultGroup%s0", getDestinationNameDelimiter()), null, input2, consumerProperties);
String testPayload3 = "foo-" + UUID.randomUUID().toString();
output.send(MessageBuilder.withPayload(testPayload3).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build());
receivedMessage1 = (Message<byte[]>) receive(input1);
replacedertThat(receivedMessage1).isNotNull();
replacedertThat(new String(receivedMessage1.getPayload())).isEqualTo(testPayload2);
receivedMessage1 = (Message<byte[]>) receive(input1);
replacedertThat(receivedMessage1).isNotNull();
replacedertThat(new String(receivedMessage1.getPayload())).isNotNull();
receivedMessage2 = (Message<byte[]>) receive(input2);
replacedertThat(receivedMessage2).isNotNull();
replacedertThat(new String(receivedMessage2.getPayload())).isEqualTo(testPayload1);
receivedMessage2 = (Message<byte[]>) receive(input2);
replacedertThat(receivedMessage2).isNotNull();
replacedertThat(new String(receivedMessage2.getPayload())).isEqualTo(testPayload2);
receivedMessage2 = (Message<byte[]>) receive(input2);
replacedertThat(receivedMessage2).isNotNull();
replacedertThat(new String(receivedMessage2.getPayload())).isEqualTo(testPayload3);
producerBinding.unbind();
binding1.unbind();
binding2.unbind();
}
19
Source : SimpleFunctionRegistryTests.java
with Apache License 2.0
from spring-cloud
with Apache License 2.0
from spring-cloud
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testWithCustomMessageConverter() {
FunctionCatalog catalog = this.configureCatalog(CustomConverterConfiguration.clreplaced);
Function function = catalog.lookup("func");
Object result = function.apply(MessageBuilder.withPayload("Jim Lahey").setHeader(MessageHeaders.CONTENT_TYPE, "text/person").build());
replacedertThat(result).isEqualTo("Jim Lahey");
}
19
Source : BeanFactoryAwareFunctionRegistryTests.java
with Apache License 2.0
from spring-cloud
with Apache License 2.0
from spring-cloud
@Test
public void testGH_611() {
FunctionCatalog catalog = this.configureCatalog(NegotiatingMessageConverterConfiguration.clreplaced);
Supplier<Message<Integer>> f = catalog.lookup("supplier", "text/*");
replacedertThat(f.get().getHeaders().get(MessageHeaders.CONTENT_TYPE)).isEqualTo(MimeTypeUtils.parseMimeType("text/*"));
}
19
Source : BeanFactoryAwareFunctionRegistryTests.java
with Apache License 2.0
from spring-cloud
with Apache License 2.0
from spring-cloud
@Test
public void testMultipleValuesInOutputHandling() throws Exception {
FunctionCatalog catalog = this.configureCatalog(CollectionOutConfiguration.clreplaced);
FunctionInvocationWrapper function = catalog.lookup("parseToList", "application/json");
replacedertThat(function).isNotNull();
Object result = function.apply(MessageBuilder.withPayload("1, 2, 3".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "text/plain").build());
replacedertThat(result instanceof Message).isTrue();
function = catalog.lookup("parseToListOfMessages", "application/json");
replacedertThat(function).isNotNull();
result = function.apply(MessageBuilder.withPayload("1, 2, 3".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "text/plain").build());
replacedertThat(result instanceof Message).isFalse();
}
19
Source : BeanFactoryAwareFunctionRegistryTests.java
with Apache License 2.0
from spring-cloud
with Apache License 2.0
from spring-cloud
@SuppressWarnings("unchecked")
@Test
public void testSerializationWithCompatibleWildcardSubtypeAcceptHeader() {
FunctionCatalog catalog = this.configureCatalog(NegotiatingMessageConverterConfiguration.clreplaced);
FunctionInvocationWrapper function = catalog.lookup("echo", "text/*");
Message<Tuple2<String, String>> tupleResult = (Message<Tuple2<String, String>>) function.apply(MessageBuilder.withPayload(Tuples.of("bonjour", "monde")).setHeader(MessageHeaders.CONTENT_TYPE, MimeType.valueOf("text/csv")).build());
replacedertThat(tupleResult.getHeaders().get(MessageHeaders.CONTENT_TYPE)).isEqualTo(MimeType.valueOf("text/csv"));
replacedertThat(tupleResult.getHeaders().get("accept")).isNull();
Message<Date> dateResult = (Message<Date>) function.apply(MessageBuilder.withPayload(123).setHeader(MessageHeaders.CONTENT_TYPE, MimeType.valueOf("text/integer")).build());
replacedertThat(dateResult.getHeaders().get(MessageHeaders.CONTENT_TYPE)).isEqualTo(MimeType.valueOf("text/integer"));
replacedertThat(dateResult.getHeaders().get("accept")).isNull();
}
19
Source : BeanFactoryAwareFunctionRegistryTests.java
with Apache License 2.0
from spring-cloud
with Apache License 2.0
from spring-cloud
@Test
public void testImperativeFunction() {
FunctionCatalog catalog = this.configureCatalog();
// Function<String, String> asIs = catalog.lookup("uppercase");
// replacedertThat(asIs.apply("uppercase")).isEqualTo("UPPERCASE");
//
// Function<Flux<String>, Flux<String>> asFlux = catalog.lookup("uppercase");
// List<String> result = asFlux.apply(Flux.just("uppercaseFlux", "uppercaseFlux2")).collectList().block();
// replacedertThat(result.get(0)).isEqualTo("UPPERCASEFLUX");
// replacedertThat(result.get(1)).isEqualTo("UPPERCASEFLUX2");
Function<Flux<Message<byte[]>>, Flux<Message<byte[]>>> messageFlux = catalog.lookup("uppercase", "application/json");
Message<byte[]> message1 = MessageBuilder.withPayload("\"uppercaseFlux\"".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "application/json").build();
Message<byte[]> message2 = MessageBuilder.withPayload("\"uppercaseFlux2\"".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "application/json").build();
List<Message<byte[]>> messageResult = messageFlux.apply(Flux.just(message1, message2)).collectList().block();
replacedertThat(messageResult.get(0).getPayload()).isEqualTo("\"UPPERCASEFLUX\"".getBytes(StandardCharsets.UTF_8));
replacedertThat(messageResult.get(1).getPayload()).isEqualTo("\"UPPERCASEFLUX2\"".getBytes(StandardCharsets.UTF_8));
}
19
Source : BeanFactoryAwareFunctionRegistryMultiInOutTests.java
with Apache License 2.0
from spring-cloud
with Apache License 2.0
from spring-cloud
/*
* This test is identical to the previous one with the exception that the
* input is a Message with payload as JSON byte array representation of Person (expected by the target function),
* thus demonstrating Message Conversion
*/
@Test
public void testMultiOutputAsTuplePojoInInputByteArray() {
FunctionCatalog catalog = this.configureCatalog();
Function<Flux<Message<byte[]>>, Tuple3<Flux<Person>, Flux<String>, Flux<Integer>>> multiOutputFunction = catalog.lookup("multiOutputAsTuplePojoIn");
Message<byte[]> uncleSam = MessageBuilder.withPayload("{\"name\":\"Uncle Sam\",\"id\":1}".getBytes(StandardCharsets.UTF_8)).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
Message<byte[]> unclePierre = MessageBuilder.withPayload("{\"name\":\"Oncle Pierre\",\"id\":2}".getBytes(StandardCharsets.UTF_8)).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
Flux<Message<byte[]>> personStream = Flux.just(uncleSam, unclePierre);
Tuple3<Flux<Person>, Flux<String>, Flux<Integer>> result = multiOutputFunction.apply(personStream);
result.getT1().subscribe(v -> System.out.println("=> 1: " + v));
result.getT2().subscribe(v -> System.out.println("=> 2: " + v));
result.getT3().subscribe(v -> System.out.println("=> 3: " + v));
}
19
Source : BeanFactoryAwareFunctionRegistryMultiInOutTests.java
with Apache License 2.0
from spring-cloud
with Apache License 2.0
from spring-cloud
/*
* This is another variation of the above. In this case the signature of the target function is
* <Flux<Message<Person>>, Tuple3<Flux<Person>, Flux<String>, Flux<Integer>>> yet we are sending
* Message with payload as byte[] which is converted to Person and then embedded in new Message<Person>
* preplaceded to a function
*/
@Test
public void testMultiOutputAsTuplePojoInInputByteArrayInputTypePojoMessage() {
FunctionCatalog catalog = this.configureCatalog();
Function<Flux<Message<byte[]>>, Tuple3<Flux<Person>, Flux<String>, Flux<Integer>>> multiOutputFunction = catalog.lookup("multiOutputAsTupleMessageIn");
Message<byte[]> uncleSam = MessageBuilder.withPayload("{\"name\":\"Uncle Sam\",\"id\":1}".getBytes(StandardCharsets.UTF_8)).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
Message<byte[]> unclePierre = MessageBuilder.withPayload("{\"name\":\"Oncle Pierre\",\"id\":2}".getBytes(StandardCharsets.UTF_8)).setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
Flux<Message<byte[]>> personStream = Flux.just(uncleSam, unclePierre);
Tuple3<Flux<Person>, Flux<String>, Flux<Integer>> result = multiOutputFunction.apply(personStream);
result.getT1().subscribe(v -> System.out.println("=> 1: " + v));
result.getT2().subscribe(v -> System.out.println("=> 2: " + v));
result.getT3().subscribe(v -> System.out.println("=> 3: " + v));
}
19
Source : MessageHeaderAccessorTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void serializeMutableHeaders() throws Exception {
Map<String, Object> headers = new HashMap<>();
headers.put("foo", "bar");
Message<String> message = new GenericMessage<>("test", headers);
MessageHeaderAccessor mutableAccessor = MessageHeaderAccessor.getMutableAccessor(message);
mutableAccessor.setContentType(MimeTypeUtils.TEXT_PLAIN);
message = new GenericMessage<>(message.getPayload(), mutableAccessor.getMessageHeaders());
Message<?> output = (Message<?>) SerializationTestUtils.serializeAndDeserialize(message);
replacedertThat(output.getPayload()).isEqualTo("test");
replacedertThat(output.getHeaders().get("foo")).isEqualTo("bar");
replacedertThat(output.getHeaders().get(MessageHeaders.CONTENT_TYPE)).isNotNull();
}
19
Source : MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void supportsMimeTypeNoneConfigured() {
Message<String> message = MessageBuilder.withPayload("ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
this.converter = new TestMessageConverter(new MimeType[0]);
replacedertThat(this.converter.fromMessage(message, String.clreplaced)).isEqualTo("success-from");
}
19
Source : MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void toMessageWithHeaders() {
Map<String, Object> map = new HashMap<>();
map.put("foo", "bar");
MessageHeaders headers = new MessageHeaders(map);
Message<?> message = this.converter.toMessage("ABC", headers);
replacedertThat(message.getHeaders().getId()).isNotNull();
replacedertThat(message.getHeaders().getTimestamp()).isNotNull();
replacedertThat(message.getHeaders().get(MessageHeaders.CONTENT_TYPE)).isEqualTo(MimeTypeUtils.TEXT_PLAIN);
replacedertThat(message.getHeaders().get("foo")).isEqualTo("bar");
}
19
Source : MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void supportsMimeType() {
Message<String> message = MessageBuilder.withPayload("ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build();
replacedertThat(this.converter.fromMessage(message, String.clreplaced)).isEqualTo("success-from");
}
19
Source : MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void toMessageWithMutableMessageHeaders() {
SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE);
accessor.setHeader("foo", "bar");
accessor.setNativeHeader("fooNative", "barNative");
accessor.setLeaveMutable(true);
MessageHeaders headers = accessor.getMessageHeaders();
Message<?> message = this.converter.toMessage("ABC", headers);
replacedertThat(message.getHeaders()).isSameAs(headers);
replacedertThat(message.getHeaders().getId()).isNull();
replacedertThat(message.getHeaders().getTimestamp()).isNull();
replacedertThat(message.getHeaders().get(MessageHeaders.CONTENT_TYPE)).isEqualTo(MimeTypeUtils.TEXT_PLAIN);
}
19
Source : MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void supportsMimeTypeNotSupported() {
Message<String> message = MessageBuilder.withPayload("ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
replacedertThat(this.converter.fromMessage(message, String.clreplaced)).isNull();
}
19
Source : MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void toMessageContentTypeHeader() {
Message<?> message = this.converter.toMessage("ABC", null);
replacedertThat(message.getHeaders().get(MessageHeaders.CONTENT_TYPE)).isEqualTo(MimeTypeUtils.TEXT_PLAIN);
}
19
Source : MappingJackson2MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void toMessageUtf16String() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
converter.setSerializedPayloadClreplaced(String.clreplaced);
MimeType contentType = new MimeType("application", "json", StandardCharsets.UTF_16BE);
Map<String, Object> map = new HashMap<>();
map.put(MessageHeaders.CONTENT_TYPE, contentType);
MessageHeaders headers = new MessageHeaders(map);
String payload = "H\u00e9llo W\u00f6rld";
Message<?> message = converter.toMessage(payload, headers);
replacedertThat(message.getPayload()).isEqualTo(("\"" + payload + "\""));
replacedertThat(message.getHeaders().get(MessageHeaders.CONTENT_TYPE)).isEqualTo(contentType);
}
19
Source : MappingJackson2MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void toMessage() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
MyBean payload = new MyBean();
payload.setString("Foo");
payload.setNumber(42);
payload.setFraction(42F);
payload.setArray(new String[] { "Foo", "Bar" });
payload.setBool(true);
payload.setBytes(new byte[] { 0x1, 0x2 });
Message<?> message = converter.toMessage(payload, null);
String actual = new String((byte[]) message.getPayload(), StandardCharsets.UTF_8);
replacedertThat(actual.contains("\"string\":\"Foo\"")).isTrue();
replacedertThat(actual.contains("\"number\":42")).isTrue();
replacedertThat(actual.contains("fraction\":42.0")).isTrue();
replacedertThat(actual.contains("\"array\":[\"Foo\",\"Bar\"]")).isTrue();
replacedertThat(actual.contains("\"bool\":true")).isTrue();
replacedertThat(actual.contains("\"bytes\":\"AQI=\"")).isTrue();
replacedertThat(message.getHeaders().get(MessageHeaders.CONTENT_TYPE, MimeType.clreplaced)).as("Invalid content-type").isEqualTo(new MimeType("application", "json"));
}
19
Source : MappingJackson2MessageConverterTests.java
with Apache License 2.0
from SourceHot
with Apache License 2.0
from SourceHot
@Test
public void toMessageUtf16() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
MimeType contentType = new MimeType("application", "json", StandardCharsets.UTF_16BE);
Map<String, Object> map = new HashMap<>();
map.put(MessageHeaders.CONTENT_TYPE, contentType);
MessageHeaders headers = new MessageHeaders(map);
String payload = "H\u00e9llo W\u00f6rld";
Message<?> message = converter.toMessage(payload, headers);
replacedertThat(new String((byte[]) message.getPayload(), StandardCharsets.UTF_16BE)).isEqualTo(("\"" + payload + "\""));
replacedertThat(message.getHeaders().get(MessageHeaders.CONTENT_TYPE)).isEqualTo(contentType);
}
See More Examples