J'utilise une couture et d'obtenir une erreur "appel simultanément à la conversation". Qu'est-ce que cela signifie? P>
J'ai un bouton qui prend 5 min pour traiter. Je reçois cette erreur dans les 2 minutes. Définir le délai de demande simultané à 10 min ne semble pas fonctionner. Y a-t-il un moyen de bloquer toutes les autres demandes jusqu'à ce que le premier soit terminé? P>
3 Réponses :
section 6.9 de la documentation de couture explique des stratégies de traitement des appels concurrents dans un contexte conversationnel. P>
Ne pensez pas que c'est une bonne idée de bloquer toute autre demande de telle opération longue, une approche bien meilleure est de le faire fonctionner de manière asynchrone. P>
Vous pouvez regarder ici http: //achorniy.wordpress.com/2009/07/14/avoid-concurrent-call-a-conversation/ Mais c'est la solution pour vous permettre de bloquer d'autres demandes pendant la courte période (bien sûr peut les bloquer pendant une longue période, mais ce n'est pas une bonne approche en général pour faire l'utilisateur d'attendre de telles demandes) Vous pouvez regarder ici un bon exemple de la manière dont l'interface utilisateur peut être organisée pour fonctionner avec Async sur le backend (voir Richfaces Livedemo "Support Ajax" Push / Pull Exemples) P>
Voici la solution - Utilisez Richfaces Progressbar, appelez la méthode asynchrone de couture pour exécuter un processus long-processus et transmettez le progressiste avec des paramètres de la méthode ASYNC (il doit être accessible à partir du haricot de conversation Yuor que vous utilisez dans JSF) et à la mise à jour périodique Statut de progression dans la tâche de longue date Cette approche est expliquée dans les détails ici [Afficher les progrès du processus dynamique dans les coutures / richfaces] [1] p>
[1] http: //achorniy.wordpress.com/2010/10/22/show-dynamic-process-progress-in-sam-richfaces/ P>
@Bhargav pouvez-vous fournir plus d'informations: composants.xml, vos haricots, votre oreille ou votre demande de guerre ??