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