2017-09-14 2 views
0

Je suis tombé sur une exigence dans laquelle je dois utiliser un jeton, qui proviendra d'un tiers et qui doit réutiliser ce jeton pour différentes transactions jusqu'à ce qu'il expire. Je ne veux pas garder ce jeton dans la base de données. Y at-il un moyen par lequel je peux garder le jeton dans le stockage temporaire de WSO2 ESB et et le réutiliser et chaque fois que nécessaire, je dois également mettre à jour à partir de WSO2 ESB avec n'importe quelle logique à tout moment.Stockage temporaire dans wso2 esb

Merci d'avance!

Cordialement, Shri

+0

Je ne sais pas c'est une bonne idée, parce que vous en quelque sorte intégr mangé une logique statefull. Se pourrait-il que vous obteniez le jeton dans la requête à chaque fois, puis essayez de le valider au lieu de le stocker "dans l'ESB". Par ailleurs, comment le jeton est-il initialement défini? Peut-être que vous devriez aussi bien jeter un oeil sur le serveur de processus d'affaires – Nicolas

Répondre

0

Vous pouvez utiliser ce script js pour enregistrer une valeur globale et le réutiliser dans différentes opérations:

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

Vous pouvez obtenir la valeur actuelle dans votre médiation avec get-propriété (« CurrentValue »)

la valeur est perdue lorsque votre arrêt/redémarrage du bus ESB

+0

Merci Jean et Nicolas! @Jean - si nous avons plus d'un nœud (cluster) alors cette valeur de propriété ne sera pas la même pour les deux nœuds, je crois. On dirait que nous n'avons pas de stockage comme base de données dans wso2 ESB –

+0

Bien sûr, vous avez une base de données de stockage dans WSO2 ESB, jetez un oeil à https://docs.wso2.com/display/CLUSTER44x/Setting+up+the+ Base de données –

+0

Vous pouvez créer, mettre à jour et lire des valeurs dans le registre. Créer/mettre à jour avec js: mc.getConfiguration(). GetRegistry(). NewResource ("gov:/trunk/test/MyValue", false); mc.getConfiguration(). getRegistry(). updateResource ("gov:/trunk/test/MaValeur", 0); lire dans votre médiation avec get-property ('gov:/trunk/test/MyValue') –