Open a jira https://issues.apache.org/jira/browse/GERONIMO-6079 and went ahead commit some changes to trunk.
2011/7/15 viola lu <viola...@gmail.com> > Hi, Dev: > > I packaged a web app with jsf features into an EAR, and deployed it, but > got an NPE when starting MyFacesWebAppContext gbean. This is related with > code line in MyFacesModuleBuilderExtension > > *AbstractName myFacesWebAppContextName = > moduleContext.getNaming().createChildName(moduleName, > "myFacesWebAppContext", "MyFacesWebAppContext");* > * > * > > In an EAR, ModuleContext abstract name is like: > > org.apache.geronimo.daytrader/daytrader/ > 3.0.0.0/car?j2eeType=J2EEApplication,name=org.apache.geronimo.daytrader/daytrader/3.0.0.0/car > > The result won't contain "WebModule" > > But in an WAR is like > > com.apache.geronimo.samples/jsf/3.0.0.0/car?J2EEApplication=null,* > WebModule=com.apache.geronimo.samples/jsf/3.0.0.0/car # **contaning > WebModule* > > The result contains "WebModule" > > After constructing MyFacesWebAppContext GBean, and start it as below, > > *public String getWebModuleName(){* > * return abName.getNameProperty(NameFactory.WEB_MODULE); **# > **NameFactory.WEB_MODULE > value is "WebModule"* > * }* > * > * > * @Override* > * public void doStart() throws Exception {* > * MYFACES_WEBAPP_CONTEXTS.put(getWebModuleName(), this);* > * }* > > > trying to find a *WebModule* string in its abstract name, but if jsf web > app is in an ear, its abstractname doesn't contain *WebModule*, coz of its > parent is an EAR, whose abstract name doesn't include WebModule. This code > only work when jsf web app is standalone. > > What i think is change MyFacesWebAppContext mapping way or change > myfaceswebappcontext abstractname generation way,not sure which is better. > > Appreciate if somebody can shadow some lights on it. > > -- > viola > > Apache Geronimo > > -- Ivan