Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0058106Openbravo ERPA. Platformpublic2025-02-27 18:112025-03-18 10:28
cberner 
cberner 
normalminorhave not tried
closedfixed 
5
 
PR25Q2 
approved
No
Core
No
0058106: Messaging API(websockets) has some issues regarding concurrency and CDI
There are several problems related with the messaging API which should be fixed.

Primarly the main one is usage of Singleton and CDI injection in MessageClientRegistry which is not correct, it should be changed as it is not thread-safe. Also some hashmaps are used instead of their concurrent versions, possibly creating difficult to find bugs.
-
No tags attached.
related to feature request 0056195 closed cberner New infrastructure for sending messages, using websockets 
causes defect 0058266 closed alostale [API Change] Renamed and restructured WebSockets/Messaging API 
Issue History
2025-02-27 18:11cbernerNew Issue
2025-02-27 18:11cbernerAssigned To => cberner
2025-02-27 18:11cbernerOBNetwork customer => No
2025-02-27 18:11cbernerModules => Core
2025-02-27 18:11cbernerTriggers an Emergency Pack => No
2025-02-28 09:03cbernerRelationship addedrelated to 0056195
2025-03-11 11:27hgbotMerge Request Status => open
2025-03-11 11:27hgbotNote Added: 0176659
2025-03-11 13:04hgbotNote Added: 0176664
2025-03-11 13:26cbernerStatusnew => scheduled
2025-03-17 13:45hgbotMerge Request Statusopen => approved
2025-03-18 09:07cbernerRelationship addedcauses 0058266
2025-03-18 09:46hgbotResolutionopen => fixed
2025-03-18 09:46hgbotStatusscheduled => closed
2025-03-18 09:46hgbotFixed in Version => PR25Q2
2025-03-18 09:46hgbotNote Added: 0176921
2025-03-18 09:46hgbotNote Added: 0176922
2025-03-18 09:52hgbotNote Added: 0176926
2025-03-18 09:52hgbotNote Added: 0176927
2025-03-18 10:28hgbotNote Added: 0176933

Notes
(0176659)
hgbot   
2025-03-11 11:27   
Merge Request created: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo/-/merge_requests/1580 [^]
(0176664)
hgbot   
2025-03-11 13:04   
Merge Request created: https://gitlab.com/orisha-group/bu-commerce/openbravo/demo/org.openbravo.demo.messaging/-/merge_requests/1 [^]
(0176921)
hgbot   
2025-03-18 09:46   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo [^]
Changeset: 3ca1c9a5963a69778e31e4b905e0ae4b03ede58c
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 18-03-2025 09:46:04
URL: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo/-/commit/3ca1c9a5963a69778e31e4b905e0ae4b03ede58c [^]

Fixes ISSUE-58106: Messaging API(websockets) has some issues regarding concurrency and CDI

Includes several changes to the Messaging API, including its renaming
and proper CDI support.

---
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/DatabaseMessageRegistryPersistence.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageBroadcaster.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageConnectionHandler.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageEndpoint.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageEndpointRegistry.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageEnvelope.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageHandler.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageRegistry.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageRegistryPersistence.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageSystemContextListener.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageSystemManager.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageSystemManagerEnabledPreferenceChangeEventHandler.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/MessageSystemUtils.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/WebSocketConfigurator.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/WebSocketConnectionHandler.java
A modules/org.openbravo.client.application/src/org/openbravo/client/application/messagesystem/WebSocketEndpoint.java
M src-db/database/sourcedata/AD_MODEL_OBJECT.xml
R modules/org.openbravo.client.application/src/org/openbravo/client/application/messageclient/MessageClientRegistry.java
---
(0176922)
hgbot   
2025-03-18 09:46   
Merge request merged: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo/-/merge_requests/1580 [^]
(0176926)
hgbot   
2025-03-18 09:52   
Repository: https://gitlab.com/orisha-group/bu-commerce/openbravo/demo/org.openbravo.demo.messaging [^]
Changeset: f143474402f2874a390523501dce8df44f05b7ae
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 11-03-2025 11:31:07
URL: https://gitlab.com/orisha-group/bu-commerce/openbravo/demo/org.openbravo.demo.messaging/-/commit/f143474402f2874a390523501dce8df44f05b7ae [^]

Related to ISSUE-58106: Messaging API related changes

---
M src/org/openbravo/demo/messaging/ExampleNotificationMessageHandler.java
M src/org/openbravo/demo/messaging/GenerateMessage.java
M src/org/openbravo/demo/messaging/GetAvailableMessageTopics.java
---
(0176927)
hgbot   
2025-03-18 09:52   
Merge request merged: https://gitlab.com/orisha-group/bu-commerce/openbravo/demo/org.openbravo.demo.messaging/-/merge_requests/1 [^]
(0176933)
hgbot   
2025-03-18 10:28   
Merge request closed: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/pmods/org.openbravo.service.messagequeue.amqp/-/merge_requests/2 [^]