I cleanup my web.xml file. Thanks for the link.
I have tried using @Observer but this doesn't work either because when the event is raised, the session scoped bean is not instantiated yet and thus cannot observe the event.
I have a workaround already which is to have an action bound to the first page of the portlet (defined in pages.xml) but it is not as elegant and robust as the @Create solution as I will have to implement this in every pages.xml for every portlet application.
What I was hoping to achieve is to have a jar that contains my session scoped bean. Then I can include this jar in all my portlets ear files and that's it (no need to do anything else)
A jira https://jira.jboss.org/jira/browse/JBPORTAL-2461 has been opened.