>That would work if the minimum Java version is Java 7
Indeed, but a newer version of the Servlet spec could at least support newer Java versions, couldn't it?
>A fall-back for non-Java 7 resources would be nice.
Sure, although I would be wary of just calling unknown methods that happen to match a given signature. With the java.lang.AutoCloseable we can be sure the resource creator has written the resource being aware that the close() method will be automatically called.
At the very least I think there should be an option to disable the fall-back. It would be strange if a close method didn't just did what it said, but you never known. It's perhaps a bit far-fetched, but what if the JNDI resource represents some administrative system and close() means a domain specific action is carried out, like closing a 'payment period'?