Portlets - Garder la session en vie du côté serveur
Question
Je suis JSR 186 portlets la mise en œuvre, avec quelques servlets au mélange pour mettre en œuvre certains ajax. Le problème est que si je ne fais que AJAX appelle depuis un certain temps, je perds la session. Étrangement, maintenir en vie la session de servlet n'empêche pas la session de portlet de synchronisation out.
Est-il possible que je peux garder la session en vie à l'intérieur de mes servlets, du côté du serveur?
FWIW J'utilise le printemps et le printemps mvc / portlet.
Merci, Miguel Ping
La solution 2
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é beforehadn il était donc accessible en javascript.
Autres conseils
J'ai eu le même problème. (L'utilisation de conteneurs OpenPortal portlets)
Comme je sais qu'il ya deux sessions différentes, 1 session de portlet, 2- session de conteneurs.
J'ai créé simple portlet et fait la demande au portlet ajax périodiquement du contenant. Cependant, les temps de session sur. 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>
I ai résolu mon problème en demandant à la page de récipient (wihout définissant un canal pour un portlet).
Merci pour modifier.