WebSocket を使用して新しいメッセージ リマインダー機能を実装したいと考えています。たとえば、a が記事を投稿し、誰かが a に返信します。a がオンラインになると、以下に示すようにメッセージ リマインダーが表示されます
バックグラウンドの onMessage() メソッドで session.getBasicRemote().sendText("haha"); を直接使用すると正常に動作しますが、データベース操作時に null ポインタ例外が発生します。
フロントエンド js 処理:
同じ問題に遭遇した人はいますか?私にお知らせください..###
この null ポインター は weosocket とは何の関係もありません。messageService インスタンスの依存関係注入に問題があるはずです。
MessageService が IOC コンテナによってホストされているかどうか、つまり、クラスに @Service または @Component の注釈が付けられているかどうかを確認する必要があります。
開発プロセス中に、Spring で管理されていないクラス (MessageController など) が Spring で管理されているオブジェクト (MessageService オブジェクトなど) のメソッドを呼び出したい場合、次のコードのようにメソッドを呼び出します。 null ポインタが異常になります。
解決策:
ApplicationHelper を使用して必要な MessageService オブジェクトを取得します