List of usage examples for org.springframework.messaging Message getPayload
T getPayload();
From source file:org.springframework.xd.dirt.stream.FileSourceModuleTests.java
@Test public void testFileContentsUsingDefaultMode() throws IOException { deployStream("filecontentsdefault", "file --dir=" + sourceDirName + " --fixedDelay=0 | sink"); MessageTest test = new MessageTest() { @Override//from w w w. j a va 2s.c om public void test(Message<?> message) throws MessagingException { byte[] bytes = (byte[]) message.getPayload(); assertEquals("foo", new String(bytes)); assertEquals("foo.txt", message.getHeaders().get(FileHeaders.FILENAME, String.class)); assertEquals(MimeType.valueOf("application/octet-stream"), contentTypeResolver.resolve(message.getHeaders())); } }; StreamTestSupport.getSinkInputChannel("filecontentsdefault").subscribe(test); dropFile("foo.txt"); test.waitForCompletion(1000); undeployStream("filecontentsdefault"); assertTrue(test.getMessageHandled()); }
From source file:org.springframework.xd.dirt.stream.FileSourceModuleTests.java
@Test public void testFileContentsAsString() throws IOException { deployStream("filestring", "file --dir=" + sourceDirName + " --fixedDelay=0 --outputType='text/plain;charset=UTF-8' | sink"); MessageTest test = new MessageTest() { @Override//from w w w . jav a 2 s.c o m public void test(Message<?> message) throws MessagingException { assertEquals("foo", message.getPayload()); assertEquals("foo2.txt", message.getHeaders().get(FileHeaders.FILENAME, String.class)); assertEquals(MimeTypeUtils.APPLICATION_OCTET_STREAM, contentTypeResolver.resolve(message.getHeaders())); } }; StreamTestSupport.getSinkInputChannel("filestring").subscribe(test); dropFile("foo2.txt"); test.waitForCompletion(6000); StreamTestSupport.getDeployedModule("filestring", 0).stop(); assertTrue(test.getMessageHandled()); }
From source file:org.springframework.xd.dirt.stream.FileSourceModuleTests.java
@Test public void testFileReference() throws IOException { deployStream("fileref", "file --mode=ref --dir=" + sourceDirName + " --fixedDelay=0 | sink"); MessageTest test = new MessageTest() { @Override//from ww w . j a v a 2s.c o m public void test(Message<?> message) throws MessagingException { File file = (File) message.getPayload(); assertEquals(sourceDirName + File.separator + "foo1.txt", file.getAbsolutePath()); } }; StreamTestSupport.getSinkInputChannel("fileref").subscribe(test); dropFile("foo1.txt"); test.waitForCompletion(1000); StreamTestSupport.getDeployedModule("fileref", 0).stop(); assertTrue(test.getMessageHandled()); }
From source file:org.springframework.xd.dirt.stream.FileSourceModuleTests.java
@Test public void testLinesMode() throws IOException { deployStream("textLine", "file --mode=lines --dir=" + sourceDirName + " --fixedDelay=0 | sink"); MessageTest test = new MessageTest() { private AtomicInteger counter = new AtomicInteger(0); @Override/*from w w w . j a v a2s. c o m*/ public void test(Message<?> message) throws MessagingException { assertTrue("Extected a String", message.getPayload() instanceof String); assertEquals("foo", message.getPayload()); assertEquals("foo1.txt", message.getHeaders().get(FileHeaders.FILENAME, String.class)); counter.incrementAndGet(); } @Override public boolean getMessageHandled() { if (counter.get() == 10) { super.messageHandled = true; } return super.messageHandled; } }; StreamTestSupport.getSinkInputChannel("textLine").subscribe(test); dropFile("foo1.txt", 10); test.waitForCompletion(3000); undeployStream("textLine"); assertTrue(test.getMessageHandled()); }
From source file:org.springframework.xd.dirt.stream.FileSourceModuleTests.java
@Test public void testLinesModeWithMarkersTrue() throws IOException { deployStream("textLineWithEmitMarkersTrue", "file --mode=lines --withMarkers=true --dir=" + sourceDirName + " --fixedDelay=0 | sink"); MessageTest test = new MessageTest() { private AtomicInteger counter = new AtomicInteger(0); private FileMarker startFileMarker = null; private FileMarker endFileMarker = null; @Override/* w ww . j a va2 s . c om*/ public void test(Message<?> message) throws MessagingException { if (message.getPayload() instanceof FileMarker) { final FileMarker fileMarker = (FileMarker) message.getPayload(); if (FileMarker.Mark.START.equals(fileMarker.getMark())) { startFileMarker = fileMarker; } else if (FileMarker.Mark.END.equals(fileMarker.getMark())) { endFileMarker = fileMarker; } } else { assertTrue("Extected a String", message.getPayload() instanceof String); assertEquals("foo", message.getPayload()); assertEquals("foo1.txt", message.getHeaders().get(FileHeaders.FILENAME, String.class)); counter.incrementAndGet(); } } @Override public boolean getMessageHandled() { if (counter.get() == 10 && startFileMarker != null && endFileMarker != null) { super.messageHandled = true; } return super.messageHandled; } }; StreamTestSupport.getSinkInputChannel("textLineWithEmitMarkersTrue").subscribe(test); dropFile("foo1.txt", 10); test.waitForCompletion(3000); undeployStream("textLineWithEmitMarkersTrue"); assertTrue(test.getMessageHandled()); }
From source file:org.springframework.xd.hadoop.fs.AvroWriter.java
@Override public void write(Message<?> message) throws IOException { Object payload = message.getPayload(); if (payload instanceof Collection<?>) { Collection<?> payloads = (Collection<?>) payload; if (logger.isDebugEnabled()) { logger.debug("Writing a collection of " + payloads.size() + " POJOs of type " + payloads.toArray()[0].getClass().getName()); }/*from w ww . j a v a 2 s.com*/ datasetOperations.write((Collection<?>) message.getPayload()); } else { logger.warn("Expected a collection of POJOs but received " + message.getPayload().getClass().getName()); datasetOperations.write(Collections.singletonList(message.getPayload())); } }
From source file:org.springframework.xd.integration.hadoop.outbound.HdfsDataStoreMessageHandler.java
@Override protected void doWrite(Message<?> message) throws Exception { Assert.notNull(storeWriter, "Writer already closed"); Object payload = message.getPayload(); if (payload instanceof String) { storeWriter.write((String) payload); } else {/*from ww w . j ava 2 s .c om*/ throw new MessageHandlingException(message, "message not a String"); } }
From source file:org.springframework.xd.integration.hadoop.outbound.HdfsPartitionDataStoreMessageHandler.java
@Override protected void doWrite(Message<?> message) throws Exception { Assert.notNull(storePartitionWriter, "Writer already closed"); Object payload = message.getPayload(); if (payload instanceof String) { storePartitionWriter.write((String) payload, message); } else {//w w w . j a v a 2s.c o m throw new MessageHandlingException(message, "message not a String"); } }
From source file:org.springframework.xd.reactor.BroadcasterMessageHandler.java
@Override protected void handleMessageInternal(Message<?> message) throws Exception { if (ClassUtils.isAssignable(inputType.getRawClass(), message.getClass())) { stream.onNext(message);/*from ww w. ja v a2 s . c o m*/ } else if (ClassUtils.isAssignable(inputType.getRawClass(), message.getPayload().getClass())) { //TODO handle type conversion of payload to input type if possible stream.onNext(message.getPayload()); } if (logger.isDebugEnabled()) { logger.debug(control.debug()); } }
From source file:org.springframework.xd.reactor.MultipleBroadcasterMessageHandler.java
@Override protected void handleMessageInternal(Message<?> message) { Broadcaster<Object> broadcasterToUse = getBroadcaster(message); if (ClassUtils.isAssignable(inputType.getRawClass(), message.getClass())) { broadcasterToUse.onNext(message); } else if (ClassUtils.isAssignable(inputType.getRawClass(), message.getPayload().getClass())) { broadcasterToUse.onNext(message.getPayload()); } else {/*from w w w . ja va2 s . c om*/ throw new MessageHandlingException(message, "Processor signature does not match [" + message.getClass() + "] or [" + message.getPayload().getClass() + "]"); } if (logger.isDebugEnabled()) { Object idToUse = partitionExpression.getValue(evaluationContext, message, Object.class); Control controls = this.controlsMap.get(idToUse); if (controls != null) { logger.debug(controls.debug()); } } }