2009-06-03 6 views
3

J'implémente les portlets jsr 186, avec quelques servlets au mixage pour implémenter de l'ajax. Le problème est que si je ne fais que des appels AJAX pendant un certain temps, je perds la session. Bizarrement, maintenir la session de servlet active n'empêche pas la session de portlet d'expirer.Portlets - Garder la session en vie du côté serveur

Y a-t-il un moyen de maintenir la session en vie depuis mes servlets, côté serveur? FWIW J'utilise le ressort et le ressort mvc/portlet.

Merci, Miguel Ping

Répondre

0

je mis en œuvre à l'aide d'un javascript timer qui a gardé l'interrogation d'un URL de portlet. L'url de portlet a été générée avanthadn donc elle était accessible en javascript.

1

J'ai eu le même problème. (En utilisant OpenPortal Portlet Container)

Comme je sais qu'il existe deux sessions différentes, 1- session de portlet, 2- session de conteneur.

J'ai créé un portlet simple et fait une requête au portlet avec ajax périodiquement à partir du conteneur. Cependant, la session expire. Ma fraction de code est ici:

<% 
    int per=15000; //ms 
    String sessionExtenderPath = "http://portal.abc.com.tr:8080/SessionExtend/SessionExtend"; 
    //This is a portlet which includes servlet that returns a simple string. 
%> 

<script> 
    periyod=100; 

    function invokeRequest(){ 
    $.get("< %=sessionExtenderPath% >", function(data) { 
     alert(1); 
    }); 
    } 
    window.setInterval("invokeRequest()",periyod); 
</script> 

J'ai résolu mon problème en demandant la page de conteneur (wihout définissant un canal pour un portlet).

Merci pour l'édition.

Questions connexes