If your portlets are packaged in the same WAR, the sample code you provided will actually work.
Otherwise, you'll have to employ interportlet-communication or use JBoss's proprietary APIs to achieve session sharing.
It may be better to re-design for not using events unnecessarily.
Thanks guys. I have changed all the portlets in same war.