It doesn't look like the servlet specification defines this:

http://download.oracle.com/otndocs/jcp/servlet-3.0-public-oth-JSpec/

The servlet specification defines: "/*" and "*.somesuffix". You might just
have to write a servlet that routes as necessary based on the URL path.

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Sat, Oct 29, 2011 at 3:31 AM, Eliot Stock <[email protected]> wrote:

> Hi there,
>
> Until recently I had a happily working app with one mail handler and
> Spring MVC configured in web.xml as follows:
>
> <servlet-mapping>
>  <servlet-name>imageMailHandler</servlet-name>
> <url-pattern>/_ah/mail/*</url-pattern>
>  </servlet-mapping>
> <servlet-mapping>
>  <servlet-name>springMvc</servlet-name>
> <url-pattern>/</url-pattern>
>  </servlet-mapping>
>
> Today I added a second mail handler, so I had to make the url pattern for
> both mail handlers more specific:
>
> <servlet-mapping>
>  <servlet-name>yahooGroupsMailHandler</servlet-name>
> <url-pattern>/_ah/mail/yg*</url-pattern>
>  </servlet-mapping>
> <servlet-mapping>
>  <servlet-name>imageMailHandler</servlet-name>
>  <url-pattern>/_ah/mail/image*</url-pattern>
> </servlet-mapping>
>  <servlet-mapping>
> <servlet-name>springMvc</servlet-name>
>  <url-pattern>/</url-pattern>
> </servlet-mapping>
>
> Now what's happening is that the mail requests are being given to the
> Spring MVC servlet. The mail handler URL pattern is not matching. The mail
> is being sent to:
>
> image@[APP ID].appspotmail.com
> yg@[APP ID].appspotmail.com
>
> Both addresses bounce and I get the following in my logs, which indicates
> the request is going through to Spring:
>
>
>    1. 2011-10-29 11:18:42.541 /_ah/mail/image@[APP ID].appspotmail.com 404
>     6153ms 311cpu_ms 195api_cpu_ms 3kb
>
>    0.1.0.20 - - [29/Oct/2011:03:18:42 -0700] "POST /_ah/mail/image@[APP 
> ID].appspotmail.com HTTP/1.1" 404 3288 - - "[APP ID].appspot.com" ms=6154 
> cpu_ms=312 api_cpu_ms=195 cpm_usd=0.009177 
> instance=00c61b117c977250f313d9fed8db23d827d0
>
>    2. I2011-10-29 11:18:36.398
>
>    [s~dev-gb-recyc-org/5.354303509951850075].<stdout>: 10:18:36,398 WARN  
> [org.springframework.web.servlet.PageNotFound] - No mapping found for HTTP 
> request with URI [/_ah/mail/image@[APP ID].appspotmail.com] in 
> DispatcherServlet with name 'springMvc'
>
>
>
> I've also tried making the mappings a bit more specific, but to no avail:
>
>  <servlet-mapping>
>  <servlet-name>yahooGroupsMailHandler</servlet-name>
>  <url-pattern>/_ah/mail/yg@*</url-pattern>
>  </servlet-mapping>
>  <servlet-mapping>
> <servlet-name>imageMailHandler</servlet-name>
>  <url-pattern>/_ah/mail/image@*</url-pattern>
>  </servlet-mapping>
>  <servlet-mapping>
> <servlet-name>springMvc</servlet-name>
>  <url-pattern>/</url-pattern>
>  </servlet-mapping>
>
> I'm loath to put the whole email address in there including app ID,
> because I have multiple environments and it'd be a manual step at
> deployment to edit the app ID every time I deploy. Any help greatly
> appreciated.
>
> Cheers,
>
> Eliot.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine-java/-/9VZubzwmd9QJ.
> 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.
>

-- 
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