PvtServer の引っ越し:REST(7)
ORCA から 受付 CLAIM 情報を受けたときに WebSocket でクライアントに伝える仕組みを作った。
処理の流れ
クライアントは起動時にサーバの WebSocket につないで session を確立しておく → PvtServer は ORCA から CLAIM を受ける → CLAIM を受けた PvtServer は PatientVisitModel に変換して addPvt する → addPvt により PatientVisitModel テーブルが変化すると PatientVisitModelListener が呼ばれる → PatientVisitModelListener は WebSocket のクライアント全員に PatientVisitModel を送るクライアント側
WebSocket につなぐ時に Endpoint を extend したクラスを指定して,そのクラスで pvt を受け取る。- DolphinClientContext
public Session setEndpoint(Endpoint endpoint) { webSocketContainer.connectToServer(endpoint, webSocketUri); }
- WatingListImpl
DolphinClientContext.getContext().setEndpoint(new Endpoint(){ @Override public void onOpen(Session session, EndpointConfig config) { session.addMessageHandler(new MessageHandler.Whole
() { @Override public void onMessage(String message) { // pvt 処理 }); } });
サーバ側
- PatientVisitModel にリスナをつける。
@Entity @EntityListeners(PatientVisitModelListener.class) @Table(name = "d_patient_visit") public class PatientVisitModel extends InfoModel { :
- pvt が変化したら,通知を受けた PatientVisitModelListener から WebSocket クライアントに PatientVisitModel を送る。
« Authorization:REST(6) | トップページ | Client の引っ越し:REST(8) »
「OpenDolphin」カテゴリの記事
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)
- IME on/off の切り替え(2024.09.03)