検索

ホームページ  >  に質問  >  本文

java - WebSocket サーバーの onMessage() メソッドは、データベースを操作するとすぐに null ポインター例外を報告します。

WebSocket を使用して新しいメッセージ リマインダー機能を実装したいと考えています。たとえば、a が記事を投稿し、誰かが a に返信します。a がオンラインになると、以下に示すようにメッセージ リマインダーが表示されます

バックグラウンドの onMessage() メソッドで session.getBasicRemote().sendText("haha"); を直接使用すると正常に動作しますが、データベース操作時に null ポインタ例外が発生します。

フロントエンド js 処理:

同じ問題に遭遇した人はいますか?私にお知らせください..###
曾经蜡笔没有小新曾经蜡笔没有小新2793日前1176

全員に返信(2)返信します

  • 仅有的幸福

    仅有的幸福2017-06-17 09:18:37

    この null ポインターweosocket とは何の関係もありません。messageService インスタンスの依存関係注入に問題があるはずです。
    MessageService が IOC コンテナによってホストされているかどうか、つまり、クラスに @Service または @Component の注釈が付けられているかどうかを確認する必要があります。

    返事
    0
  • 黄舟

    黄舟2017-06-17 09:18:37

    開発プロセス中に、Spring で管理されていないクラス (MessageController など) が Spring で管理されているオブジェクト (MessageService オブジェクトなど) のメソッドを呼び出したい場合、次のコードのようにメソッドを呼び出します。 null ポインタが異常になります。

    解決策:

    ApplicationHelper を使用して必要な MessageService オブジェクトを取得します

    返事
    0
  • キャンセル返事