Tommy Custom 属性 供应商
TomEE custom property provider
我是 运行 我在 TomEE 8 中的应用程序。我想从我的数据库中读取一些 属性 并将其传递给应用程序。
我从 https://rmannibucau.wordpress.com/2014/08/06/tomee-and-more-advanced-resource-configuration/ 看到了一个例子。可能是旧的。它不工作。在部署应用程序时,它需要资源类型。但是示例在资源标签中没有类型。
<Resource id="..." properties-provider="com.foo.MyPropertiesReader" />
将我的自定义属性从我的数据库加载到我的应用程序的 latest/correct 方法是什么?
我相信罗曼试图在他的例子中做到简洁。在他的示例中,可以推测他使用的是 javax.sql.DataSource
或 DataSource
。尽管如此,这对任何类型的资源都有效,甚至 custom resources。您还可以查看一些实现:
- HerokuDatabasePropertiesProvider.java
- OpenshiftMySQLPropertiesProvider.java
- OpenshiftPostgreSQLPropertiesProvider.java
在您提到的页面中,Romain 还注意到您的 class 可以实现 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>
这些是我希望能帮助您消除疑虑的关键片段。数据源的实现留给您编码。 :)
我是 运行 我在 TomEE 8 中的应用程序。我想从我的数据库中读取一些 属性 并将其传递给应用程序。
我从 https://rmannibucau.wordpress.com/2014/08/06/tomee-and-more-advanced-resource-configuration/ 看到了一个例子。可能是旧的。它不工作。在部署应用程序时,它需要资源类型。但是示例在资源标签中没有类型。
<Resource id="..." properties-provider="com.foo.MyPropertiesReader" />
将我的自定义属性从我的数据库加载到我的应用程序的 latest/correct 方法是什么?
我相信罗曼试图在他的例子中做到简洁。在他的示例中,可以推测他使用的是 javax.sql.DataSource
或 DataSource
。尽管如此,这对任何类型的资源都有效,甚至 custom resources。您还可以查看一些实现:
- HerokuDatabasePropertiesProvider.java
- OpenshiftMySQLPropertiesProvider.java
- OpenshiftPostgreSQLPropertiesProvider.java
在您提到的页面中,Romain 还注意到您的 class 可以实现 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>
这些是我希望能帮助您消除疑虑的关键片段。数据源的实现留给您编码。 :)