2017-09-14 9 views
0

私は1つのトークンを使用する必要があります.1つのトークンを使用する必要があります。これは第三者から取得され、期限切れになるまで別のトランザクションでこのトークンを再利用する必要があります。私はこのトークンをデータベースに保存したくありません。トークンをWSO2 ESBの一時ストレージに保存して再利用できる方法はありますか?また、必要に応じていつでもWSO2 ESBから任意のロジックで更新する必要があります。一時的なストレージin wso2 esb

ありがとうございます! (あなたが得る-プロパティでメディエーション内の現在の値を取得することができます

<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> 

よろしく、 シュリ​​

+0

ないあなた何とかINTEGRので、それは、良いアイデアだと確信しステートフルロジックを食べた。クエリのたびにトークンを取得し、それを "ESBに格納する"のではなく、検証することができますか?ところで、トークンは最初にどのように設定されていますか?たぶんあなたはビジネスプロセスサーバーの外観を持っているはずです – Nicolas

答えて

0

あなたは、これはグローバル値を保存し、別のトランザクションでそれを再利用するスクリプトをJS使用することができます「はCurrentValue」)

価値が失われたあなたのシャットダウン/再起動ESB

+0

ありがとうJean&Nicolas! @ Jean - 複数のノード(クラスタ)がある場合、このプロパティ値は両方のノードで同じではありません。 WSO2 ESBにデータベースのようなストレージがないようですねESB –

+0

WSO2 ESBにはデータベースのようなストレージがありますが、https://docs.wso2.com/display/CLUSTER44x/Setting+up+the+データベース –

+0

レジストリに値を作成、更新、および読み込むことができます。 js:mc.getConfiguration()。getRegistry()。newResource( "gov:/ trunk/test/MyValue"、false);で作成/更新します。 mc.getConfiguration()。getRegistry()。updateResource( "gov:/ trunk/test/MyValue"、0); get-property( 'gov:/ trunk/test/MyValue')であなたの仲介の中を読む –