У меня была такая же проблема. (Использование OpenPortal Portlet Container)
Как я знаю, есть два разных сеанса: 1 - сеанс портлета, 2 - сеанс контейнера.
Я создал простой портлет и периодически отправлял запрос на портлет с помощью ajax из контейнера. Однако время сеанса истекло. Моя часть кода здесь:
<%
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>
Я решил свою проблему, запросив страницу контейнера (без определения канала для портлета).
Спасибо за редактирование.