1

我已经从客户端部分实现了一个函数,该函数在 bigbluebutton-apps 参与者服务中调用以下函数

public void modEndMeeting(String roomName){
    roomsManager.removeRoom(roomName);
}

它调用执行以下操作的函数

Gson gson = new Gson();
messagingService.send(MessagingConstants.SYSTEM_CHANNEL, gson.toJson(map));

在 bigbluebutton-web 部分运行以下代码

listener.userLeft(meetingId, internalUserId);

这段代码所做的只是将会议放在垃圾收集列表中,并且不会立即结束。

正确的做法是调用endApiController.groovy 中定义的函数。

我可以生成一个 HTTP 请求。并发送正确的参数。但我不想遵循这种方法

有什么方法可以连接或返回一个实例,我可以从中调用endApiController.groovy 中定义的函数,该函数有一个名为 meetingService 的类的实例,该类实例实际上拥有会议?

我试图让 meetingService 成为单身人士,但这没有用。我还使在 meetingService 会议中拥有的列表成为静态的。那也没用

这是 meetingService 的简要结构

private final ConcurrentMap<String, Meeting> meetings;  

这是包含会议的列表

有什么想法或建议吗??

4

1 回答 1

1

而 http 请求将是从 APIcontroller 关闭会议的唯一方法。

另一种方法是昂贵的。ExpiredMeetingCleanupTimer.java它会将班级中的计时器从 60 000 减少到 1000

或者你可以在 Apicontroller.groovy 中放置一个监听器并发送一个 redis 消息。

要做的事情是在 red5 部分将会议标记为已关闭,并踢任何试图加入它的人,直到 Web 部分成功并结束会议。

于 2014-01-24T20:34:58.907 回答