0
Cometd 문서 상태 : 구독을 수행 할 코드의 위치는 * /meta/handshake 기능입니다./meta/handshake 리스너는 클라이언트가 수행하는 명시 적 핸드 셰이크에서 호출되고 서버 트리거를 다시 핸드 셰이크 (re-handshake) 할 때 호출되므로 항상 구독이 항상 올바르게 수행되고 서버 상태와 일관성이 유지됩니다. * JavaScript 및 상속 된 스타일은 네트워크 연결이 다시 시작될 때 가입자를 잃지 않습니다. 아래와 같이 코드에 주석이 달린 cometd java 클라이언트를 사용하면 구독자가 손실됩니다. bayeuxClient.handshake() 내부의 채널을 어떻게 구독하나요? 메서드를 사용하여 주석을 달았습니다.주석 Cometd Java 클라이언트
주석 스타일
@Service
public class Service
{
@Session
private ClientSession bayeuxClient;
@Listener(Channel.META_CONNECT)
public void metaConnect(Message connect)
{
// Connect handling...
}
@Subscription("/foo")
public void foo(Message message)
{
// Message handling...
}
}
상속 스타일
ClientSession bayeuxClient = ...;
bayeuxClient.getChannel(Channel.META_CONNECT).addListener(new ClientSessionChannel.MessageListener()
{
public void onMessage(ClientSessionChannel channel, Message message)
{
// Connect handling...
}
});
bayeuxClient.handshake();
bayeuxClient.waitFor(1000, BayeuxClient.State.CONNECTED);
bayeuxClient.getChannel("/foo").subscribe(new ClientSessionChannel.MessageListener()
{
public void onMessage(ClientSessionChannel channel, Message message)
{
// Message handling...
}
});
cometd 2.7.0-beta1로 고정 ... – user2263197