2014-06-24 2 views
5

대기 프레임 워크를 사용 중이고 라이브러리의 최신 버전 ( BroadcasterFactory.getDefault())이 손상되었습니다. 그러나 나는 어떻게 AtmosphereConfig을 얻는 하나의 문서를 찾을 수 없습니다대기 프레임 워크, BroadcasterFactory.getDefault() 대체

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

:

javadoc의 상태가 (이 방법은 기본적으로 모든 곳에서 사용하고 있었고, 난 어떻게 새로운 "방법"을 사용하는 예를 찾을 수 없습니다) resourceFactory (인스턴스 메소드)를 가져올 수 있습니다.

누군가가 config를 가져 오는 방법을 알려주거나 config2 또는 up2date 인 예제를 얻을 수있는 AtmosphereFramework 객체 자체를 알려 줄 수 있습니까?

답변

0

작동하는지 잘 모르지만 ServletContext을 얻고 getAttribute(AtmosphereFramework.class.getName())을 사용하여 AtmosphereFramework을 얻으려고하십시오. Spring을 사용한다면, AtmosphereFramework를 직접 autowire 해보십시오.

또한 AtmosphereResource에서 BroadcasterFactory을 얻을 다음과 같은 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"); 
0

사용 종속성 주입. 내 프로젝트에서는 다음과 같이 진행됩니다 :

@MeteorService(path = "/recursos/fila-de-atendimento", interceptors = {AtmosphereResourceLifecycleInterceptor.class}) 
public class FilaDeAtendimentoResource extends HttpServlet { 

    @Inject 
    private BroadcasterFactory broadcasterFactory; 

    ... 

    /** Used for registering for a message */ 
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { 
     ... 
     Broadcaster broadcaster = broadcasterFactory.lookup(broadcasterId, true); 
     meteor.setBroadcaster(broadcaster); 
     ... 
    } 

} 
+0

적어도, 이유는 모르겠지만 BroadcasterFactory가 제대로 주입되지 않고 널입니다. – CrazySabbath