簡體   English   中英

TomEE自定義屬性提供程序

[英]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.DataSourceDataSource 盡管如此,這仍然適用於任何類型的資源,甚至是自定義資源 您還可以簽出一些實現:

在您提到的頁面中,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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM