I think Abstract Factory (actually I'm convinced it is) and I will try to explain, why.
A client first gets a reference to home object which implements the EJBHome interface. This home object is the container (vendor) implementation of the EJBHome interface of the EJB2.0 API (analogous to AbstractFactory).
At deployment the container creates an implementation of your bean's home interface (analogous to ConcreteFactory). This objects (ConcreteFactory) also extends the home object (AbstractFactory). You has to provide a home interface for each
EJB (Product). However, the container generates an implementation (ConcreteFactory) for it at deployment. So there are container implementations (ConcreteFactories) for each home interface of the bean provider which eventually create the appropriate bean (Product).
Make this sense ?
Thomas