We have several JSF Managed beans with Request, View, and Session Scope and are running WebLogic 11g (10.3.2). Weblogic does not support the @EJB annotation in a JSF Managed Bean, so we have used these procedures http://technology.amis.nl/2008/12/06/ejb-dependency-injection-of-session-bean-facade-in-jsf-12-on-weblogic-103-jsf-with-jpa/ to create a ServletConextListener to load EJB references using the @EJB annotation.
Effectively, from within the JSF Managed Bean, we are then able to look up the EJB interface for the EJB that we wish to use by getting it from the ServletContext.
So the questions are:
1) Is it OK to make an EJB interface an instance variable on a ManagedBean? (the rationale is that the EJB is called many times during a page cycle)
2) if we do make them instance variables, should we mark the EJB Interfaces instance variables as transient?