Spring Asyn c Обработка запросов - PullRequest
1 голос
/ 08 июля 2020
    @PutMapping("/guild/{guildId}/audioplayer/queue")
    public WebAsyncTask<String> queueAddRoute(@PathVariable String guildId, @RequestParam String uri) throws UnknownGuildException {
        Guild guild = shardManager.getGuildById(guildId);
        
        if(guild == null) {
            throw new UnknownGuildException("Guild " + guildId + " was not found");
        }
        
        CachedGuildData data = GlobalCacheHolder.getGuildCache().get(guild.getIdLong());
        GuildMusicManager musicMan = data.getMusicManager();
        
        //musicMan.queue(String, Consumer<Playable> success, Consumer<Exception> error, boolean interrupt)
        musicMan.queue(uri, playable -> {
            
        }, exception -> {
            
        }, false);
        
        return new WebAsyncTask<>();
    }

В этом методе контроллера я хочу добавить что-то в очередь, но очередь возвращает двух потребителей, одного для успеха и одного для исключения, как я могу вернуть исключение или получателя успеха, чтобы пользователь получает сообщение.

...