Spring WebSocket从服务器发送多个pair-value消息

时间:2017-01-23 20:46:26

标签: java json spring websocket stomp

我一直在研究Spring WebSocket example。我想创建这样的应用程序,它将从db< - >服务器< - >客户端交换信息。我创建了自己的bean,它会对db进行查询,在这种情况下它是AnimalBean。这是应用程序的控制器:

@Controller
public class GreetingController {

    @MessageMapping("/hello")
    @SendTo("/topic/greetings")
    public Greeting greeting(HelloMessage message, AnimalBean ab) throws Exception {
        return new Greeting(ab.getCows() + "\t" + new Date() + "\t" + message.getName());
    }

}

因为我想向客户端发送不同数量的动物,例如ab.getCows()ab.getRabbits()等,我想知道是否可以在一条JSON消息中发送它,所以示例消息看起来像这样:

{"cows":"4", "rabbits":"60"}

难以实现,最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

假设AnimalBean是你的DAO Bean。 Updated类看起来像。

@Controller
public class GreetingController {

    @Autowired
    private AnimalBean ab;

    @MessageMapping("/hello")
    @SendTo("/topic/greetings")
    public AnimalInfogreeting(HelloMessage message) throws Exception {
        return new AnimalInfo(ab.getCows(), ab.getRabbits());
    }

}

创建POJO类。

public class AnimalInfo{
   private int cows;
   pirvate int rabbits;

   public AnimalInfo(int cows, int rabbits){
       this.cows= cows;
       this.rabbits =rabbits;
   }

   //getters and setters
}