In some cases, there are third-party frameworks that expect to access the physical datasource
directly. There are also some situations where code executes within the server outside the
context of an EE component , e.g. server lifecycle modules or JMX callbacks. Because a
component environment is not available in that context, the only alternative for accessing a
datasource is going straight to the global naming service.
[Message sent by forum member 'ksak' (ksak)]
http://forums.java.net/jive/thread.jspa?messageID=228025