2012-04-02 4 views
0

J'ai une API qui peut être utilisée par plusieurs applications. Je veux réguler mon API pour que je ne traite qu'un nombre fixe de requess par application. Supposons que l'application X donne environ 30 demandes et je n'ai pas le droit d'utiliser cette API pour cette application particulière. Donc je n'autorise que 20 threads et marque les autres en attente, des choses similaires doivent être faites pour tous les apis.Gérer le nombre de threads dans un API

Quelle sera la meilleure façon de procéder?

+0

Sommes-nous parle d'une API de service Web, comme dans un Conteneur Java EE? –

+0

Oui. Avez-vous des idées pour le mettre en œuvre? – PrabhaT

+0

Pas vraiment, juste essayer d'aider à mener votre question à une meilleure réponse. "api" est un terme assez large. –

Répondre

0

Ce que vous cherchez est appelé Sémaphore. La classe en Java est

java.util.concurrent.Semaphore 

Créer une sémaphores comme dans

mysem = new Semaphore(20); 

Ensuite, dans votre API vous procédez comme suit

void myAPI() { 
     mysem.acquire(); 
     //My API logic comes here 
     finally { 
      mysem.release(); 
     } 
    } 
Questions connexes