偶爾遇到WSO2 BPS 3.6.0,我們遇到OutOfMemoryError並停止服務器。我們懷疑堆分析後,我們懷疑:wso2 bps OutOfMemoryError - 效率低下的事件列表
我們有幾個進程定期查找一些信息(使用Web服務),直到業務項狀態沒有改變。一段時間後,一些流程實例可能會有許多事件(數千個,大約10k)。當試圖查看Carbon控制檯中的實例信息時,加載的數據(實例活動)能夠導致OutOfMemoryError並丟棄服務器(具有6GB RAM):(
作爲解決方法 - 我們使用數據庫查找:
select ode_event.event_id, ode_event.detail, ode_event.tstamp, ode_event.type,
ode_event.instance_id, ode_event.process_id,
ode_scope.scope_name
from ode_event, ode_scope where ode_event.instance_id=18204 and
(ode_event.scope_id = ode_scope.scope_id);
雖然我們認爲主意,讓任何企業用戶(甚至是流程所有者)來訪問數據庫直接作爲非常糟糕。
有什麼(更好)的方式/查詢來查看活動?這是正確的github項目來改進/功能(加載活動分頁)?
編輯:
看到這個「行爲」是從Apache的ODE實現繼承的源代碼(熱切加載範圍和事件的整個列表到內存)
謝謝你的回答。恕我直言,審計線索是BPM領域最有價值的功能之一。顯然,我們將不得不從事件表單獨實施審覈/簡化事件歷史記錄:(至少要知道限制 – gusto2