I just looked at the DataSource setter method for <sql-rt:update>, and noticed that String is not supported as a dataSource type: public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } This is different from <sql:update> (and inconsistent w/ the spec), where both String and DataSource types are supported/required. Same is true for <sql-rt:transaction>. Only <sql-rt:query> supports both DataSource and String, as required.
Fixed the runtime setter methods to accept both String and DataSource types.