私は...ログハンドラを生成し、必要なときに、それはとして発射するとしているクライアントにロギングデータを送信するためにWebSocketBehaviorを拡張開発しています。Wicketの7 WebSocketBehavior
私はクライアントにログエントリを押すと、コンソールパネルを更新する方法を正確に理解する問題を抱えています。私はすでにonMessageメソッドが私が送信したいメッセージと共に引数としてWeSocketRequestHandlerを取るコンソールでオーバーライドする必要があることを知っています。どのように正確にonMessageを起動させるのですか?ここで私が使用していたコードは次のとおりです。私はそれがしたいよう
public class LogWebSocketBehavior extends WebSocketBehavior {
private static final long serialVersionUID = 1L;
Console console;
private Handler logHandler;
private Model model;
public LogWebSocketBehavior(Console console) {
super();
configureLogger();
this.console = console;
}
private void configureLogger() {
Logger l = Logger.getLogger(AppUtils.loggerName);
logHandler = getLoggerHandler();
l.addHandler(logHandler);
}
@Override
protected void onMessage(WebSocketRequestHandler handler, TextMessage message) {
console.info(handler, model.getObject());
}
private Handler getLoggerHandler() {
return new Handler() {
@Override
public void publish(LogRecord record) {
model.setObject(record);
}
@Override
public void flush() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void close() throws SecurityException {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
};
}
private Collection<IWebSocketConnection> getConnectedClients() {
IWebSocketConnectionRegistry registry = new SimpleWebSocketConnectionRegistry();
return registry.getConnections(getApplication());
}
private void sendToAllConnectedClients(String message) {
Collection<IWebSocketConnection> wsConnections = getConnectedClients();
for (IWebSocketConnection wsConnection : wsConnections) {
if (wsConnection != null && wsConnection.isOpen()) {
try {
wsConnection.sendMessage("test");
} catch (IOException e) {
}
}
}
}
}
ロガーは、必要に応じてメッセージを提供し、動作しますが、私は実際に私のコンソールを更新するためのonMessageメソッドを起動する方法を見つけることができません。どんな助けもありがたいです...
を拡張します。それでも、onMessageメソッドは起動していません。 –
ありがとう、私を正しい道につかまえた。基本的には私が必要としている機能です: –
実際、元のものに追加します。 –