We're attempting to move from 2.3.3 (final) to 3.0.6 (final) and experiencing a few issues.  One is an apparent change to the matching algorithm - for example, we have...

public interface Resource
 SubResource get(@PathParam("id") String id);
  String open(@PathParam("id") String id);

public interface SubResource
 String close();

Previously that would work fine.  Now we get an exception / 405 code because it finds the PUT (only/instead).  If I comment out the PUT, then the DELETE gets called fine.  What is the best way to address this?

Second, a few things have been deprecated like ClientResponseFailure but I wasn't able to find much documentation on why and what we should use instead.  Where does one find information on these types of changes?

Finally, we're having some issues with our async comet-like calls now - they either return immediately or timeout and return Service Unavailable - they were working fine previously.  Interestingly, it seems to mostly work direct from a browser but when accessed from a gwt app through a proxy - that's when we're having the most issues.  I probably need to debug this further but if anyone has pointers, it would be appreciated.  We're using AsynchronousResponse in the method signature and AsyncEventConsumer in the body.