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:
baseclassloa...@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:
baseclassloa...@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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user