当前位置: 首页>>代码示例>>Java>>正文


Java MessageHeaderAccessor.setHeader方法代码示例

本文整理汇总了Java中org.springframework.messaging.support.MessageHeaderAccessor.setHeader方法的典型用法代码示例。如果您正苦于以下问题:Java MessageHeaderAccessor.setHeader方法的具体用法?Java MessageHeaderAccessor.setHeader怎么用?Java MessageHeaderAccessor.setHeader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.springframework.messaging.support.MessageHeaderAccessor的用法示例。


在下文中一共展示了MessageHeaderAccessor.setHeader方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleMatch

import org.springframework.messaging.support.MessageHeaderAccessor; //导入方法依赖的package包/类
@Override
protected void handleMatch(SimpMessageMappingInfo mapping, HandlerMethod handlerMethod,
		String lookupDestination, Message<?> message) {

	Set<String> patterns = mapping.getDestinationConditions().getPatterns();
	if (!CollectionUtils.isEmpty(patterns)) {
		String pattern = patterns.iterator().next();
		Map<String, String> vars = getPathMatcher().extractUriTemplateVariables(pattern, lookupDestination);
		if (!CollectionUtils.isEmpty(vars)) {
			MessageHeaderAccessor mha = MessageHeaderAccessor.getAccessor(message, MessageHeaderAccessor.class);
			Assert.state(mha != null && mha.isMutable());
			mha.setHeader(DestinationVariableMethodArgumentResolver.DESTINATION_TEMPLATE_VARIABLES_HEADER, vars);
		}
	}

	try {
		SimpAttributesContextHolder.setAttributesFromMessage(message);
		super.handleMatch(mapping, handlerMethod, lookupDestination, message);
	}
	finally {
		SimpAttributesContextHolder.resetAttributes();
	}
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:24,代码来源:SimpAnnotationMethodMessageHandler.java

示例2: handleMessage

import org.springframework.messaging.support.MessageHeaderAccessor; //导入方法依赖的package包/类
@Override
public void handleMessage(Message<?> message) throws MessagingException {
	String destination = getDestination(message);
	if (destination == null) {
		return;
	}
	String lookupDestination = getLookupDestination(destination);
	if (lookupDestination == null) {
		return;
	}
	MessageHeaderAccessor headerAccessor = MessageHeaderAccessor.getMutableAccessor(message);
	headerAccessor.setHeader(DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER, lookupDestination);
	headerAccessor.setLeaveMutable(true);
	message = MessageBuilder.createMessage(message.getPayload(), headerAccessor.getMessageHeaders());

	if (logger.isDebugEnabled()) {
		logger.debug("Searching methods to handle " + headerAccessor.getShortLogMessage(message.getPayload()));
	}

	handleMessageInternal(message, lookupDestination);
	headerAccessor.setImmutable();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:23,代码来源:AbstractMethodMessageHandler.java

示例3: toMessage

import org.springframework.messaging.support.MessageHeaderAccessor; //导入方法依赖的package包/类
@Nullable
@Override
public Message<?> toMessage(Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint) {
	if (!canConvertTo(payload, headers)) {
		return null;
	}
	byte[] payloadToUse = serialize(payload);
	MimeType mimeType = getDefaultContentType(payload);
	if (headers != null) {
		MessageHeaderAccessor accessor = MessageHeaderAccessor.getAccessor(headers, MessageHeaderAccessor.class);
		if (accessor != null && accessor.isMutable()) {
			if (mimeType != null) {
				accessor.setHeader(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.setHeader(MessageHeaders.CONTENT_TYPE, mimeType);
	}
	return builder.build();
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-stream,代码行数:27,代码来源:KryoMessageConverter.java

示例4: toMessageWithPayloadAndMutableHeaders

import org.springframework.messaging.support.MessageHeaderAccessor; //导入方法依赖的package包/类
@Test
public void toMessageWithPayloadAndMutableHeaders() {
	MessageHeaderAccessor accessor = new MessageHeaderAccessor();
	accessor.setHeader("foo", "bar");
	accessor.setLeaveMutable(true);
	MessageHeaders headers = accessor.getMessageHeaders();

	Message<?> message = this.converter.toMessage("payload", headers);

	assertEquals("payload", message.getPayload());
	assertSame(headers, message.getHeaders());
	assertEquals("bar", message.getHeaders().get("foo"));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:14,代码来源:SimpleMessageConverterTests.java

示例5: convertAndSendPayloadAndMutableHeadersToDestination

import org.springframework.messaging.support.MessageHeaderAccessor; //导入方法依赖的package包/类
@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();
	assertSame(messageHeaders, actual);
	assertEquals(new MimeType("text", "plain", Charset.forName("UTF-8")), actual.get(MessageHeaders.CONTENT_TYPE));
	assertEquals("bar", actual.get("foo"));
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:16,代码来源:MessageSendingTemplateTests.java

示例6: convertAndSendWithSimpMessageHeaders

import org.springframework.messaging.support.MessageHeaderAccessor; //导入方法依赖的package包/类
@Test
public void convertAndSendWithSimpMessageHeaders() {
	MessageHeaderAccessor accessor = new MessageHeaderAccessor();
	accessor.setHeader("key", "value");
	accessor.setLeaveMutable(true);
	MessageHeaders headers = accessor.getMessageHeaders();

	this.template.convertAndSend("channel", "data", headers);
	List<Message<byte[]>> messages = this.messageChannel.getMessages();
	Message<byte[]> message = messages.get(0);

	assertSame(headers, message.getHeaders());
	assertFalse(accessor.isMutable());
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:15,代码来源:GenericMessagingTemplateTests.java

示例7: inject

import org.springframework.messaging.support.MessageHeaderAccessor; //导入方法依赖的package包/类
@Override
public void inject(Span span, MessageBuilder<?> carrier) {
	Message<?> initialMessage = carrier.build();
	MessageHeaderAccessor accessor = MessageHeaderAccessor
			.getMutableAccessor(initialMessage);
	if (span == null) {
		if (!Span.SPAN_SAMPLED
				.equals(initialMessage.getHeaders().get(Span.SAMPLED_NAME))) {
			accessor.setHeader(Span.SAMPLED_NAME, Span.SPAN_NOT_SAMPLED);
			carrier.setHeaders(accessor);
			return;
		}
		return;
	}
	Map<String, String> headers = new HashMap<>();
	addHeader(headers, Span.TRACE_ID_NAME, Span.idToHex(span.getTraceId()));
	addHeader(headers, Span.SPAN_ID_NAME, Span.idToHex(span.getSpanId()));
	if (span.isExportable()) {
		addAnnotations(this.traceKeys, initialMessage, span);
		Long parentId = getFirst(span.getParents());
		if (parentId != null) {
			addHeader(headers, Span.PARENT_ID_NAME, Span.idToHex(parentId));
		}
		addHeader(headers, Span.SPAN_NAME_NAME, span.getName());
		addHeader(headers, Span.PROCESS_ID_NAME, span.getProcessId());
		addHeader(headers, Span.SAMPLED_NAME, Span.SPAN_SAMPLED);
	}
	else {
		addHeader(headers, Span.SAMPLED_NAME, Span.SPAN_NOT_SAMPLED);
	}
	accessor.setHeader(SPAN_HEADER, span);
	accessor.copyHeaders(headers);
	if (accessor instanceof NativeMessageHeaderAccessor) {
		NativeMessageHeaderAccessor nativeAccessor = (NativeMessageHeaderAccessor) accessor;
		for (String name : headers.keySet()) {
			nativeAccessor.setNativeHeader(name, headers.get(name));
		}
	}
	carrier.setHeaders(accessor);
}
 
开发者ID:reshmik,项目名称:Zipkin,代码行数:41,代码来源:MessagingSpanInjector.java

示例8: messageWithIntegerPayloadType

import org.springframework.messaging.support.MessageHeaderAccessor; //导入方法依赖的package包/类
private MessageBuilder<?> messageWithIntegerPayloadType() {
	MessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create();
	accessor.setHeader("message/payload-type", "java.lang.Integer");
	return MessageBuilder.withPayload("Hello World").setHeaders(accessor);
}
 
开发者ID:reshmik,项目名称:Zipkin,代码行数:6,代码来源:MessagingSpanInjectorTests.java


注:本文中的org.springframework.messaging.support.MessageHeaderAccessor.setHeader方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。