• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java MessagePostProcessor类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java AnnotationBasedRulesDefinition类代码示例发布时间:2022-05-22
下一篇:
Java IInvocationContext类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap