[jboss-user] [Installation, Configuration & DEPLOYMENT] - redeployable webapp strategy

bdamato do-not-reply at jboss.com
Mon Jul 20 11:43:02 EDT 2009


I am trying to determine the best strategy for packaging up and deploying code for my environment. I'm running JBoss 5.1 in windows, linux and solaris, using JDK1.6.x both 32 bit and 64 bit.

I have about 15-20 "third party" jars (like apache commons stuff), 5-10 custom developed jars (services, pojos and such) , and about 40 different webapps that, at some level, rely on the third party jars and our custom jars. Ideally, I would like to be able to deploy/redeploy each the webapps independently without causing a reload of all 40 webapps. I've done quite a bit of prototyping and searching and can't really find a good approach. My current set up is a single ear for the third party jars and a single ear for my custom jars. I had a requirement that both ears were able to see classes in each other and I've found that I can do that by by adding something like


  |         <loader-repository>
  |                 com.mycorp:loader=MyLoader
  |         </loader-repository>
  | 

to the jboss-app.xml for each ear.

I experimented a bit with embedding each webapp into its own ear with the same load-repository setting. That mostly worked, except if I redeployed my custom or third party .ear.  Redeploying those ears gave me different varieties of this exception:


  | org.apache.jasper.JasperException: java.lang.IllegalStateException: BaseClassLoader at 2a81df82{vfsfile:/app/jboss-5.1.0.GA/server/local/deploy/local/local.ear/} classLoader is not connected to a domain (probably undeployed?) for class java.io.PrintWriter
  | 
  | org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)
  | org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:405)
  | 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
  | 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
  | 	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  | org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
  | root cause
  | 
  | java.lang.IllegalStateException: BaseClassLoader at 2a81df82{vfsfile:/app/jboss-5.1.0.GA/server/local/deploy/local/local.ear/} classLoader is not connected to a domain (probably undeployed?) for class java.io.PrintWriter
  | org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:793)
  | org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)
  | 	java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  | 	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  | org.apache.commons.lang.exception.NestableDelegate.printStackTrace(NestableDelegate.java:292)
  | org.apache.commons.lang.exception.NestableDelegate.printStackTrace(NestableDelegate.java:280)
  | org.apache.commons.lang.exception.NestableRuntimeException.printStackTrace(NestableRuntimeException.java:179)
  | 	org.apache.jsp.index_jsp._jspService(index_jsp.java:83)
  | 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
  | 	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  | org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
  | 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
  | 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
  | 	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  | org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 

Does anyone have any recommendations for how to achieve my basic goal of being able to hot deploy web apps and ears where the webapps are dependent on the ears? I wouldn't mind a solution that triggered a redeploy of all the webapps if one of my core ears was redeployed, but I want to avoid a redeploy of everything if I just change a single webapp.

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244702#4244702

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4244702



More information about the jboss-user mailing list