List of usage examples for org.springframework.messaging.support GenericMessage GenericMessage
public GenericMessage(T payload, MessageHeaders headers)
From source file:it.pcan.test.integration.amqp.ErrorHandler.java
@ServiceActivator public Message handleException(Message msg) { System.out.println("Exception thrown: " + msg); MessageHandlingException payload = (MessageHandlingException) msg.getPayload(); MessageHeaders headers = payload.getFailedMessage().getHeaders(); HashMap<String, Object> newHeaders = new HashMap<>(headers); newHeaders.putAll(msg.getHeaders()); Throwable cause = payload.getCause(); RuntimeException ex = (cause instanceof RuntimeException) ? (RuntimeException) cause : new RuntimeException(cause); Message m = new GenericMessage(new RuntimeExceptionHolder(ex), newHeaders); return m;/*from ww w . j a v a2s.c o m*/ }
From source file:it.pcan.test.integration.amqp.ClientErrorInterceptor.java
@Override public Message<?> preSend(Message<?> message, MessageChannel channel) { if (message.getPayload() instanceof RuntimeExceptionHolder) { RuntimeExceptionHolder holder = (RuntimeExceptionHolder) message.getPayload(); throw holder.getException(); }/*from w w w . j ava 2s . com*/ if (message.getPayload() instanceof NullObject) { /** * @see NullReturningHandlerAdvice */ MessageHeaders headers = message.getHeaders(); Map<String, Object> newHeaders = new HashMap<>(headers); newHeaders.put("replyChannel", "nullChannel"); return new GenericMessage(message.getPayload(), newHeaders); } return message; }
From source file:com.hybris.datahub.service.impl.DefaultMarketplaceIntegrationService.java
@Override public void processRawItem(final String rawItemType, final Map<String, String> csv) { if (null == csv) { return;/*from www. ja v a 2 s .c o m*/ } final List<Map<String, String>> rawFragments = new LinkedList<Map<String, String>>(); rawFragments.add(csv); final boolean result = rawFragmentInputChannel.send(new GenericMessage<List<Map<String, String>>>( rawFragments, constructMessageHeader(rawItemType, getFeedName(rawItemType)))); if (LOG.isInfoEnabled()) { LOG.info("Process result : " + result + ", item type :" + rawItemType + " fragment: " + csv.toString()); } }
From source file:org.openwms.common.comm.err.tcp.ErrorTelegramMapper.java
/** * {@inheritDoc}/* w w w .ja v a 2 s .c o m*/ */ @Override public Message<ErrorMessage> mapTo(String telegram, Map<String, Object> headers) { int startPayload = LENGTH_HEADER + forType().length(); int startCreateDate = startPayload + ERROR_CODE_LENGTH; try { return new GenericMessage<>(new ErrorMessage.Builder() .withErrorCode(telegram.substring(startPayload, startCreateDate)) .withCreateDate(telegram.substring(startCreateDate, startCreateDate + DATE_LENGTH)).build(), CommonMessageFactory.createHeaders(telegram, headers)); } catch (ParseException e) { throw new MessageMismatchException(e.getMessage()); } }
From source file:org.openwms.common.comm.synq.tcp.TimesyncTelegramMapper.java
/** * {@inheritDoc}/* w w w .j ava 2s . com*/ */ @Override public Message<TimesyncRequest> mapTo(String telegram, Map<String, Object> headers) { LOGGER.debug("Telegram to transform: [{}]", telegram); int startSendertime = LENGTH_HEADER + forType().length(); TimesyncRequest request = new TimesyncRequest(); try { request.setSenderTimer(asDate(telegram.substring(startSendertime, startSendertime + DATE_LENGTH))); GenericMessage<TimesyncRequest> result = new GenericMessage<>(request, CommonMessageFactory.createHeaders(telegram, headers)); LOGGER.debug("Transformed telegram into TimesyncRequest message:" + result); return result; } catch (ParseException e) { throw new MessageMismatchException(e.getMessage()); } }
From source file:com.hybris.datahub.service.impl.DefaultMarketplaceIntegrationService.java
@Override public void processRawItem(String rawItemType, List<Map<String, String>> csv) { if (null == csv) { return;/*from w w w. ja v a 2s . com*/ } final List<Map<String, String>> rawFragments = new LinkedList<Map<String, String>>(); rawFragments.addAll(csv); final boolean result = rawFragmentInputChannel.send(new GenericMessage<List<Map<String, String>>>( rawFragments, constructMessageHeader(rawItemType, getFeedName(rawItemType)))); if (LOG.isInfoEnabled()) { LOG.info("Process result : " + result + ", item type :" + rawItemType + " fragment: " + csv.toString()); } }
From source file:org.springframework.cloud.aws.messaging.support.converter.NotificationRequestConverter.java
@Override public Object fromMessage(Message<?> message, Class<?> targetClass) { Assert.notNull(message, "message must not be null"); Assert.notNull(targetClass, "target class must not be null"); JsonNode jsonNode;// ww w. j a v a2 s . c o m try { jsonNode = this.jsonMapper.readTree(message.getPayload().toString()); } catch (Exception e) { throw new MessageConversionException("Could not read JSON", e); } if (!jsonNode.has("Type")) { throw new MessageConversionException( "Payload: '" + message.getPayload() + "' does not contain a Type attribute", null); } if (!"Notification".equals(jsonNode.findValue("Type").asText())) { throw new MessageConversionException( "Payload: '" + message.getPayload() + "' is not a valid notification", null); } if (!jsonNode.has("Message")) { throw new MessageConversionException( "Payload: '" + message.getPayload() + "' does not contain a message", null); } String messagePayload = jsonNode.findPath("Message").asText(); GenericMessage<String> genericMessage = new GenericMessage<>(messagePayload, getMessageAttributesAsMessageHeaders(jsonNode.findPath("MessageAttributes"))); return new NotificationRequest(jsonNode.findPath("Subject").asText(), this.payloadConverter.fromMessage(genericMessage, targetClass)); }
From source file:org.openwms.common.comm.sysu.tcp.SYSUTelegramMapper.java
/** * {@inheritDoc}/*from w w w . j ava 2 s. com*/ */ @Override public Message<SystemUpdateMessage> mapTo(String telegram, Map<String, Object> headers) { LOGGER.debug("Telegram to transform: [{}]", telegram); if (provider == null) { throw new RuntimeException("Telegram handling " + SystemUpdateMessage.IDENTIFIER + " not supported"); } int startLocationGroup = LENGTH_HEADER + forType().length(); int startErrorCode = startLocationGroup + provider.lengthLocationGroupName(); int startCreateDate = startErrorCode + ERROR_CODE_LENGTH; SystemUpdateMessage message; try { message = new SystemUpdateMessage.Builder() .withLocationGroupName(telegram.substring(startLocationGroup, startErrorCode)) .withErrorCode(telegram.substring(startErrorCode, startCreateDate)) .withCreateDate(telegram.substring(startCreateDate, startCreateDate + DATE_LENGTH)).build(); return new GenericMessage<>(message, CommonMessageFactory.createHeaders(telegram, headers)); } catch (ParseException e) { throw new MessageMismatchException(e.getMessage()); } }
From source file:org.openwms.common.comm.req.tcp.RequestTelegramMapper.java
/** * {@inheritDoc}//w ww. ja v a2 s. co m */ @Override public Message<RequestMessage> mapTo(String telegram, Map<String, Object> headers) { if (provider == null) { throw new RuntimeException("Telegram handling " + RequestMessage.IDENTIFIER + " not supported"); } int startPayload = LENGTH_HEADER + forType().length(); int startActualLocation = startPayload + provider.barcodeLength(); int startTargetLocation = startActualLocation + provider.locationIdLength(); int startErrorCode = startTargetLocation + provider.locationIdLength(); int startCreateDate = startErrorCode + Payload.ERROR_CODE_LENGTH; RequestMessage message; try { message = new RequestMessage.Builder(provider) .withBarcode(telegram.substring(startPayload, startActualLocation)) .withActualLocation(telegram.substring(startActualLocation, startTargetLocation)) .withTargetLocation(telegram.substring(startTargetLocation, startErrorCode)) .withErrorCode(telegram.substring(startErrorCode, startCreateDate)) .withCreateDate(telegram.substring(startCreateDate, startCreateDate + Payload.DATE_LENGTH)) .build(); return new GenericMessage<>(message, CommonMessageFactory.createHeaders(telegram, headers)); } catch (ParseException e) { throw new MessageMismatchException(e.getMessage()); } }
From source file:io.jmnarloch.spring.cloud.stream.binder.hermes.HermesClientBinderTest.java
@Test public void shouldPublishMessage() { // given/*from ww w . ja va2 s . c o m*/ DirectChannel output = new DirectChannel(); // when Binding<MessageChannel> binding = binder.bindProducer(OUTPUT_NAME, output, new ExtendedProducerProperties<>(new HermesProducerProperties())); // then output.send(new GenericMessage<>(MESSAGE, json())); verify(hermesSender).send(any(URI.class), any(HermesMessage.class)); binding.unbind(); }