[ 
https://jira.jboss.org/jira/browse/RF-5598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dirk Pitt updated RF-5598:
--------------------------

    Description: 
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?

  was:
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 PortletBridge?



> a4j:push is not portlet session aware
> -------------------------------------
>
>                 Key: RF-5598
>                 URL: https://jira.jboss.org/jira/browse/RF-5598
>             Project: RichFaces
>          Issue Type: Bug
>          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
>
> 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/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to