Java で websockets を使用しようとしていますが、この問題に遭遇しています:
Cannot call method public final void package.ClientWebSocket#jettyOnMessage(byte[], int, int) with args: [[B, java.lang.Integer, java.lang.Integer]
これが実際に呼び出されているコードスニペットです
@OnWebSocketMessage
public final void jettyOnMessage(final byte[] data, final int offset, final int length) {
onMessage(ByteBuffer.wrap(data, offset, length));
}
メソッド署名がどうあるべきかを説明するドキュメントがあります:
* <u>Binary Message Versions</u>
* <ol>
* <li><code>public void methodName(byte buf[], int offset, int length)</code></li>
* <li><code>public void methodName({@link Session} session, byte buf[], int offset, int length)</code></li>
* <li><code>public void methodName(InputStream stream)</code></li>
* <li><code>public void methodName({@link Session} session, InputStream stream)</code></li>
* </ol>
*/
おわかりのように、私は呼び出しの最初のバージョンを使用しています。私は何を間違っていますか?
編集1:
メソッドを非最終的なものにしましたが、何も変わりませんでした。