Hi Matthias,

Thanks for the sample, I can reproduce the error described by you. I made a little change to your sample and now the injection works fine.
For CredentialDataController, using @EJB, not @EJB(name = "java:comp/env/ejb/CredentialData"), I don't know why @EJB(name = "java:comp/env/ejb/CredentialData") doesn't work. I've attached the modified sample.

For the Geronimo class which parsing the annotations, you can refer the classes in packages org.apache.geronimo.myfaces.deployment.* and org.apache.geronimo.myfaces.*. And I think the injection happens in org.apache.geronimo.myfaces.LifecycleProviderGBean.newInstance(String className). But sometimes holder.newInstance(className, classLoader, context) return null which caused the NPE you described. I don't why for this, anyone can shed a light for this? Thanks a lot.

Matthias Berndt wrote:
> On Thu, 2008-07-17 at 00:21 +0200, Matthias Berndt wrote:
>> I tried to debug through the code but failed because I didn't understand
>> it completely and may be didn't find the right peace.
> Can anyone tell me the class and the method parsing the anotations for
> injection?