On May 2, 2012, at 2:00 AM, Romain Manni-Bucau wrote: > Hi, > > currently we use ServerListener which is in tomee-catalina to start openejb > in tomee. > > why isnt it in the loader to let it be used as before (adding the loader in > tomcat/lib and the tomee webapp in webapps)? > > why org.apache.tomee.installer.Installer#installAll is still used and not > replaced by installFull? = why don't we delete OpenEJBListener? > > Any hidden trick?
Both listeners don't do much other than call TomcatLoader which is what really boots the integration. The OpenEJBListener is still used by the webapp and requires webapps/tomee/lib/ to exist, adds those libs to the StandardClassLoader, then uses reflection to call TomcatLoader. It can't call it directly as TomcatLoader requires all the openejb-* and tomee-* jars and their dependencies. The whole point is that it adds those jars, then calls the TomcatLoader. The ServerListener just calls the TomcatLoader directly. As it has a direct dependency on TomcatLoader, it's in the same jar as TomcatLoader. If we want to eliminate the tomee.war we could eliminate OpenEJBListener. -David
