Я считаю, что Ромен пытался быть кратким в своих примерах.В его примерах можно предположить, что он использовал javax.sql.DataSource
или DataSource
.Несмотря на это, однако, это будет работать для любого типа ресурса, даже пользовательских ресурсов .Также уже есть реализации, которые вы можете проверить:
На упомянутой вами странице Ромен также отмечает, что ваш класс может либо реализовать org.apache.openejb.api.resource.PropertiesResourceProvider
, либо предоставить метод Properties provides();
.
Вот небольшой пример:
org.superbiz.provider.MyPropertiesReader.java
package org.superbiz.provider;
import org.apache.openejb.api.resource.PropertiesResourceProvider;
import org.apache.openejb.testng.PropertiesBuilder;
import java.util.Properties;
public class MyPropertiesReader implements PropertiesResourceProvider {
public Properties provides() {
return new PropertiesBuilder()
.p("JdbcDriver", "org.hsqldb.jdbcDriver")
.p("JdbcUrl", "jdbc:hsqldb:mem:moviedb")
.build();
}
}
src / main / webapp / WEB-INF / resources.xml
<resources>
<Resource id="movieDatabase"
type="DataSource"
properties-provider="org.superbiz.provider.MyPropertiesReader"/>
</resources>
Это ключевые фрагменты, которые, я надеюсь, помогут рассеять ваши сомнения.Реализация источника данных оставлена на ваше усмотрение.:)