thanks Eric, I will take a look tonight. musachy
On Tue, Nov 10, 2009 at 7:13 AM, Obinna <obi...@gmail.com> wrote: > Hi Musachy, > > There's another classloading conflict issue with the embedded jsp plugin. > This one has to do with the ELContextImpl. > > Loading an embedded jsp page that uses EL and then trying to load a normal > page that uses EL throws: > > java.lang.ClassCastException: > org.apache.struts2.jasper.el.ELContextImpl cannot be cast to > org.apache.jasper.el.ELContextImpl > at > org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:920) > > Again, the embedded jsp page seems to cache it's version of the > ELContextImpl ( ion PageContextImpl.proprietaryEvaluate) which tomcat then > tries to cast to it's own version. > > It looks like I could simply stop PageContextImpl from storing it's > generated EL context by modifying the getELContext() method, but I'm > guessing on a page/application with a lot of expressions that could hurt > quite a bit. > > - Eric > > > > On Tue, Oct 20, 2009 at 9:46 PM, Obinna <obi...@gmail.com> wrote: > >> Tested it and it works for me! >> Great! Thanks a million. >> >> - Eric >> >> On Tue, Oct 20, 2009 at 9:13 PM, Musachy Barroso <musa...@gmail.com>wrote: >> >>> small fix to JspApplicationContextImpl seems to make it work for >>> me(add the hash of the classloader to the key), give it a try and let >>> me know (update from trunk) >>> >>> musachy >>> >>> On Tue, Oct 20, 2009 at 11:00 AM, Musachy Barroso <musa...@gmail.com> >>> wrote: >>> > ok I was able to reproduce it, working on it (looks hairy) >>> > >>> > musachy >>> > >>> > On Tue, Oct 20, 2009 at 7:01 AM, Obinna <obi...@gmail.com> wrote: >>> >> Ok, So I've been able to inspect the classloaders and I think I see >>> what's >>> >> going wrong (though I'm not sure how best to fix it). >>> >> >>> >> Given my two webapps, AppA and AppB running simulatenously in tomcat. I >>> do >>> >> the following: >>> >> >>> >> 1. Load AppA >>> >> a. Load normal jsp page (breakpoint not caught -> still using >>> tomcat >>> >> default JspFactory) >>> >> b. Load an embeddedJSP page >>> >> i. Breakpoint caught at static initializer in >>> JSPRuntimeContext >>> >> (line 96) {calling JspFactory.setDefaultFactory(factory); to >>> initialize >>> >> JspFactory implementation} >>> >> - JSPFactory classloader is StandardClassLoader (good) >>> >> - JspFactoryImpl classloader is AppA WebAppClassloader >>> (good) >>> >> ii. Breakpoint caught at JSPApplicationContextImpl (line 79) >>> >> {calling impl = new JspApplicationContextImpl() to initialize new >>> servlet >>> >> context} >>> >> - JspFactoryImpl classloader is AppA WebAppClassloader >>> (good) >>> >> - JSPApplicationContextImpl classloader is AppA >>> >> WebAppClassloader (good) >>> >> >>> >> 2. Load AppB >>> >> a. Load normal jsp page >>> >> i. Breakpoint caught at JSPApplicationContextImpl (line 79) >>> >> {calling impl = new JspApplicationContextImpl() to initialize new >>> servlet >>> >> context}. This means that is is still using the JspFactoryImpl set in >>> step >>> >> 1.b.i above >>> >> - JspFactoryImpl classloader is AppA WebAppClassloader >>> >> (bad!!! using class loaded in AppA classloader) !!!!! >>> >> - JSPApplicationContextImpl classloader is AppA >>> >> WebAppClassloader (bad!!! using class loaded in AppA classloader) >>> !!!!! >>> >> b. Load embedded jsp page >>> >> JSPApplicationContextImpl (line 76) tries to call { >>> >> JspApplicationContextImpl impl = (JspApplicationContextImpl) >>> >> context.getAttribute(KEY); } and throws ClassCastException because >>> impl >>> >> class returned by context.getAttribute(KEY) was loaded by >>> >> AppAWebAppClassLoader but current class (JspApplicationContextImpl) >>> class >>> >> loader is now AppB WebAppClassLoader. >>> >> >>> >> It is as I suspected in my last email. I don't think that the >>> JspFactoryImpl >>> >> class set by JspFactory.setDefaultFactory(factory) when AppA was loaded >>> >> should be the one used by AppB. Somehow the JspFactoryImpl used should >>> >> probably be isolated by web application and if possible should only be >>> used >>> >> by the embeddedJSP compiler (not used globally for normal jsps as well) >>> >> >>> >> - Eric >>> >> >>> >> >>> >> >>> >> On Tue, Oct 20, 2009 at 2:41 PM, Martin Gainty <mgai...@hotmail.com> >>> wrote: >>> >> >>> >>> >>> >>> Eric- >>> >>> are you able to determine which classloader JspApplicationContext is >>> using >>> >>> to load JspApplicationContextImpl class? >>> >>> System.out.println("The class of " + JspApplicationContextImpl >>> + >>> >>> " is " + >>> >>> JspApplicationContextImpl.getClass().getName()); >>> >>> System.out.println("The classLoader of " + >>> >>> JspApplicationContextImpl + >>> >>> " is " + >>> >>> JspApplicationContextImpl.getClass().getClassloader()); >>> >>> >>> >>> were you able to verify the Jsp configuration entries in >>> >>> $CATALINA_HOME/conf >>> >>> <servlet> >>> >>> <servlet-name>jsp</servlet-name> >>> >>> >>> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> >>> >>> <load-on-startup>3</load-on-startup> >>> >>> </servlet> >>> >>> what is meant by term 'embedded' ..can i assume you are implementing >>> APR >>> >>> (apache portable runtime)? >>> >>> >>> >>> thanks for taking the time to look at this, >>> >>> Martin Gainty >>> >>> ______________________________________________ >>> >>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de >>> confidentialité >>> >>> >>> >>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene >>> >>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede >>> unbefugte >>> >>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese >>> Nachricht >>> >>> dient lediglich dem Austausch von Informationen und entfaltet keine >>> >>> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit >>> von >>> >>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. >>> >>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes >>> pas le >>> >>> destinataire prévu, nous te demandons avec bonté que pour satisfaire >>> >>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la >>> copie >>> >>> de ceci est interdite. Ce message sert à l'information seulement et >>> n'aura >>> >>> pas n'importe quel effet légalement obligatoire. Étant donné que les >>> email >>> >>> peuvent facilement être sujets à la manipulation, nous ne pouvons >>> accepter >>> >>> aucune responsabilité pour le contenu fourni. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> > Date: Tue, 20 Oct 2009 14:14:55 +0300 >>> >>> > Subject: Re: embeddedJsp plugin causing jsp compilation issues >>> >>> > From: obi...@gmail.com >>> >>> > To: dev@struts.apache.org >>> >>> > >>> >>> > An update... >>> >>> > >>> >>> > I've tried setting a breakpoint in the >>> >>> > JspApplicationContextImpl.getInstance() method and the >>> >>> > JspFactoryImpl().getJspApplicationContext() methods but for some >>> reason >>> >>> > cannot inspect the variable at that point to figure out which >>> classloader >>> >>> > are being called when. >>> >>> > >>> >>> > What is clear is that once an embeddedJsp is loaded, the default >>> >>> JspFactory >>> >>> > for ALL jsp pages (even non-embedded ones) becomes the >>> >>> > org.apache.struts2.jasper.runtime.JspFactoryImpl (even for a >>> separate >>> >>> > web-app!) because loading subsequent non-embedded pages for the >>> first >>> >>> time >>> >>> > (in either web-app) still hits and break in the >>> >>> > JspApplicationContextImpl.getInstance() method. It seems like using >>> the >>> >>> > embeddedJsp calls JspFactory().setDefaultFactory() or something and >>> that >>> >>> > this has a system-wide scope. >>> >>> > >>> >>> > I don't suppose that this would be a problem if it wasn't for some >>> >>> > classloader mix-up which means that when I then try to access an >>> >>> embeddedJsp >>> >>> > page in the second web-app, in the >>> >>> JspApplicationContextImpl.getInstance() >>> >>> > method it finds the JspApplicationContextImpl instance that was set >>> >>> during >>> >>> > the loading of some initial pages (such as login page) in this >>> second app >>> >>> > but it seems that that must have been set by a different classloader >>> >>> because >>> >>> > the class cast fails when it tries to cast that instance (on the >>> line >>> >>> > JspApplicationContextImpl impl = (JspApplicationContextImpl) >>> >>> > context.getAttribute(KEY)). >>> >>> > >>> >>> > I will continue to try to figure out how to inspect the variables >>> (and >>> >>> see >>> >>> > the classloaders) in my IDE... >>> >>> > >>> >>> > - Eric >>> >>> > >>> >>> > >>> >>> > >>> >>> > On Sat, Oct 17, 2009 at 9:12 PM, Musachy Barroso <musa...@gmail.com >>> > >>> >>> wrote: >>> >>> > >>> >>> > > nothing so obvious, JspApplicationContextImpl is obviously getting >>> >>> > > loaded by different classloaders, but I am out of ideas, I think >>> you >>> >>> > > can set a break point for classloading right? Try to do that and >>> see >>> >>> > > if you get any insight. >>> >>> > > >>> >>> > > musachy >>> >>> > > >>> >>> > > On Sat, Oct 17, 2009 at 2:57 AM, Obinna <obi...@gmail.com> wrote: >>> >>> > > > I have a ton of jars in my lib (but no el-api). The lib for that >>> >>> projects >>> >>> > > > looks as follows (both projects have similar libs): >>> >>> > > > >>> >>> > > > asterisk-java-1.0.jar >>> >>> > > > cglib-nodep-2.1_3.jar >>> >>> > > > chartengineapi.jar >>> >>> > > > com.ibm.icu_4.0.1.v20090415.jar >>> >>> > > > commons-beanutils-1.7.0.jar >>> >>> > > > commons-cli-1.0.jar >>> >>> > > > commons-codec-1.3.jar >>> >>> > > > commons-collections-3.2.1.jar >>> >>> > > > commons-dbcp.jar >>> >>> > > > commons-digester-1.8.jar >>> >>> > > > commons-fileupload-1.2.1.jar >>> >>> > > > commons-httpclient-3.1.jar >>> >>> > > > commons-io-1.1.jar >>> >>> > > > commons-lang-2.4.0.jar >>> >>> > > > commons-logging.jar >>> >>> > > > commons-pool.jar >>> >>> > > > coreapi.jar >>> >>> > > > crosstabcoreapi.jar >>> >>> > > > dataadapterapi.jar >>> >>> > > > dataaggregationapi.jar >>> >>> > > > dataextraction.jar >>> >>> > > > displaytag-1.2.jar >>> >>> > > > displaytag-export-poi-1.2.jar >>> >>> > > > dteapi.jar >>> >>> > > > ecxconnect-mmp-bl.jar >>> >>> > > > emitterconfig.jar >>> >>> > > > engineapi.jar >>> >>> > > > flute.jar >>> >>> > > > *freemarker-2.3.15.jar* >>> >>> > > > gnu-hylafax-core-1.0.3.jar >>> >>> > > > gnu-hylafax-inet-ftp-1.0.3.jar >>> >>> > > > itext-1.3.jar >>> >>> > > > jasypt-1.4.1.x.jar >>> >>> > > > jaxws-spring-1.8.jar >>> >>> > > > jep-3.3.0-trial.jar >>> >>> > > > joda-time-1.6.jar >>> >>> > > > js.jar >>> >>> > > > json.jar >>> >>> > > > jsonplugin-0.33.jar >>> >>> > > > jstl.jar >>> >>> > > > junit-4.4.jar >>> >>> > > > log4j-1.2.8.jar >>> >>> > > > mail-1.4.2.jar >>> >>> > > > mmpdemo-bl.jar >>> >>> > > > modelapi.jar >>> >>> > > > modelodaapi.jar >>> >>> > > > mysql-connector-java-5.0.5-bin.jar >>> >>> > > > odadesignapi.jar >>> >>> > > > *ognl-2.7.3.jar* >>> >>> > > > org.apache.commons.codec_1.3.0.v20080530-1600.jar >>> >>> > > > org.eclipse.birt.report.model_2.5.0.v20090605.jar >>> >>> > > > org.eclipse.emf.common_2.5.0.v200906080927.jar >>> >>> > > > org.eclipse.emf.ecore_2.5.0.v200906080927.jar >>> >>> > > > org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar >>> >>> > > > org.w3c.css.sac_1.3.0.v200805290154.jar >>> >>> > > > poi-3.0.2-FINAL-20080204.jar >>> >>> > > > scriptapi.jar >>> >>> > > > spring-2.5.6.jar >>> >>> > > > spring-security-core-2.0.4.jar >>> >>> > > > spring-security-taglibs-2.0.4.jar >>> >>> > > > spring-test-2.5.6.jar >>> >>> > > > spring-webmvc-2.5.6.jar >>> >>> > > > spring-ws-1.5.2.jar >>> >>> > > > standard.jar >>> >>> > > > *struts2-core-2.1.8.jar* >>> >>> > > > *struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar >>> >>> > > > *struts2-jquery-plugin-1.0.8.jar >>> >>> > > > struts2-scope-plugin-1.0.4 (modified).jar >>> >>> > > > *struts2-spring-plugin-2.1.8.jar* >>> >>> > > > tidy.jar >>> >>> > > > trilead-ssh2-build213.jar >>> >>> > > > webservices-api.jar >>> >>> > > > webservices-rt.jar >>> >>> > > > xbean-spring-3.1.jar >>> >>> > > > *xwork-core-2.1.6.jar* >>> >>> > > > >>> >>> > > > I haven't tried testing this on another 'trimmed down' project. >>> Let >>> >>> me >>> >>> > > know >>> >>> > > > if anything is glaringly obvious here, otherwise, I'll try the >>> >>> > > trimming-down >>> >>> > > > >>> >>> > > > Thanks for looking through this! >>> >>> > > > - Eric >>> >>> > > > >>> >>> > > > >>> >>> > > > On Sat, Oct 17, 2009 at 2:52 AM, Musachy Barroso < >>> musa...@gmail.com> >>> >>> > > wrote: >>> >>> > > > >>> >>> > > >> nvm. el-api.jar should not be in lib, after removing them I >>> have to >>> >>> > > >> webapps with jsp plugin working. Can you compare your jars to: >>> >>> > > >> >>> >>> > > >> commons-el-1.0.jar >>> >>> > > >> commons-fileupload-1.2.1.jar >>> >>> > > >> commons-io-1.3.2.jar >>> >>> > > >> commons-logging-1.1.1.jar >>> >>> > > >> freemarker-2.3.15.jar >>> >>> > > >> ognl-2.7.3.jar >>> >>> > > >> struts2-core-2.1.9-SNAPSHOT.jar >>> >>> > > >> struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar >>> >>> > > >> xwork-core-2.1.7-SNAPSHOT.jar >>> >>> > > >> >>> >>> > > >> and tell me the exact steps after you load the app, to >>> reproduce the >>> >>> > > error? >>> >>> > > >> >>> >>> > > >> thanks for helping me test this btw :) >>> >>> > > >> musachy >>> >>> > > >> >>> >>> > > >> On Fri, Oct 16, 2009 at 4:49 PM, Musachy Barroso < >>> musa...@gmail.com >>> >>> > >>> >>> > > >> wrote: >>> >>> > > >> > I am getting a different error: >>> >>> > > >> > >>> >>> > > >> > javax.servlet.ServletException: java.lang.LinkageError: Class >>> >>> > > >> > javax/el/ExpressionFactory violates loader constraints >>> >>> > > >> > >>> >>> > > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275) >>> >>> > > >> > >>> >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>> >>> > > >> > >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154) >>> >>> > > >> > >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) >>> >>> > > >> > >>> >>> > > >> >>> >>> > > >>> >>> >>> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362) >>> >>> > > >> > >>> >>> > > >> >>> >>> > > >>> >>> >>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266) >>> >>> > > >> > >>> >>> > > >> >>> >>> > > >>> >>> >>> com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165) >>> >>> > > >> > >>> >>> > > >> > which looks even more weird. Here are the jars I have in >>> >>> web-inf/lib: >>> >>> > > >> > >>> >>> > > >> > commons-el-1.0.jar >>> >>> > > >> > commons-fileupload-1.2.1.jar >>> >>> > > >> > commons-io-1.3.2.jar >>> >>> > > >> > commons-logging-1.1.1.jar >>> >>> > > >> > el-api-6.0.18.jar >>> >>> > > >> > freemarker-2.3.15.jar >>> >>> > > >> > ognl-2.7.3.jar >>> >>> > > >> > struts2-core-2.1.9-SNAPSHOT.jar >>> >>> > > >> > struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar >>> >>> > > >> > testjar-1.0.jar >>> >>> > > >> > xwork-core-2.1.7-SNAPSHOT.jar >>> >>> > > >> > >>> >>> > > >> > That's on a default installation of tomcat 6.0.20. Can you >>> compare >>> >>> > > >> > that to your jars? >>> >>> > > >> > >>> >>> > > >> > musachy >>> >>> > > >> > >>> >>> > > >> > On Thu, Oct 15, 2009 at 8:57 AM, Musachy Barroso < >>> >>> musa...@gmail.com> >>> >>> > > >> wrote: >>> >>> > > >> >> pretty consistent :), I will try to take a look. >>> >>> > > >> >> >>> >>> > > >> >> musachy >>> >>> > > >> >> >>> >>> > > >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <obi...@gmail.com> >>> >>> wrote: >>> >>> > > >> >>> No I don't have any unusual jars in my shared lib (learnt >>> my >>> >>> lesson >>> >>> > > >> last >>> >>> > > >> >>> time :| - I have some jax-ws web-service api stuff in >>> endorsed >>> >>> but >>> >>> > > >> that's >>> >>> > > >> >>> all). >>> >>> > > >> >>> >>> >>> > > >> >>> Placing the plugin jar in the shared dir ('lib' for Tomcat >>> 6) >>> >>> > > results >>> >>> > > >> in >>> >>> > > >> >>> struts not being able to find the plugin config file and >>> >>> throwing >>> >>> > > the >>> >>> > > >> error: >>> >>> > > >> >>> "There is no result type defined for type 'embeddedJsp'..." >>> >>> > > >> >>> >>> >>> > > >> >>> Given this, it is somewhat strange that, placing it in the >>> >>> web-app >>> >>> > > libs >>> >>> > > >> *as >>> >>> > > >> >>> well as *the tomcat lib results in struts trying to load >>> the >>> >>> trying >>> >>> > > to >>> >>> > > >> load >>> >>> > > >> >>> the plugin config file twice and throwing the error during >>> >>> startup: >>> >>> > > >> >>> >>> >>> > > >> >>> The package name 'embeddedjsp-default' at location package >>> - >>> >>> > > >> >>> >>> >>> > > >> >>> >>> > > >>> >>> >>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/wtpwebapps/test/WEB-INF/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82 >>> >>> > > >> >>> is already been used by another package at location package >>> - >>> >>> > > >> >>> >>> >>> > > >> >>> >>> > > >>> >>> >>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82 >>> >>> > > >> >>> .... >>> >>> > > >> >>> >>> >>> > > >> >>> Thanks, >>> >>> > > >> >>> - Eric >>> >>> > > >> >>> >>> >>> > > >> >>> >>> >>> > > >> >>> >>> >>> > > >> >>> >>> >>> > > >> >>> On Thu, Oct 15, 2009 at 5:59 PM, Musachy Barroso < >>> >>> musa...@gmail.com >>> >>> > > > >>> >>> > > >> wrote: >>> >>> > > >> >>> >>> >>> > > >> >>>> just for kicks, put the embeddedjsp plugin in the shared >>> dir, >>> >>> and >>> >>> > > see >>> >>> > > >> >>>> if it works. >>> >>> > > >> >>>> >>> >>> > > >> >>>> On Thu, Oct 15, 2009 at 7:58 AM, Musachy Barroso < >>> >>> > > musa...@gmail.com> >>> >>> > > >> >>>> wrote: >>> >>> > > >> >>>> > yeah that is kind of strange. do you have any of the >>> struts, >>> >>> or >>> >>> > > your >>> >>> > > >> >>>> > jars in the tomcat shared dir? even in that case it >>> should >>> >>> not >>> >>> > > >> matter. >>> >>> > > >> >>>> > >>> >>> > > >> >>>> > musachy >>> >>> > > >> >>>> > >>> >>> > > >> >>>> > On Thu, Oct 15, 2009 at 1:10 AM, Obinna < >>> obi...@gmail.com> >>> >>> > > wrote: >>> >>> > > >> >>>> >> There's another classloading issue with the embeddedJsp >>> >>> plugin. >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> When deploying multiple webapps on the same tomcat >>> server, >>> >>> both >>> >>> > > of >>> >>> > > >> which >>> >>> > > >> >>>> >> utilize the embeddedJsp plugin. After loading embeddJsp >>> >>> pages in >>> >>> > > on >>> >>> > > >> web >>> >>> > > >> >>>> app, >>> >>> > > >> >>>> >> attempting to load any embeddedJsp pages in the second >>> >>> webapp >>> >>> > > >> throws the >>> >>> > > >> >>>> >> following exception: >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> java.lang.ClassCastException: >>> >>> > > >> >>>> >> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl >>> >>> > > cannot >>> >>> > > >> be >>> >>> > > >> >>>> cast >>> >>> > > >> >>>> >> to >>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76) >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200) >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.jsp.com.test.service.reporting.jsp.alert_jsp._jspInit(alert_jsp.java >>> >>> > > >> >>>> >> from :31) >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> >>> org.apache.struts2.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) >>> >>> > > >> >>>> >> >>> >>> > > org.apache.struts2.JSPLoader.createServlet(JSPLoader.java:112) >>> >>> > > >> >>>> >> org.apache.struts2.JSPLoader.load(JSPLoader.java:90) >>> >>> > > >> >>>> >> >>> >>> org.apache.struts2.ServletCache$1.call(ServletCache.java:46) >>> >>> > > >> >>>> >> >>> >>> org.apache.struts2.ServletCache$1.call(ServletCache.java:44) >>> >>> > > >> >>>> >> >>> >>> > > >> >>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >>> >>> > > >> >>>> >> >>> java.util.concurrent.FutureTask.run(FutureTask.java:138) >>> >>> > > >> >>>> >> >>> org.apache.struts2.ServletCache.get(ServletCache.java:53) >>> >>> > > >> >>>> >> >>> org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:63) >>> >>> > > >> >>>> >> >>> org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:45) >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.EmbeddedJSPResult.doExecute(EmbeddedJSPResult.java:32) >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186). >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> which is strange as i would have expected the >>> >>> > > >> JspApplicationContextImpl >>> >>> > > >> >>>> to >>> >>> > > >> >>>> >> be loaded and isolated by each web-application class >>> loader. >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> Also, subsequent attempts to load non-embedded jsp page >>> then >>> >>> > > throw: >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl >>> >>> > > cannot >>> >>> > > >> be >>> >>> > > >> >>>> cast >>> >>> > > >> >>>> >> to >>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl >>> >>> > > >> >>>> >> at >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76) >>> >>> > > >> >>>> >> at >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> > > >>> >>> >>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200) >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> - Eric >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >> On Mon, Sep 28, 2009 at 11:05 AM, Obinna < >>> obi...@gmail.com> >>> >>> > > wrote: >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> >>> Tested and work well. Couldn't resolve >>> >>> > > struts2-core.2.1.9-Snapshot >>> >>> > > >> >>>> maven >>> >>> > > >> >>>> >>> dependency so I used 2.1.8 though. >>> >>> > > >> >>>> >>> Closed jira ticket. >>> >>> > > >> >>>> >>> Thanks again!! I hope everyone realizes how >>> >>> > > significant/powerful >>> >>> > > >> a >>> >>> > > >> >>>> plugin >>> >>> > > >> >>>> >>> this is. >>> >>> > > >> >>>> >>> >>> >>> > > >> >>>> >>> - Eric >>> >>> > > >> >>>> >>> >>> >>> > > >> >>>> >>> >>> >>> > > >> >>>> >>> >>> >>> > > >> >>>> >>> On Mon, Sep 28, 2009 at 9:07 AM, Musachy Barroso < >>> >>> > > >> musa...@gmail.com >>> >>> > > >> >>>> >wrote: >>> >>> > > >> >>>> >>> >>> >>> > > >> >>>> >>>> I should have done it with jasper 6 since the >>> beginning, >>> >>> but >>> >>> > > it >>> >>> > > >> seemed >>> >>> > > >> >>>> >>>> more difficult and my laziness took the best of me :) >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>>> >>>> musachy >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>>> >>>> On Sun, Sep 27, 2009 at 10:12 PM, Obinna < >>> >>> obi...@gmail.com> >>> >>> > > >> wrote: >>> >>> > > >> >>>> >>>> > Great!. Musachy, thanks a million for doing this so >>> >>> quickly. >>> >>> > > >> I'll >>> >>> > > >> >>>> give >>> >>> > > >> >>>> >>>> it a >>> >>> > > >> >>>> >>>> > test anon >>> >>> > > >> >>>> >>>> > >>> >>> > > >> >>>> >>>> > >>> >>> > > >> >>>> >>>> > On Mon, Sep 28, 2009 at 6:18 AM, Martin Gainty < >>> >>> > > >> mgai...@hotmail.com >>> >>> > > >> >>>> > >>> >>> > > >> >>>> >>>> wrote: >>> >>> > > >> >>>> >>>> > >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>>> >>>> >> thanks for the headsup.. 2.1.8 builds now.. >>> >>> > > >> >>>> >>>> >> I had wrong version of commons-collections >>> ListUtils >>> >>> not >>> >>> > > >> having >>> >>> > > >> >>>> >>>> >> isEqualList(collection,collection) >>> >>> > > >> >>>> >>>> >> <dependency> >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> <groupId>org.apache.commons.collections</groupId> >>> >>> > > >> >>>> >>>> >> >>> >>> <artifactId>commons-collections</artifactId> >>> >>> > > >> >>>> >>>> >> <version>3.2.1</version> >>> >>> > > >> >>>> >>>> >> </dependency> >>> >>> > > >> >>>> >>>> >> pulls correct version >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>>> >>>> >> seeing some failures in surefire..(too many to >>> count on >>> >>> one >>> >>> > > >> hand >>> >>> > > >> >>>> will >>> >>> > > >> >>>> >>>> take >>> >>> > > >> >>>> >>>> >> a look tommorrow) >>> >>> > > >> >>>> >>>> >> thanks, >>> >>> > > >> >>>> >>>> >> Martin Gainty >>> >>> > > >> >>>> >>>> >> ______________________________________________ >>> >>> > > >> >>>> >>>> >> Standard Caveats apply >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>>> >>>> >> > Date: Sun, 27 Sep 2009 19:00:12 -0700 >>> >>> > > >> >>>> >>>> >> > Subject: Re: embeddedJsp plugin causing jsp >>> >>> compilation >>> >>> > > >> issues >>> >>> > > >> >>>> >>>> >> > From: musa...@gmail.com >>> >>> > > >> >>>> >>>> >> > To: dev@struts.apache.org >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > a'right. The code is in trunk. To use the plugin >>> with >>> >>> > > >> tomcat, >>> >>> > > >> >>>> just >>> >>> > > >> >>>> >>>> >> > build it and deploy it as usual. It works with >>> Jetty >>> >>> 7+, >>> >>> > > >> which >>> >>> > > >> >>>> needs >>> >>> > > >> >>>> >>>> >> > the tomcat deps added to the application, adding >>> this >>> >>> to >>> >>> > > >> your pom >>> >>> > > >> >>>> >>>> will >>> >>> > > >> >>>> >>>> >> > take care of it: >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > <dependency> >>> >>> > > >> >>>> >>>> >> > <groupId>org.apache.tomcat</groupId> >>> >>> > > >> >>>> >>>> >> > <artifactId>jasper</artifactId> >>> >>> > > >> >>>> >>>> >> > <version>6.0.18</version> >>> >>> > > >> >>>> >>>> >> > </dependency> >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > let me know if it works. >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > musachy >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > On Sun, Sep 27, 2009 at 6:34 PM, Musachy Barroso >>> < >>> >>> > > >> >>>> musa...@gmail.com> >>> >>> > > >> >>>> >>>> >> wrote: >>> >>> > > >> >>>> >>>> >> > > it works on tomcat but now it breaks in >>> jetty...oh >>> >>> joy. >>> >>> > > >> >>>> >>>> >> > > >>> >>> > > >> >>>> >>>> >> > > On Sun, Sep 27, 2009 at 2:35 PM, Musachy >>> Barroso < >>> >>> > > >> >>>> >>>> musa...@gmail.com> >>> >>> > > >> >>>> >>>> >> wrote: >>> >>> > > >> >>>> >>>> >> > >> ok I got jasper 6 working. I will do some >>> more >>> >>> testing >>> >>> > > >> (at >>> >>> > > >> >>>> least >>> >>> > > >> >>>> >>>> the >>> >>> > > >> >>>> >>>> >> > >> junits run fine), commit the jasper code, and >>> then >>> >>> > > commit >>> >>> > > >> my >>> >>> > > >> >>>> >>>> changes. >>> >>> > > >> >>>> >>>> >> > >> (later on) >>> >>> > > >> >>>> >>>> >> > >> >>> >>> > > >> >>>> >>>> >> > >> musachy >>> >>> > > >> >>>> >>>> >> > >> >>> >>> > > >> >>>> >>>> >> > >> On Sun, Sep 27, 2009 at 12:56 PM, Musachy >>> Barroso >>> >>> < >>> >>> > > >> >>>> >>>> musa...@gmail.com> >>> >>> > > >> >>>> >>>> >> wrote: >>> >>> > > >> >>>> >>>> >> > >>> yeah that would work if I could use it as a >>> >>> library, >>> >>> > > but >>> >>> > > >> >>>> jasper >>> >>> > > >> >>>> >>>> is >>> >>> > > >> >>>> >>>> >> not >>> >>> > > >> >>>> >>>> >> > >>> written with that in mind. I had to change a >>> >>> fairly >>> >>> > > >> amount of >>> >>> > > >> >>>> >>>> private >>> >>> > > >> >>>> >>>> >> > >>> code to get it to work. >>> >>> > > >> >>>> >>>> >> > >>> >>> >>> > > >> >>>> >>>> >> > >>> musachy >>> >>> > > >> >>>> >>>> >> > >>> >>> >>> > > >> >>>> >>>> >> > >>> On Sun, Sep 27, 2009 at 12:50 PM, Antonio >>> >>> Petrelli >>> >>> > > >> >>>> >>>> >> > >>> <antonio.petre...@gmail.com> wrote: >>> >>> > > >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso < >>> musa...@gmail.com>: >>> >>> > > >> >>>> >>>> >> > >>>>> It is a missmatch between the jsp-apis. >>> The >>> >>> > > internal >>> >>> > > >> jasper >>> >>> > > >> >>>> >>>> >> implements >>> >>> > > >> >>>> >>>> >> > >>>>> 2.0, while tomcat 6/jasper 6 implement >>> 2.1, and >>> >>> in >>> >>> > > 2.1 >>> >>> > > >> >>>> there a >>> >>> > > >> >>>> >>>> new >>> >>> > > >> >>>> >>>> >> > >>>>> method called. It is not looking good. >>> >>> > > >> >>>> >>>> >> > >>>> >>> >>> > > >> >>>> >>>> >> > >>>> You might wish to use JarJar to repackage, >>> to >>> >>> avoid >>> >>> > > >> >>>> conflicts >>> >>> > > >> >>>> >>>> like >>> >>> > > >> >>>> >>>> >> > >>>> this. Lots of people use them to avoid >>> >>> dependencies, >>> >>> > > >> like >>> >>> > > >> >>>> >>>> >> > >>>> commons-logging. >>> >>> > > >> >>>> >>>> >> > >>>> See: >>> >>> > > >> >>>> >>>> >> > >>>> >>> http://docs.atlassian.com/jarjar-maven-plugin/ >>> >>> > > >> >>>> >>>> >> > >>>> >>> >>> > > >> >>>> >>>> >> > >>>> HTH >>> >>> > > >> >>>> >>>> >> > >>>> Antonio >>> >>> > > >> >>>> >>>> >> > >>>> >>> >>> > > >> >>>> >>>> >> > >>>> >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>>> >>> >>> > > >>> --------------------------------------------------------------------- >>> >>> > > >> >>>> >>>> >> > >>>> To unsubscribe, e-mail: >>> >>> > > >> dev-unsubscr...@struts.apache.org >>> >>> > > >> >>>> >>>> >> > >>>> For additional commands, e-mail: >>> >>> > > >> dev-h...@struts.apache.org >>> >>> > > >> >>>> >>>> >> > >>>> >>> >>> > > >> >>>> >>>> >> > >>>> >>> >>> > > >> >>>> >>>> >> > >>> >>> >>> > > >> >>>> >>>> >> > >>> >>> >>> > > >> >>>> >>>> >> > >>> >>> >>> > > >> >>>> >>>> >> > >>> -- >>> >>> > > >> >>>> >>>> >> > >>> "Hey you! Would you help me to carry the >>> stone?" >>> >>> Pink >>> >>> > > >> Floyd >>> >>> > > >> >>>> >>>> >> > >>> >>> >>> > > >> >>>> >>>> >> > >> >>> >>> > > >> >>>> >>>> >> > >> >>> >>> > > >> >>>> >>>> >> > >> >>> >>> > > >> >>>> >>>> >> > >> -- >>> >>> > > >> >>>> >>>> >> > >> "Hey you! Would you help me to carry the >>> stone?" >>> >>> Pink >>> >>> > > >> Floyd >>> >>> > > >> >>>> >>>> >> > >> >>> >>> > > >> >>>> >>>> >> > > >>> >>> > > >> >>>> >>>> >> > > >>> >>> > > >> >>>> >>>> >> > > >>> >>> > > >> >>>> >>>> >> > > -- >>> >>> > > >> >>>> >>>> >> > > "Hey you! Would you help me to carry the >>> stone?" >>> >>> Pink >>> >>> > > >> Floyd >>> >>> > > >> >>>> >>>> >> > > >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > -- >>> >>> > > >> >>>> >>>> >> > "Hey you! Would you help me to carry the stone?" >>> Pink >>> >>> > > Floyd >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>> >>> > > >>> --------------------------------------------------------------------- >>> >>> > > >> >>>> >>>> >> > To unsubscribe, e-mail: >>> >>> > > dev-unsubscr...@struts.apache.org >>> >>> > > >> >>>> >>>> >> > For additional commands, e-mail: >>> >>> > > dev-h...@struts.apache.org >>> >>> > > >> >>>> >>>> >> > >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> >>> _________________________________________________________________ >>> >>> > > >> >>>> >>>> >> Lauren found her dream laptop. Find the PC that’s >>> right >>> >>> for >>> >>> > > >> you. >>> >>> > > >> >>>> >>>> >> >>> >>> > > >> http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290 >>> >>> > > >> >>>> >>>> > >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>>> >>>> -- >>> >>> > > >> >>>> >>>> "Hey you! Would you help me to carry the stone?" Pink >>> >>> Floyd >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>> >>> --------------------------------------------------------------------- >>> >>> > > >> >>>> >>>> To unsubscribe, e-mail: >>> dev-unsubscr...@struts.apache.org >>> >>> > > >> >>>> >>>> For additional commands, e-mail: >>> >>> dev-h...@struts.apache.org >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>>> >>>> >>> >>> > > >> >>>> >>> >>> >>> > > >> >>>> >> >>> >>> > > >> >>>> > >>> >>> > > >> >>>> > >>> >>> > > >> >>>> > >>> >>> > > >> >>>> > -- >>> >>> > > >> >>>> > "Hey you! Would you help me to carry the stone?" Pink >>> Floyd >>> >>> > > >> >>>> > >>> >>> > > >> >>>> >>> >>> > > >> >>>> >>> >>> > > >> >>>> >>> >>> > > >> >>>> -- >>> >>> > > >> >>>> "Hey you! Would you help me to carry the stone?" Pink >>> Floyd >>> >>> > > >> >>>> >>> >>> > > >> >>>> >>> >>> > > >>> --------------------------------------------------------------------- >>> >>> > > >> >>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>> >>> > > >> >>>> For additional commands, e-mail: >>> dev-h...@struts.apache.org >>> >>> > > >> >>>> >>> >>> > > >> >>>> >>> >>> > > >> >>> >>> >>> > > >> >> >>> >>> > > >> >> >>> >>> > > >> >> >>> >>> > > >> >> -- >>> >>> > > >> >> "Hey you! Would you help me to carry the stone?" Pink Floyd >>> >>> > > >> >> >>> >>> > > >> > >>> >>> > > >> > >>> >>> > > >> > >>> >>> > > >> > -- >>> >>> > > >> > "Hey you! Would you help me to carry the stone?" Pink Floyd >>> >>> > > >> > >>> >>> > > >> >>> >>> > > >> >>> >>> > > >> >>> >>> > > >> -- >>> >>> > > >> "Hey you! Would you help me to carry the stone?" Pink Floyd >>> >>> > > >> >>> >>> > > >> >>> >>> --------------------------------------------------------------------- >>> >>> > > >> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>> >>> > > >> For additional commands, e-mail: dev-h...@struts.apache.org >>> >>> > > >> >>> >>> > > >> >>> >>> > > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > -- >>> >>> > > "Hey you! Would you help me to carry the stone?" Pink Floyd >>> >>> > > >>> >>> > > >>> --------------------------------------------------------------------- >>> >>> > > To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>> >>> > > For additional commands, e-mail: dev-h...@struts.apache.org >>> >>> > > >>> >>> > > >>> >>> >>> >>> _________________________________________________________________ >>> >>> Hotmail: Free, trusted and rich email service. >>> >>> http://clk.atdmt.com/GBL/go/171222984/direct/01/ >>> >>> >>> >> >>> > >>> > >>> > >>> > -- >>> > "Hey you! Would you help me to carry the stone?" Pink Floyd >>> > >>> >>> >>> >>> -- >>> "Hey you! Would you help me to carry the stone?" Pink Floyd >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>> For additional commands, e-mail: dev-h...@struts.apache.org >>> >>> >> > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org