Hello

I am developing some application written in GWT on App Engine. I'm on
optimalization stage,
so i want to allow browsers to cache as much of static files as
possible.

If I don't put any static files in appengine-web.xml directly, App
Engine threat all files in
"war" directory as static files (except WEB-INF directory) and when I
deploy my application
I have about 450 of them.

I read (http://code.google.com/p/googleappengine/issues/detail?
id=1662) that App Engine sets default
cache expiration time to 10 minutes (which is too short).

So, if I want to set different time I need to define all my static
files in appengine-web.xml
(because if I define even one static file, App Engine abandon his
default behavior, and don't
look automatically for other static files) and set my expiration time
for them in "expiration" attribiute.

And then we come to my problem. When I put all my static files in
appengine-web.xml for example like this:

<static-files>
        <include path="/**.cache.*" expiration="3000d"/>
        <include path="/**.png" expiration="30d"/>
        <include path="/**.gif" expiration="30d"/>
        <include path="/**.jpg" expiration="30d"/>
        <include path="/**.css" expiration="30d"/>
        <include path="/**.html" expiration="30d"/>
</static-files>

on deploy I have error:

Unable to update app: Error posting to URL:xxx
400 Bad Request
Error when loading application configuration:
Invalid object:
Found more than 100 URLMap entries in application configuration


See the deployment console for more details

As I understand App Engine maps every of my defined static files to
URL's, and it exceeds some
limits (http://code.google.com/p/googleappengine/issues/detail?
id=1444), but why was that
working when I didn't specify static files in appengine-web.xml? App
Engine choosed even more static
files then (all from "war" directory).

GWT generates many static files for its own (many js files, that can
be cached forever),
and if you use runAsync code splitting, there are even more of them.
It's essential in GWT to allow
cache this files, because that's what GWT is! If they are downloaded
every time when user requests
page, it doesn't have sense (at least in performance meaning).

I assume that App Engine and GWT combination has strong support from
Google
(Eclipse plugin for example makes developing with them so easy), so I
think that there have to
be some solution.

Is there any workaround for it? I just want to set cache expiration
time for my static files.

Marcin

--

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 google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.


Reply via email to