示例#1
0
 /** Returns all persisted JSON messages */
 public Result allMessage() {
   List<String> messages =
       redisAccess.get(
           jedis ->
               jedis
                   .lrange(KEY_MESSAGE_LIST, 0, -1)
                   .stream()
                   .map(json -> Message.fromJson(json).message)
                   .collect(toList()));
   return ok(Json.toJson(messages));
 }
示例#2
0
 /**
  * Accepts a JSON message and publishes it on the {@link services.RedisAccess#CHANNEL_MESSAGES}
  * pub/sub channel *
  */
 public Result message() {
   Optional<JsonNode> json = getValidJson(request().body());
   if (!json.isPresent()) {
     return badRequest();
   }
   redisAccess.run(
       jedis -> {
         Long subscribers = jedis.publish(CHANNEL_MESSAGES, json.get().toString());
         logger.debug("message published to {} subscribers", subscribers);
       });
   return ok();
 }