io.eventuate.tram.messaging.common.Message.getHeader()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(6.1k)|赞(0)|评价(0)|浏览(268)

本文整理了Java中io.eventuate.tram.messaging.common.Message.getHeader()方法的一些代码示例,展示了Message.getHeader()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getHeader()方法的具体详情如下:
包路径:io.eventuate.tram.messaging.common.Message
类名称:Message
方法名:getHeader

Message.getHeader介绍

暂无

代码示例

代码示例来源:origin: eventuate-tram/eventuate-tram-core

  1. @Override
  2. public String get(String key) {
  3. return message.getHeader(key).orElse(null);
  4. }

代码示例来源:origin: eventuate-tram/eventuate-tram-core

  1. protected void sendMessage(String id, String destination, Message message, MessageSender messageSender) {
  2. if (id == null) {
  3. if (!message.getHeader(Message.ID).isPresent())
  4. throw new IllegalArgumentException("message needs an id");
  5. } else {
  6. message.getHeaders().put(Message.ID, id);
  7. }
  8. message.getHeaders().put(Message.DESTINATION, destination);
  9. message.getHeaders().put(Message.DATE, HttpDateHeaderFormatUtil.nowAsHttpDateString());
  10. preSend(message);
  11. try {
  12. messageSender.send(message);
  13. postSend(message, null);
  14. } catch (RuntimeException e) {
  15. postSend(message, e);
  16. throw e;
  17. }
  18. }

代码示例来源:origin: eventuate-tram/eventuate-tram-core

  1. public void messageHandler(Message message) {
  2. logger.trace("Received message {} {}", commandDispatcherId, message);
  3. Optional<CommandHandler> possibleMethod = commandHandlers.findTargetMethod(message);
  4. if (!possibleMethod.isPresent()) {
  5. throw new RuntimeException("No method for " + message);
  6. }
  7. CommandHandler m = possibleMethod.get();
  8. Object param = convertPayload(m, message.getPayload());
  9. Map<String, String> correlationHeaders = correlationHeaders(message.getHeaders());
  10. Map<String, String> pathVars = getPathVars(message, m);
  11. Optional<String> defaultReplyChannel = message.getHeader(CommandMessageHeaders.REPLY_TO);
  12. List<Message> replies;
  13. try {
  14. CommandMessage cm = new CommandMessage(message.getId(), param, correlationHeaders, message);
  15. replies = invoke(m, cm, pathVars);
  16. logger.trace("Generated replies {} {} {}", commandDispatcherId, message, replies);
  17. } catch (Exception e) {
  18. logger.trace("Generated error {} {} {}", commandDispatcherId, message, e.getClass().getName());
  19. handleException(message, param, m, e, pathVars, defaultReplyChannel);
  20. return;
  21. }
  22. if (replies != null) {
  23. publish(correlationHeaders, replies, defaultReplyChannel);
  24. } else {
  25. logger.trace("Null replies - not publishling");
  26. }
  27. }

代码示例来源:origin: eventuate-tram/eventuate-tram-core

  1. public boolean containsReplyTo(String messageId) {
  2. for (Message m : messages.toArray(new Message[0])) {
  3. if (m.getHeader(ReplyMessageHeaders.IN_REPLY_TO).map(x -> x.equals(messageId)).orElse(false))
  4. return true;
  5. }
  6. return false;
  7. }

代码示例来源:origin: eventuate-tram/eventuate-tram-sagas

  1. private Boolean isReplyForThisSagaType(Message message) {
  2. return message.getHeader(SagaReplyHeaders.REPLY_SAGA_TYPE).map(x -> x.equals(getSagaType())).orElse(false);
  3. }

代码示例来源:origin: io.eventuate.tram.sagas/eventuate-jpa-sagas-framework

  1. private Boolean isReplyForThisSagaType(Message message) {
  2. return message.getHeader(SagaReplyHeaders.REPLY_SAGA_TYPE).map(x -> x.equals(getSagaType())).orElse(false);
  3. }

代码示例来源:origin: eventuate-tram/eventuate-tram-core

  1. private boolean resourceMatches(Message message) {
  2. return !resource.isPresent() || message.getHeader(CommandMessageHeaders.RESOURCE).map(m -> resourceMatches(m, resource.get())).orElse(false);
  3. }

代码示例来源:origin: eventuate-tram/eventuate-tram-core

  1. public <C extends DomainEvent> void assertDomainEventPublished(String channel, Class<C> expectedDomainEventClass) {
  2. validateChannel(channel);
  3. Eventually.eventually(() -> {
  4. List<Message> messages = getMessages();
  5. if (messages.stream()
  6. .noneMatch(m -> m.getHeader(EventMessageHeaders.EVENT_TYPE).map(ct -> ct.equals(expectedDomainEventClass.getName())).orElse(false)))
  7. fail(String.format("Cannot find domain eventmessage of type %s in %s", expectedDomainEventClass.getName(), messages));
  8. });
  9. }
  10. }

代码示例来源:origin: eventuate-tram/eventuate-tram-core

  1. public <C extends Command> void assertCommandMessageSent(String channel, Class<C> expectedCommandClass) {
  2. validateChannel(channel);
  3. Eventually.eventually(() -> {
  4. List<Message> messages = getMessages();
  5. if (messages.stream()
  6. .noneMatch(m -> m.getHeader(CommandMessageHeaders.COMMAND_TYPE).map(ct -> ct.equals(expectedCommandClass.getName())).orElse(false)))
  7. fail(String.format("Cannot find command message of type %s in %s", expectedCommandClass.getName(), messages));
  8. });
  9. }

代码示例来源:origin: eventuate-tram/eventuate-tram-core

  1. private Map<String, String> getPathVars(Message message, CommandHandler handler) {
  2. return handler.getResource().flatMap( res -> {
  3. ResourcePathPattern r = ResourcePathPattern.parse(res);
  4. return message.getHeader(CommandMessageHeaders.RESOURCE).map(h -> {
  5. ResourcePath mr = ResourcePath.parse(h);
  6. return r.getPathVariableValues(mr);
  7. });
  8. }).orElse(EMPTY_MAP);
  9. }

代码示例来源:origin: eventuate-tram/eventuate-tram-sagas

  1. private void handleReply(Message message) {
  2. if (!isReplyForThisSagaType(message))
  3. return;
  4. logger.debug("Handle reply: {}", message);
  5. String sagaId = message.getRequiredHeader(SagaReplyHeaders.REPLY_SAGA_ID);
  6. String sagaType = message.getRequiredHeader(SagaReplyHeaders.REPLY_SAGA_TYPE);
  7. SagaInstance sagaInstance = sagaInstanceRepository.find(sagaType, sagaId);
  8. Data sagaData = SagaDataSerde.deserializeSagaData(sagaInstance.getSerializedSagaData());
  9. message.getHeader(SagaReplyHeaders.REPLY_LOCKED).ifPresent(lockedTarget -> {
  10. String destination = message.getRequiredHeader(CommandMessageHeaders.inReply(CommandMessageHeaders.DESTINATION));
  11. sagaInstance.addDestinationsAndResources(singleton(new DestinationAndResource(destination, lockedTarget)));
  12. });
  13. String currentState = sagaInstance.getStateName();
  14. logger.info("Current state={}", currentState);
  15. SagaActions<Data> actions = getStateDefinition().handleReply(currentState, sagaData, message);
  16. logger.info("Handled reply. Sending commands {}", actions.getCommands());
  17. processActions(sagaId, sagaInstance, sagaData, actions);
  18. }

代码示例来源:origin: io.eventuate.tram.sagas/eventuate-jpa-sagas-framework

  1. message.getHeader(SagaReplyHeaders.REPLY_LOCKED).ifPresent(lockedTarget -> {
  2. String destination = message.getRequiredHeader(CommandMessageHeaders.inReply(CommandMessageHeaders.DESTINATION));
  3. sagaInstance.addDestinationsAndResources(singleton(new DestinationAndResource(destination, lockedTarget)));

相关文章