[
https://jira.jboss.org/browse/RF-5598?page=com.atlassian.jira.plugin.syst...
]
Alexander Smirnov updated RF-5598:
----------------------------------
Original Estimate: 0 minutes
Remaining Estimate: 0 minutes
PortletBridge 2.0 uses JSR-286 resource request for push, so it should solve the problem
a4j:push is not portlet session aware
-------------------------------------
Key: RF-5598
URL:
https://jira.jboss.org/browse/RF-5598
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: portal
Affects Versions: 3.3.0
Environment: Richfaces 3.3.0.CR2, JBoss Portletbridge 1.0.0.B5, JBoss Portal
2.6.4
Reporter: Dirk Pitt
Assignee: Alexander Smirnov
Fix For: Future
Original Estimate: 0 minutes
Remaining Estimate: 0 minutes
Hallo,
I have funny problem with a4j:pushBean...
We have a web application, which runs perfectly in test environment with single web
client.
But if for the same page in the web application another browser client is opened, second
browser start receiving the events intended for the first browser...
So my first impression is that push functionality make no distinction about from which
session is called...
So I surf little bit in the source code and here what I found....
In org.ajax4jsf.webapp.BaseFilter an instance of PushEventsCounter is obtained with the
following call
PushEventsCounter listener = eventsManager .getListener(ajaxPushHeader);
which my debuging shows ajaxPushHeader contains no session specific information. At this
point I have to say I am using the JBoss Portal and JBoss Portlet Bridge.
I made some more debuging and I found this....
In org.ajax4jsf.component.UIPush in method getListenerId method only HttpSession case
taking into count....
Object session = context.getExternalContext().getSession(false);
StringBuffer id = new StringBuffer();
if(null != session && session instanceof HttpSession){
HttpSession httpSession = (HttpSession) session;
id.append(httpSession.getId());
}
id.append(context.getViewRoot().getViewId());
id.append(NamingContainer.SEPARATOR_CHAR);
id.append(getClientId(context));
return id.toString();
But portal delivers PortletSession object so the SessionId is not there at that is
causing the mentioned problem...
Now this problem is quite critical for our project and I can actually deliver code
solution to be commited jboss source tree also but the question is how to solve this
without putting portal dependencies to Richfaces classes...
Or can we solve this at PortletBridge?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira