Hello,

I am trying to track down a very obscure issue in GAE/J.  I have my own 
custom ForEachTag that I've written that extends from JSTL 
1.2's org.apache.taglibs.standard.tag.rt.core.ForEachTag.  Obviously, in 
order to compile my app, I need to compile with the jstl-1.2.jar. 
 Compilation and execution in my local GAE dev environment works just fine. 
 I've noticed, however, that when I deploy to GAE/J, I get 
a  java.lang.NoSuchFieldError: deferredExpression during the call to 
release() at:

at 
org.apache.taglibs.standard.tag.common.core.ForEachSupport.release(ForEachSupport.java:178)

I've found that the only way to work around this issue is to exclude the 
jstl-1.2.jar from my exploded/WEB-INF/lib directory before deploying to GAE. 
 Based on my reading, it seems that Jetty possibly includes JSTL 1.2 bundled 
in its libs?  This particular deferredExpression issue seems to happen to 
people when there are multiple, conflicting JSTL libraries in the classpath.

I have found one other very confusing element to this situation.  I have a 
second version of my web application currently deployed to GAE/J.  It works 
just fine, even when executing the identical JSP!  Only one of my two apps 
has this particular issue.

My question is two-fold:

1) Are there environmental differences between different app instances on 
GAE/J?  Is it possible that some apps use one servlet container while other 
apps use a different servlet container?  If Jetty is the culprit, are there 
others running perhaps Tomcat, which is why the issue only affects one, but 
not both of my apps?

2) How can I fix this issue? :)  Ideally, I should be able to deploy my 
webapp with the jstl-1.2.jar included.  In order to deploy without it, I 
have to manually remove it from the WEB-INF/lib directory prior to 
deployment.  I really don't think this should be necessary (especially 
considering that it actually does work on a separate app).  Really hoping 
there is a good solution here without needing to impact my current 
deployment procedure (which is basically just a build & deploy via IntelliJ 
IDEA).

Anecdotal site point relating to question #1: I have found that some app 
instances I have are particularly slow, even with "Always On" enabled.  Is 
this possibly an artifact of different environments/servlet containers 
between apps?  Is there any way to configure this behavior?

If I could get some more background on the environment(s) used in GAE/J, 
perhaps it would help me understand this problem better and have a better 
idea of how to solve it.

Thanks in advance for any assistance you can provide!!

Brian

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to