2013-06-03 2 views
7

서버가 어떤 행동을 기다리지 않고 연결된 모든 클라이언트에게 메시지를 보낼 수 있습니까? 제가 설명해 드리겠습니다 :-) 나는 docs/examples을 읽었으며, 나는 나의 필요를 충족시켜주는 것을 찾지 못했습니다. 흐름은 항상 동일합니다. 클라이언트가 연결 (예 : GET 호출을 Rest API에 연결)하면 연결이 일시 중단되고 새 API 호출이 수신 될 때까지 (예 : POST 호출) 서버가 대기합니다 (또는 적어도 이것이 내가 이해 한 것임). 내 유스 케이스는 꽤 다르다. 일단 새로운 데이터를 사용할 수있게되면 서버가 "알림"을 보내길 바란다. 분위기 저지 - 서버 메시지

  • 연결은 새로운 데이터가
  • 서버는 새로운 데이터를 통지됩니다 순간에 사용할 수 없기 때문에 일시 중단

    1. 클라이언트 A가 서버에 연결하는에서 사용할 수 있습니다 :이 (꽤 simplifed) 내 사용 사례가 될 것입니다 외부 소스와 클라이언트에 방송 IT는
    2. 이동 단계 2

    지금까지 성공적으로 설립 연결을 받고있다 달성 무엇. 다음 단계는이 서버 문제를 해결하는 것입니다. 나는이 기술이 완전히 새로운 것을 말해야 만한다. 그래서 나는 무언가가 어떻게 작동하는지 오해 할 수도있다. 그게 사실이라면 알려주세요!

  • 이 여러분 모두 감사 1.0.13
  • 톰캣 7.0.40

    • 봄 3.2.0 RELEASE
    • 뉴저지 1.8
    • 분위기 뉴저지 :

      내 스택입니다 전진!

      UPDATE : this를 따른 후 나는 제거하는 방법을 아무 생각이없는이 경고를 얻을 :

      2013-06-04 09:40:36,284 WARN [org.atmosphere.cpr.AtmosphereFramework] - Failed using comet support: org.atmosphere.container.Tomcat7AsyncSupportWithWebSocket, error: Tomcat failed to detect this is a Comet application because context.xml is missing or the Http11NioProtocol Connector is not enabled. 
      If that's not the case, you can also remove META-INF/context.xml and WEB-INF/lib/atmosphere-compat-tomcat.jar Is the Nio or Apr Connector enabled? 
      2013-06-04 09:40:36,285 WARN [org.atmosphere.cpr.AtmosphereFramework] - Using org.atmosphere.container.Tomcat7BIOSupportWithWebSocket 
      

      나는 응용 프로그램 구조가 here 댓글을 달았 다음, 그래서 이것은 문제가되지 않습니다. 나는 "long-polling"대신 "websocket"으로 전송을 변경함으로써 오류가 없음을 발견했다. 서버가 마침내 데이터를 힘들게 보냅니다.

  • 답변

    0

    나는 당신의 연결을 따라 조금 코드를 수정했습니다.

    BroadcasterFactory.getDefault().lookup("/*").broadcast(response); 
    

    : 당신이 단계에있을 때

    3 "서버가 통지됩니다 새로운 데이터가 외부 소스에서 사용할 수 있으며 클라이언트 A에 방송",이 같은 라인을 작성해야 처음에는 ActiveMQ 대기열에서받은 TextMessage를 사용했지만이 오류가 발생하여 객체 응답으로 Jackson 클래스를 사용하고 모든 것이 정상적으로 작동했습니다.

    SEVERE : 자바 클래스 org.apache.activemq.command.ActiveMQTextMessage 및 Java 유형 클래스 org.apache.activemq.command.ActiveMQTextMessage 및 MIME 미디어 유형의 응용 프로그램에 대한 메시지 본문 작가/JSON을 찾을 수 없습니다 jun 03, 2014 11:32:21 AM com.sun.jersey.spi.container. SEVERE 쓰기 ContainerResponse 다음 MIME 미디어 유형과 호환 등록 된 메시지 본문 작가이다 : 응용 프로그램/JSON (JSONJAXBElementProvider, JSONArrayProvider, JSONObjectProvider, JSONRootElementProvider, JSONListElementProvider, ...)

    관련 문제