uPortal, via portlet-utils, uses a custom datasource factory. There are 2 reasons. One, is to support delay of setting the validation query. This may have been something historic as it is possible to set this attribute with the properties values. (This has been updated as such.) Second, is to register the datasources with the mBean Server. Tomcat does this by default.
The JMX (mBean Server) should be tested to make sure it operates as intended.