我使用的是Atmosphere框架,它在该库的最新版本中查找该方法:BroadcasterFactory.getDefault()被描述。 (而且这种方法本质上在所有地方都使用过,我找不到如何使用新的“way”的示例)

javadoc指出:

 @deprecated Use {@link org.atmosphere.cpr.AtmosphereConfig#resourcesFactory()}

但是我找不到一个文档,说明如何获取AtmosphereConfig以便能够获取resourceFactory(这是一个实例方法)。

有人可以告诉我如何获取config ..或AtmosphereFramework对象本身,从中可以获取配置或任何示例up2date吗?

最佳答案

不知道它是否有效,但是尝试获取ServletContext并使用getAttribute(AtmosphereFramework.class.getName())获得AtmosphereFramework。如果您使用的是Spring,请尝试直接自动连接AtmosphereFramework。

您还可以从BroadcasterFactory获取AtmosphereResource,然后像以下这样查找Broadcaster:

private String path;

private BroadcasterFactory broadcasterFactory;

@Ready(value = Ready.DELIVER_TO.ALL)
public void onReady(final AtmosphereResource r) {

    System.out.println("onConnect");

    r.addEventListener(new AtmosphereConnectionController());

    if(broadcasterFactory == null){
        path = r.getBroadcaster().getID();
        broadcasterFactory = r.getAtmosphereConfig().getBroadcasterFactory();
    }
}
//later in code
broadcasterFactory.lookup(path).broadcast("message");

07-26 02:53