本文整理了Java中io.vertx.core.eventbus.Message.headers()
方法的一些代码示例,展示了Message.headers()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.headers()
方法的具体详情如下:
包路径:io.vertx.core.eventbus.Message
类名称:Message
方法名:headers
[英]Multi-map of message headers. Can be empty
[中]消息头的多重映射。可以是空的
代码示例来源:origin: eclipse-vertx/vert.x
String creditsAddress = message.headers().get(MessageProducerImpl.CREDIT_ADDRESS_HEADER_NAME);
if (creditsAddress != null) {
eventBus.send(creditsAddress, 1);
代码示例来源:origin: eclipse-vertx/vert.x
@Test
public void testSenderWithOptions() {
String str = TestUtils.randomUnicodeString(100);
WriteStream<String> sender = eb.sender(ADDRESS1, new DeliveryOptions().addHeader("foo", "foo_value"));
eb.consumer(ADDRESS1).handler(message -> {
if (message.body().equals(str) && "foo_value".equals(message.headers().get("foo"))) {
testComplete();
}
});
sender.write(str);
await();
}
代码示例来源:origin: eclipse-vertx/vert.x
@Test
public void testPublisherWithOptions() {
String str = TestUtils.randomUnicodeString(100);
MessageProducer<String> publisher = eb.publisher(ADDRESS1, new DeliveryOptions().addHeader("foo", "foo_value"));
assertEquals(ADDRESS1, publisher.address());
AtomicInteger count = new AtomicInteger();
int n = 2;
for (int i = 0;i < n;i++) {
eb.consumer(ADDRESS1).handler(message -> {
if (message.body().equals(str) && "foo_value".equals(message.headers().get("foo")) && count.incrementAndGet() == n) {
testComplete();
}
});
}
publisher.write(str);
await();
}
代码示例来源:origin: eclipse-vertx/vert.x
@Override
protected <T, R> void testSend(T val, R received, Consumer<T> consumer, DeliveryOptions options) {
eb.<T>consumer(ADDRESS1).handler((Message<T> msg) -> {
if (consumer == null) {
assertTrue(msg.isSend());
assertEquals(received, msg.body());
if (options != null && options.getHeaders() != null) {
assertNotNull(msg.headers());
assertEquals(options.getHeaders().size(), msg.headers().size());
for (Map.Entry<String, String> entry: options.getHeaders().entries()) {
assertEquals(msg.headers().get(entry.getKey()), entry.getValue());
}
}
} else {
consumer.accept(msg.body());
}
testComplete();
});
if (options != null) {
eb.send(ADDRESS1, val, options);
} else {
eb.send(ADDRESS1, val);
}
await();
}
代码示例来源:origin: eclipse-vertx/vert.x
@Test
public void testHeadersCopiedAfterSend() throws Exception {
MultiMap headers = new CaseInsensitiveHeaders();
headers.add("foo", "bar");
vertx.eventBus().consumer(ADDRESS1).handler(msg -> {
assertNotSame(headers, msg.headers());
assertEquals("bar", msg.headers().get("foo"));
testComplete();
});
vertx.eventBus().send(ADDRESS1, "foo", new DeliveryOptions().setHeaders(headers));
headers.remove("foo");
await();
}
代码示例来源:origin: eclipse-vertx/vert.x
@Override
protected <T, R> void testReply(T val, R received, Consumer<R> consumer, DeliveryOptions options) {
String str = TestUtils.randomUnicodeString(1000);
eb.consumer(ADDRESS1).handler(msg -> {
assertEquals(str, msg.body());
if (options != null) {
msg.reply(val, options);
} else {
msg.reply(val);
}
});
eb.send(ADDRESS1, str, onSuccess((Message<R> reply) -> {
if (consumer == null) {
assertTrue(reply.isSend());
assertEquals(received, reply.body());
if (options != null && options.getHeaders() != null) {
assertNotNull(reply.headers());
assertEquals(options.getHeaders().size(), reply.headers().size());
for (Map.Entry<String, String> entry: options.getHeaders().entries()) {
assertEquals(reply.headers().get(entry.getKey()), entry.getValue());
}
}
} else {
consumer.accept(reply.body());
}
testComplete();
}));
await();
}
代码示例来源:origin: eclipse-vertx/vert.x
assertEquals(received, msg.body());
if (options != null) {
assertNotNull(msg.headers());
int numHeaders = options.getHeaders() != null ? options.getHeaders().size() : 0;
assertEquals(numHeaders, msg.headers().size());
if (numHeaders != 0) {
for (Map.Entry<String, String> entry : options.getHeaders().entries()) {
assertEquals(msg.headers().get(entry.getKey()), entry.getValue());
代码示例来源:origin: eclipse-vertx/vert.x
assertEquals(received, reply.body());
if (options != null && options.getHeaders() != null) {
assertNotNull(reply.headers());
assertEquals(options.getHeaders().size(), reply.headers().size());
for (Map.Entry<String, String> entry: options.getHeaders().entries()) {
assertEquals(reply.headers().get(entry.getKey()), entry.getValue());
代码示例来源:origin: eclipse-vertx/vert.x
@Test
public void testUpdateDeliveryOptionsOnProducer() {
MessageProducer<String> producer = eb.sender(ADDRESS1);
MessageConsumer<String> consumer = eb.<String>consumer(ADDRESS1);
consumer.completionHandler(v -> {
assertTrue(v.succeeded());
producer.write("no-header");
});
consumer.handler(msg -> {
String body = msg.body();
assertNotNull(body);
switch (body) {
case "no-header":
assertNull(msg.headers().get("header-name"));
producer.deliveryOptions(new DeliveryOptions().addHeader("header-name", "header-value"));
producer.write("with-header");
break;
case "with-header":
assertEquals("header-value", msg.headers().get("header-name"));
testComplete();
break;
default:
fail();
}
});
await();
}
代码示例来源:origin: vert-x3/vertx-web
private void deliverMessage(SockJSSocket sock, String address, Message message) {
JsonObject envelope = new JsonObject().put("type", "rec").put("address", address).put("body", message.body());
if (message.replyAddress() != null) {
envelope.put("replyAddress", message.replyAddress());
}
if (message.headers() != null && !message.headers().isEmpty()) {
JsonObject headersCopy = new JsonObject();
for (String name : message.headers().names()) {
List<String> values = message.headers().getAll(name);
if (values.size() == 1) {
headersCopy.put(name, values.get(0));
} else {
headersCopy.put(name, values);
}
}
envelope.put("headers", headersCopy);
}
checkCallHook(() -> new BridgeEventImpl(BridgeEventType.RECEIVE, envelope, sock),
() -> sock.write(buffer(envelope.encode())),
() -> log.debug("outbound message rejected by bridge event handler"));
}
代码示例来源:origin: vert-x3/vertx-web
private void checkHeaders(Message msg) {
assertEquals("val1", msg.headers().get("hdr1"));
assertEquals("val2", msg.headers().get("hdr2"));
}
代码示例来源:origin: io.vertx/vertx-core
String creditsAddress = message.headers().get(MessageProducerImpl.CREDIT_ADDRESS_HEADER_NAME);
if (creditsAddress != null) {
eventBus.send(creditsAddress, 1);
代码示例来源:origin: io.vertx/vertx-core
@Test
public void testPublisherWithOptions() {
String str = TestUtils.randomUnicodeString(100);
MessageProducer<String> publisher = eb.publisher(ADDRESS1, new DeliveryOptions().addHeader("foo", "foo_value"));
assertEquals(ADDRESS1, publisher.address());
AtomicInteger count = new AtomicInteger();
int n = 2;
for (int i = 0;i < n;i++) {
eb.consumer(ADDRESS1).handler(message -> {
if (message.body().equals(str) && "foo_value".equals(message.headers().get("foo")) && count.incrementAndGet() == n) {
testComplete();
}
});
}
publisher.write(str);
await();
}
代码示例来源:origin: io.vertx/vertx-core
@Test
public void testSenderWithOptions() {
String str = TestUtils.randomUnicodeString(100);
WriteStream<String> sender = eb.sender(ADDRESS1, new DeliveryOptions().addHeader("foo", "foo_value"));
eb.consumer(ADDRESS1).handler(message -> {
if (message.body().equals(str) && "foo_value".equals(message.headers().get("foo"))) {
testComplete();
}
});
sender.write(str);
await();
}
代码示例来源:origin: io.vertx/vertx-core
@Override
protected <T, R> void testSend(T val, R received, Consumer<T> consumer, DeliveryOptions options) {
eb.<T>consumer(ADDRESS1).handler((Message<T> msg) -> {
if (consumer == null) {
assertTrue(msg.isSend());
assertEquals(received, msg.body());
if (options != null && options.getHeaders() != null) {
assertNotNull(msg.headers());
assertEquals(options.getHeaders().size(), msg.headers().size());
for (Map.Entry<String, String> entry: options.getHeaders().entries()) {
assertEquals(msg.headers().get(entry.getKey()), entry.getValue());
}
}
} else {
consumer.accept(msg.body());
}
testComplete();
});
if (options != null) {
eb.send(ADDRESS1, val, options);
} else {
eb.send(ADDRESS1, val);
}
await();
}
代码示例来源:origin: io.vertx/vertx-core
@Test
public void testHeadersCopiedAfterSend() throws Exception {
MultiMap headers = new CaseInsensitiveHeaders();
headers.add("foo", "bar");
vertx.eventBus().consumer(ADDRESS1).handler(msg -> {
assertNotSame(headers, msg.headers());
assertEquals("bar", msg.headers().get("foo"));
testComplete();
});
vertx.eventBus().send(ADDRESS1, "foo", new DeliveryOptions().setHeaders(headers));
headers.remove("foo");
await();
}
代码示例来源:origin: io.vertx/vertx-core
@Override
protected <T, R> void testReply(T val, R received, Consumer<R> consumer, DeliveryOptions options) {
String str = TestUtils.randomUnicodeString(1000);
eb.consumer(ADDRESS1).handler(msg -> {
assertEquals(str, msg.body());
if (options != null) {
msg.reply(val, options);
} else {
msg.reply(val);
}
});
eb.send(ADDRESS1, str, onSuccess((Message<R> reply) -> {
if (consumer == null) {
assertTrue(reply.isSend());
assertEquals(received, reply.body());
if (options != null && options.getHeaders() != null) {
assertNotNull(reply.headers());
assertEquals(options.getHeaders().size(), reply.headers().size());
for (Map.Entry<String, String> entry: options.getHeaders().entries()) {
assertEquals(reply.headers().get(entry.getKey()), entry.getValue());
}
}
} else {
consumer.accept(reply.body());
}
testComplete();
}));
await();
}
代码示例来源:origin: io.vertx/vertx-core
assertEquals(received, msg.body());
if (options != null) {
assertNotNull(msg.headers());
int numHeaders = options.getHeaders() != null ? options.getHeaders().size() : 0;
assertEquals(numHeaders, msg.headers().size());
if (numHeaders != 0) {
for (Map.Entry<String, String> entry : options.getHeaders().entries()) {
assertEquals(msg.headers().get(entry.getKey()), entry.getValue());
代码示例来源:origin: io.vertx/vertx-core
assertEquals(received, reply.body());
if (options != null && options.getHeaders() != null) {
assertNotNull(reply.headers());
assertEquals(options.getHeaders().size(), reply.headers().size());
for (Map.Entry<String, String> entry: options.getHeaders().entries()) {
assertEquals(reply.headers().get(entry.getKey()), entry.getValue());
代码示例来源:origin: io.vertx/vertx-core
@Test
public void testUpdateDeliveryOptionsOnProducer() {
MessageProducer<String> producer = eb.sender(ADDRESS1);
MessageConsumer<String> consumer = eb.<String>consumer(ADDRESS1);
consumer.completionHandler(v -> {
assertTrue(v.succeeded());
producer.write("no-header");
});
consumer.handler(msg -> {
String body = msg.body();
assertNotNull(body);
switch (body) {
case "no-header":
assertNull(msg.headers().get("header-name"));
producer.deliveryOptions(new DeliveryOptions().addHeader("header-name", "header-value"));
producer.write("with-header");
break;
case "with-header":
assertEquals("header-value", msg.headers().get("header-name"));
testComplete();
break;
default:
fail();
}
});
await();
}
内容来源于网络,如有侵权,请联系作者删除!