[英]TomEE custom property provider
我在TomEE 8中運行我的應用程序。我想從數據庫中讀取一些屬性,並將其傳遞給應用程序。
我從https://rmannibucau.wordpress.com/2014/08/06/tomee-and-more-advanced-resource-configuration/中看到了一個示例。 可能是舊的。 它不起作用。 在部署應用程序時,它期望資源類型。 但是示例在資源標簽中沒有Type。
<Resource id="..." properties-provider="com.foo.MyPropertiesReader" />
從數據庫將自定義屬性加載到應用程序中的最新/正確方法是什么?
我相信羅曼(Romain)試圖使自己的例子簡潔。 在他的示例中,可以推測出他正在使用javax.sql.DataSource
或DataSource
。 盡管如此,這仍然適用於任何類型的資源,甚至是自定義資源 。 您還可以簽出一些實現:
在您提到的頁面中,Romain還指出,您的類可以實現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 /主/ web應用/ WEB-INF / resources.xml中
<resources>
<Resource id="movieDatabase"
type="DataSource"
properties-provider="org.superbiz.provider.MyPropertiesReader"/>
</resources>
這些是關鍵片段,我希望這些片段可以幫助您消除疑慮。 數據源的實現留給您編寫代碼。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.