本文整理汇总了Java中org.springframework.amqp.core.MessagePostProcessor类的典型用法代码示例。如果您正苦于以下问题:Java MessagePostProcessor类的具体用法?Java MessagePostProcessor怎么用?Java MessagePostProcessor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MessagePostProcessor类属于org.springframework.amqp.core包,在下文中一共展示了MessagePostProcessor类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: sendMessage
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
public void sendMessage(final String serviceName, final String serviceMethodName,final String correlationId, Object request) {
logger.info("sendMessage [this.{}, serviceMethodName:{} serviceName:{} correlationId: {}]", this.getClass(), serviceMethodName, serviceName, correlationId);
rabbitTemplate.setConfirmCallback(this);
rabbitTemplate.setCorrelationKey(correlationId);
rabbitTemplate.convertAndSend(routingkey, request, new MessagePostProcessor() {
@Override
public Message postProcessMessage(Message message) throws AmqpException {
message.getMessageProperties().setAppId(appId);
message.getMessageProperties().setTimestamp(new Date());
message.getMessageProperties().setMessageId(UUID.randomUUID().toString());
message.getMessageProperties().setCorrelationId(correlationId.getBytes());
message.getMessageProperties().setHeader("ServiceMethodName", serviceMethodName);
message.getMessageProperties().setHeader("ServiceName", serviceName);
return message;
}
}, new CorrelationData(correlationId));
}
开发者ID:lemon-china,项目名称:lemon-rabbitmq,代码行数:18,代码来源:BasicService.java
示例2: send
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Override
public <T> Future<T> send(final T payload, final Address destination) throws MessagingException {
Preconditions.checkNotNull(payload, "payload cannot be null!");
Preconditions.checkNotNull(destination, "destination cannot be null!");
try {
UniqueId messageId = uniqueIdFactory.createUniqueId();
UniqueId correlationId = uniqueIdFactory.createUniqueId();
Future<T> responseFuture = responseListener.awaitResponse(correlationId);
MessagePostProcessor postProcessor = postProcessorFactory.createPostProcessor(messageId, correlationId);
amqpTemplate.convertAndSend(destination.getExchangeName(), destination.getRoutingKey(), payload, postProcessor);
return responseFuture;
} catch (Exception e) {
logger.warn("exception when sending message", e);
throw new MessagingException(e);
}
}
开发者ID:zeroDivisible,项目名称:spring-rabbitmq-example,代码行数:20,代码来源:AmqpMessagingService.java
示例3: executeAroundConvertAndSendOneArgWithProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Around(
"execution(* org.springframework.amqp.core.AmqpTemplate.convertAndSend(Object,org.springframework.amqp.core.MessagePostProcessor))")
public void executeAroundConvertAndSendOneArgWithProcessor(ProceedingJoinPoint call)
throws Throwable {
final ArgumentDiscover argumentDiscover = ArgumentDiscover.from(call);
final MessagePostProcessor argPostProcessor = argumentDiscover.messagePostProcessor;
final boolean byPass = argPostProcessor instanceof SpanManagerMessagePostProcessor;
if (byPass) {
call.proceed(call.getArgs());
} else {
executeConvertAndSendWithoutPostProcessor(call, argumentDiscover);
}
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:14,代码来源:AmqpTemplateAspect.java
示例4: executeAroundConvertAndSendTwoArgsWithPostProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Around(
"execution(* org.springframework.amqp.core.AmqpTemplate.convertAndSend(String,Object,org.springframework.amqp.core.MessagePostProcessor))")
public void executeAroundConvertAndSendTwoArgsWithPostProcessor(ProceedingJoinPoint call)
throws Throwable {
final ArgumentDiscover argumentDiscover = ArgumentDiscover.from(call);
final MessagePostProcessor argPostProcessor = argumentDiscover.messagePostProcessor;
final boolean byPass = argPostProcessor instanceof SpanManagerMessagePostProcessor;
if (byPass) {
call.proceed(call.getArgs());
} else {
executeConvertAndSendWithoutPostProcessor(call, argumentDiscover);
}
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:14,代码来源:AmqpTemplateAspect.java
示例5: executeAroundConvertAndSendThreeArgsWithPostProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Around(
"execution(* org.springframework.amqp.core.AmqpTemplate.convertAndSend(String,String,Object,org.springframework.amqp.core.MessagePostProcessor))")
public void executeAroundConvertAndSendThreeArgsWithPostProcessor(ProceedingJoinPoint call)
throws Throwable {
final ArgumentDiscover discoverArguments = ArgumentDiscover.from(call);
final MessagePostProcessor argPostProcessor = discoverArguments.messagePostProcessor;
final boolean byPass = argPostProcessor instanceof SpanManagerMessagePostProcessor;
if (byPass) {
call.proceed(call.getArgs());
} else {
executeConvertAndSendWithoutPostProcessor(call, discoverArguments);
}
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:14,代码来源:AmqpTemplateAspect.java
示例6: executeConvertAndSendWithoutPostProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
private void executeConvertAndSendWithoutPostProcessor(
ProceedingJoinPoint call, ArgumentDiscover argumentDiscover) throws Throwable {
final Object[] args = argumentDiscover.args;
final MessagePostProcessor argPostProcessor = argumentDiscover.messagePostProcessor;
boolean executed;
try {
if (argPostProcessor != null) {
final String exchange = argumentDiscover.exchangeOfSender;
final String routingKey = argumentDiscover.routingKey;
final SpanManagerMessagePostProcessor postProcessor =
new SpanManagerMessagePostProcessor(spanManager, buildSpanName(exchange, routingKey));
final MessagePostProcessor overwritePostProcessor =
new CompositeMessagePostProcessor(argPostProcessor, postProcessor);
args[args.length - 1] = overwritePostProcessor;
call.proceed(args);
executed = true;
} else {
executed = changeExecutionOfMethodToUsePostProcessor(call, argumentDiscover);
}
} catch (Exception e) {
spanManager.afterSend(e);
throw e;
}
if (executed) {
spanManager.afterSend(null);
} else {
executeWithoutPostProcessor(call, argumentDiscover);
}
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:33,代码来源:AmqpTemplateAspect.java
示例7: postProcessMessage
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Override
public Message postProcessMessage(Message message) throws AmqpException {
Message localMessage = message;
for (MessagePostProcessor postProcessor : postProcessorList) {
localMessage = postProcessor.postProcessMessage(localMessage);
}
return localMessage;
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:9,代码来源:CompositeMessagePostProcessor.java
示例8: convertAndSend
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Override
public void convertAndSend(Object message, MessagePostProcessor messagePostProcessor)
throws AmqpException {
messagePostProcessor.postProcessMessage(convertMessageIfNecessary(message));
mockManager.throwExceptionIfConfigured();
logger.debug("convertAndSend: {} {}", message, messagePostProcessor);
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:8,代码来源:RabbitTemplateMock.java
示例9: convertSendAndReceive
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Override
public Object convertSendAndReceive(Object message, MessagePostProcessor messagePostProcessor)
throws AmqpException {
mockManager.throwExceptionIfConfigured();
logger.debug("convertSendAndReceive: {} {}", message, messagePostProcessor);
return message;
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:8,代码来源:RabbitTemplateMock.java
示例10: test
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Test
public void test() throws Exception {
Advice[] adviceChain = TestUtils.getPropertyValue(this.container, "adviceChain", Advice[].class);
assertEquals(1, adviceChain.length);
RetryTemplate retryTemplate = TestUtils.getPropertyValue(adviceChain[0], "retryOperations",
RetryTemplate.class);
assertEquals(5, TestUtils.getPropertyValue(retryTemplate, "retryPolicy.maxAttempts"));
assertEquals(123L, TestUtils.getPropertyValue(retryTemplate, "backOffPolicy.initialInterval"));
assertEquals(345L, TestUtils.getPropertyValue(retryTemplate, "backOffPolicy.maxInterval"));
assertEquals(1.5, TestUtils.getPropertyValue(retryTemplate, "backOffPolicy.multiplier"));
assertEquals("scsapp-testq", this.container.getQueueNames()[0]);
assertFalse(TestUtils.getPropertyValue(this.container, "defaultRequeueRejected", Boolean.class));
assertEquals(2, TestUtils.getPropertyValue(this.container, "concurrentConsumers"));
assertEquals(3, TestUtils.getPropertyValue(this.container, "maxConcurrentConsumers"));
assertEquals(AcknowledgeMode.NONE, TestUtils.getPropertyValue(this.container, "acknowledgeMode"));
assertEquals(10, TestUtils.getPropertyValue(this.container, "prefetchCount"));
assertEquals(5, TestUtils.getPropertyValue(this.container, "txSize"));
this.rabbitTemplate.convertAndSend("", "scsapp-testq", "foo", new MessagePostProcessor() {
@Override
public org.springframework.amqp.core.Message postProcessMessage(
org.springframework.amqp.core.Message message) throws AmqpException {
message.getMessageProperties().getHeaders().put("bar", "baz");
return message;
}
});
Message<?> out = this.messageCollector.forChannel(this.channels.output()).poll(10, TimeUnit.SECONDS);
assertNotNull(out);
assertEquals("foo", out.getPayload());
assertEquals("baz", out.getHeaders().get("bar"));
assertNull(out.getHeaders().get(AmqpHeaders.DELIVERY_MODE));
}
开发者ID:spring-cloud-stream-app-starters,项目名称:rabbit,代码行数:35,代码来源:RabbitSourceTests.java
示例11: test
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Test
public void test() throws Exception {
Advice[] adviceChain = TestUtils.getPropertyValue(this.container, "adviceChain", Advice[].class);
assertEquals(1, adviceChain.length);
RetryTemplate retryTemplate = TestUtils.getPropertyValue(adviceChain[0], "retryOperations",
RetryTemplate.class);
assertEquals(5, TestUtils.getPropertyValue(retryTemplate, "retryPolicy.maxAttempts"));
assertEquals(123L, TestUtils.getPropertyValue(retryTemplate, "backOffPolicy.initialInterval"));
assertEquals(345L, TestUtils.getPropertyValue(retryTemplate, "backOffPolicy.maxInterval"));
assertEquals(1.5, TestUtils.getPropertyValue(retryTemplate, "backOffPolicy.multiplier"));
assertEquals("scsapp-testq", this.container.getQueueNames()[0]);
assertFalse(TestUtils.getPropertyValue(this.container, "defaultRequeueRejected", Boolean.class));
assertEquals(2, TestUtils.getPropertyValue(this.container, "concurrentConsumers"));
assertEquals(3, TestUtils.getPropertyValue(this.container, "maxConcurrentConsumers"));
assertEquals(AcknowledgeMode.NONE, TestUtils.getPropertyValue(this.container, "acknowledgeMode"));
assertEquals(10, TestUtils.getPropertyValue(this.container, "prefetchCount"));
assertEquals(5, TestUtils.getPropertyValue(this.container, "txSize"));
this.rabbitTemplate.convertAndSend("", "scsapp-testq", "foo", new MessagePostProcessor() {
@Override
public org.springframework.amqp.core.Message postProcessMessage(
org.springframework.amqp.core.Message message) throws AmqpException {
message.getMessageProperties().getHeaders().put("bar", "baz");
return message;
}
});
Message<?> out = this.messageCollector.forChannel(this.channels.output()).poll(10, TimeUnit.SECONDS);
assertNotNull(out);
assertEquals("foo", out.getPayload());
assertEquals("baz", out.getHeaders().get("bar"));
assertNull(out.getHeaders().get(AmqpHeaders.DELIVERY_MODE));
}
开发者ID:spring-cloud,项目名称:spring-cloud-stream-app-starters,代码行数:35,代码来源:RabbitSourceTests.java
示例12: startCalification
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
public void startCalification(SubmissionJudge submit, final int priority) {
SubmissionJudgeToSubmissionDTOAdapter submission = new SubmissionJudgeToSubmissionDTOAdapter(submit);
submitTemplate.convertAndSend(submit.getLang(), submission, new MessagePostProcessor() {
@Override
public Message postProcessMessage(Message message) throws AmqpException {
message.getMessageProperties().setPriority(priority);
return message;
}
});
}
开发者ID:dovier,项目名称:coj-web,代码行数:11,代码来源:Utils.java
示例13: process
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@RequestMapping(value = "/process", method = RequestMethod.POST)
ResponseEntity<Map<?, ?>> process(OAuthAuthenticationToken t, @RequestBody String query) {
logger.debug("the principal is " + t.getName());
SecurityContext securityContext = ForceSecurityContextHolder.get();
String accessToken = securityContext.getSessionId();
String endpoint = securityContext.getEndPointHost();
String uuid = UUID.randomUUID().toString() + System.currentTimeMillis() + "";
final Map<String, String> stringStringMap = new HashMap<>();
stringStringMap.put("batchId", uuid);
stringStringMap.put("accessToken", accessToken);
stringStringMap.put("apiEndpoint", endpoint);
stringStringMap.put("query", query);
String batchId = (String) this.rabbitTemplate.convertSendAndReceive(
(Object) query, new MessagePostProcessor() {
@Override
public Message postProcessMessage(Message message) throws AmqpException {
for (String h : stringStringMap.keySet()) {
message.getMessageProperties().setHeader(h, stringStringMap.get(h));
}
return message;
}
});
// the client will know to update the results page once this REST endpoint returns.
// todo could we refactor this so that client is notified of the updated state by a websocket? \
// todo could we maybe refactor this to use async servlets?
log("received batchId: " + batchId);
return new ResponseEntity<Map<?, ?>>(stringStringMap, HttpStatus.OK);
}
开发者ID:joshlong,项目名称:sfdc-cloudfoundry,代码行数:35,代码来源:SfdcRestController.java
示例14: ArgumentDiscover
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
private ArgumentDiscover(ProceedingJoinPoint call) {
args = call.getArgs();
target = call.getTarget();
String exchangeFromArgs = null;
final String methodName = call.getSignature().getName();
final int argsLength = args.length;
if (CONVERT_AND_SEND.equals(methodName)) {
if (args[argsLength - 1] instanceof MessagePostProcessor) {
if (argsLength > 3) {
exchangeFromArgs = (String) args[0];
routingKey = (String) args[1];
} else if (argsLength > 2) {
routingKey = (String) args[0];
}
} else {
if (argsLength > 2) {
exchangeFromArgs = (String) args[0];
routingKey = (String) args[1];
} else if (argsLength > 1) {
routingKey = (String) args[0];
}
}
} else {
if (argsLength > 1) {
if (args[0] instanceof String && args[1] instanceof String) {
exchangeFromArgs = (String) args[0];
routingKey = (String) args[1];
} else {
routingKey = (String) args[0];
}
}
}
if (exchangeFromArgs == null) {
exchangeOfSender = getExchangeFromRabbitTemplate(target);
} else {
exchangeOfSender = exchangeFromArgs;
}
for (Object arg : args) {
if (arg instanceof MessagePostProcessor) {
messagePostProcessor = (MessagePostProcessor) arg;
} else if (arg instanceof Message) {
message = (Message) arg;
}
}
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:49,代码来源:AmqpTemplateAspect.java
示例15: CompositeMessagePostProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
public CompositeMessagePostProcessor(MessagePostProcessor... postProcessors) {
postProcessorList = new ArrayList<>();
for (MessagePostProcessor processor : postProcessors) {
postProcessorList.add(processor);
}
}
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:7,代码来源:CompositeMessagePostProcessor.java
示例16: deCompressingPostProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
@Bean
MessagePostProcessor deCompressingPostProcessor() {
return new DelegatingDecompressingPostProcessor();
}
开发者ID:spring-cloud,项目名称:spring-cloud-stream-binder-rabbit,代码行数:5,代码来源:RabbitMessageChannelBinderConfiguration.java
示例17: createPostProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
public MessagePostProcessor createPostProcessor(@Nonnull final UniqueId messageId, @Nonnull final UniqueId correlationId) {
return new AddressingPostProcessor(responseQueueAddress, messageId, correlationId);
}
开发者ID:zeroDivisible,项目名称:spring-rabbitmq-example,代码行数:4,代码来源:MessagePostProcessorFactory.java
示例18: setDecompressingPostProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
/**
* Set a {@link MessagePostProcessor} to decompress messages. Defaults to a
* {@link DelegatingDecompressingPostProcessor} with its default delegates.
* @param decompressingPostProcessor the post processor.
*/
public void setDecompressingPostProcessor(MessagePostProcessor decompressingPostProcessor) {
this.decompressingPostProcessor = decompressingPostProcessor;
}
开发者ID:spring-cloud,项目名称:spring-cloud-stream-binder-rabbit,代码行数:9,代码来源:RabbitMessageChannelBinder.java
示例19: setCompressingPostProcessor
import org.springframework.amqp.core.MessagePostProcessor; //导入依赖的package包/类
/**
* Set a {@link org.springframework.amqp.core.MessagePostProcessor} to compress messages.
* Defaults to a {@link org.springframework.amqp.support.postprocessor.GZipPostProcessor}.
* @param compressingPostProcessor the post processor.
*/
public void setCompressingPostProcessor(MessagePostProcessor compressingPostProcessor) {
this.compressingPostProcessor = compressingPostProcessor;
}
开发者ID:spring-cloud,项目名称:spring-cloud-stream-binder-rabbit,代码行数:9,代码来源:RabbitMessageChannelBinder.java
注:本文中的org.springframework.amqp.core.MessagePostProcessor类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论