我遇到了一個需求,在這個需求中我必須使用一個令牌,它將從第三方獲取,並且需要在不同的事務中重用此令牌,直到過期。我不想在數據庫中保存這個令牌。有什麼方法可以將令牌保存在WSO2 ESB的臨時存儲中,並在需要時重用它,並且我還需要隨時以任何邏輯從WSO2 ESB更新它。在wso2 esb中的臨時存儲
在此先感謝!
問候, 至尊
我遇到了一個需求,在這個需求中我必須使用一個令牌,它將從第三方獲取,並且需要在不同的事務中重用此令牌,直到過期。我不想在數據庫中保存這個令牌。有什麼方法可以將令牌保存在WSO2 ESB的臨時存儲中,並在需要時重用它,並且我還需要隨時以任何邏輯從WSO2 ESB更新它。在wso2 esb中的臨時存儲
在此先感謝!
問候, 至尊
您可以使用此JS腳本保存全球價值並在不同的交易重用:
<script language="js"><![CDATA[
var curValue = mc.getEnvironment().getServerContextInformation().getProperty("MyValue");
if (curValue == null) {
curValue = 0;
} else {
curValue++;
}
mc.getEnvironment().getServerContextInformation().addProperty("MyValue",curValue);
mc.setProperty("CurrentValue",curValue);
]]></script>
您可以獲得當前值中介裏用GET屬性( 「CurrentValue的」)當你關機/重啓ESB
感謝Jean&Nicolas! @Jean - 如果我們有多個節點(集羣),那麼這個屬性值對於兩個節點都不會相同,我相信。看起來我們在wso2中沒有像數據庫那樣的存儲ESB –
確定您在WSO2 ESB中有一個類似於數據庫的存儲,請查看https://docs.wso2.com/display/CLUSTER44x/Setting+up+the+數據庫 –
您可以在註冊表中創建,更新和讀取值。使用js創建/更新:mc.getConfiguration()。getRegistry()。newResource(「gov:/ trunk/test/MyValue」,false); 。mc.getConfiguration()getRegistry()updateResource( 「GOV:/中繼/測試/ myvalue的」,0);。用get-property('gov:/ trunk/test/MyValue')讀取您的調解內容 –
不知道這是一個好主意,因爲你不知何故INTEGR
值丟失吃了一個有狀態的邏輯。難道你每次都會在查詢中獲得令牌,然後嘗試驗證它,而不是將其存儲在「ESB」中。順便說一下,標記最初是如何設置的?也許你應該看看業務流程服務器 – Nicolas