List of usage examples for org.springframework.amqp.core Message getBody
public byte[] getBody()
From source file:com.opengsn.services.facilitymanager.DefaultFacilityManagerProvider.java
@Override public String readModel(String id) { try {/*from ww w .ja v a 2 s. c o m*/ ModelReadRequest req = new ModelReadRequest(); ObjectMapper mapper = new ObjectMapper(); String reqString = mapper.writeValueAsString(req); Message resp = iaasTemplate.sendAndReceive(new Message(reqString.getBytes(), null)); ModelReadResponse execResp = mapper.readValue(resp.getBody().toString(), ModelReadResponse.class); String jsonData = execResp.getModel(); XMLSerializer serializer = new XMLSerializer(); JSON json = JSONSerializer.toJSON(jsonData); String xml = serializer.write(json); System.out.println(xml); return execResp.getModel(); } catch (Exception e) { return null; } }
From source file:amqp.spring.converter.XStreamConverterTest.java
@Test public void testConversion() throws Exception { TestObject testObject = new TestObject(); testObject.setValue("TESTING"); MessageProperties messageProperties = new MessageProperties(); MessageConverter converter = new XStreamConverter(); ((XStreamConverter) converter).setEncoding("UTF-8"); Message amqpMessage = converter.toMessage(testObject, messageProperties); Assert.assertEquals("{\"amqp.spring.converter.XStreamConverterTest_-TestObject\":{\"value\":\"TESTING\"}}", new String(amqpMessage.getBody())); Object newObject = converter.fromMessage(amqpMessage); Assert.assertEquals(testObject, newObject); Assert.assertEquals("UTF-8", ((XStreamConverter) converter).getEncoding()); }
From source file:com.jbrisbin.vpc.jobsched.batch.BatchMessageHandler.java
public BatchMessage handleMessage(BatchMessage batch) throws Exception { log.debug("handling message: " + batch.toString()); final BatchMessage results = new BatchMessage(); results.setId(batch.getId());// ww w .ja va 2s . c o m // For waiting till our results are all back final CountDownLatch latch = new CountDownLatch(batch.getMessages().size()); Queue resultsQueue = rabbitAdmin.declareQueue(); SimpleMessageListenerContainer listener = new SimpleMessageListenerContainer(connectionFactory); listener.setAutoAck(true); listener.setQueues(resultsQueue); listener.setMessageListener(new MessageListener() { public void onMessage(Message message) { String messageId = new String(message.getMessageProperties().getCorrelationId()); String body = new String(message.getBody()); results.getMessages().put(messageId, body); latch.countDown(); } }); listener.start(); for (Map.Entry<String, String> msg : batch.getMessages().entrySet()) { final String[] parts = msg.getKey().split(":"); template.send(parts[0], parts[1], new MessageCreator(parts[2], parts[3], resultsQueue.getName(), msg.getValue().getBytes())); } // Wait the timeout value per message for all results to be collected latch.await((batch.getTimeout() * batch.getMessages().size()), TimeUnit.MINUTES); return results; }
From source file:com.opengsn.services.cloudmanager.DefaultCloudManagerProvider.java
@Override public Host getHostInformation(String id) { try {//from w w w .ja v a2s . c om ModelReadRequest req = new ModelReadRequest(); ObjectMapper mapper = new ObjectMapper(); String reqString = mapper.writeValueAsString(req); Message resp = iaasTemplate.sendAndReceive(new Message(reqString.getBytes(), null)); ModelReadResponse execResp = mapper.readValue(resp.getBody().toString(), ModelReadResponse.class); Host host = new Host(); return host; } catch (Exception e) { return null; } }
From source file:com.opengsn.services.cloudmanager.DefaultCloudManagerProvider.java
@Override public String execute(String resourceId, String actionName, Map<String, String> parameters) { try {//from ww w .j a va 2 s . c om ExecutionRequest req = new ExecutionRequest(); ObjectMapper mapper = new ObjectMapper(); String reqString = mapper.writeValueAsString(req); Message resp = iaasTemplate.sendAndReceive(new Message(reqString.getBytes(), null)); ExecutionResponse execResp = mapper.readValue(resp.getBody().toString(), ExecutionResponse.class); return execResp.getResponseDocument(); } catch (Exception e) { return ""; } }
From source file:com.enitalk.controllers.bots.EniWordController.java
@RabbitListener(queues = "eniwords") public void consume(Message msg) { try {//w w w.jav a 2 s . co m JsonNode user = jackson.readTree(msg.getBody()); logger.info("Sending eniword to student {}", user); Integer lastWord = user.at("/eniword/wc").asInt(0) + 1; HashMap word = mongo.findOne(Query.query(Criteria.where("i").gt(lastWord)), HashMap.class, "words"); if (word == null) { return; } ObjectNode wToSend = jackson.convertValue(word, ObjectNode.class); String text = "0x1f4d8 <b>EniWord</b>\n"; text += "0x1f4e2 Word: <b>" + wToSend.path("word").asText() + "</b>\n"; text += "0x1f4cb Part of speech: <b>" + parts.get(wToSend.path("type").asInt()) + "</b>\n"; text += "0x1f6a9 <b>Usage:</b>\n"; JsonNode exs = wToSend.at("/def/examples"); Iterator<JsonNode> els = exs.elements(); int i = 1; while (els.hasNext() && i < 2) { text += i++ + ". " + els.next().path("text").asText() + "\n"; } text += "---------\nWe will send you another awesome word in 40 minutes.\nPress /recommend to get back to the menu and browse teachers."; logger.info("Text to send {}", text); ArrayNode tg = jackson.createArrayNode(); ObjectNode o = tg.addObject(); o.set("dest", user.path("dest")); ObjectNode message = jackson.createObjectNode(); o.set("message", message); message.put("text", text); //make unsubscribe button ArrayNode a = jackson.createArrayNode(); // String buttonUrl = env.getProperty("self.url") + "/eniword/cancel/" + user.at("/dest/sendTo").asLong(); // logger.info("Button url {}", buttonUrl); // makeButtonHref(a, "Stop sending words", buttonUrl); message.set("buttons", a); rate.acquire(); sendMessages(tg); mongo.updateFirst(Query.query(Criteria.where("dest.sendTo").is(user.at("/dest/sendTo").asLong())), new Update().set("eniword.wc", wToSend.path("i").asLong()).inc("eniword.points", -1), "leads"); } catch (Exception e) { logger.error(ExceptionUtils.getFullStackTrace(e)); } }
From source file:com.jbrisbin.vpc.jobsched.RequeueMessageListenerAdapter.java
@Override protected void postProcessResponse(Message request, Message response) throws Exception { super.postProcessResponse(request, response); log.info(new String(request.getBody())); }
From source file:com.opengsn.services.cloudmanager.DefaultCloudManagerProvider.java
public VMNetAddress getNetworkAddress(String vmName) { try {//from w w w. j a v a 2s.c om Map<String, String> args = new HashMap<String, String>(); args.put("vmName", vmName); NetworkManagerRequest req = new NetworkManagerRequest(NetworkManagerRequest.CMD_assignVMAddress, args); ObjectMapper mapper = new ObjectMapper(); String reqString = mapper.writeValueAsString(req); Message resp = networkManagerTemplate.sendAndReceive(new Message(reqString.getBytes(), null)); NetworkManagerResponse nres = mapper.readValue(resp.getBody().toString(), NetworkManagerResponse.class); return VMNetAddress.fromXML(nres.getMessage()); } catch (Exception e) { return null; } }
From source file:com.jbrisbin.vpc.jobsched.exe.ExeMessageConverter.java
public Object fromMessage(Message message) throws MessageConversionException { MessageProperties props = message.getMessageProperties(); if (isAuthorized(props)) { //Map<String, Object> headers = props.getHeaders(); byte[] bytes = message.getBody(); ExeMessage msg;/*from w ww .jav a 2 s .c o m*/ try { msg = mapObject(bytes, ExeMessage.class); if (log.isDebugEnabled()) { log.debug(String.format(" MSG: %s", msg)); } } catch (IOException e) { throw new MessageConversionException(e.getMessage(), e); } return msg; } else { throw new MessageConversionException("Invalid security key."); } }
From source file:com.jbrisbin.vpc.jobsched.patch.PatchMessageConverter.java
public Object fromMessage(Message message) throws MessageConversionException { PatchMessage msg = new PatchMessage(); BufferedReader reader = new BufferedReader( new InputStreamReader(new ByteArrayInputStream(message.getBody()))); List<String> diff = new ArrayList<String>(); String line = null;// www. j av a 2s . c om try { while (null != (line = reader.readLine())) { diff.add(line); } msg.setDiff(diff); } catch (IOException e) { log.error(e.getMessage(), e); } Object fileName = message.getMessageProperties().getHeaders().get("file"); if (null != fileName) { if (log.isDebugEnabled()) { log.debug(String.format("Patching file %s with %s", fileName.toString(), new String(message.getBody()))); } String s = fileName.toString(); if (s.startsWith("/")) { s = s.substring(1); } msg.setFile(String.format("%s/%s", rootDir, fileName.toString())); } return msg; }