TomEE定制属性提供程序

问题描述 投票:0回答:1

我在TomEE 8中运行我的应用程序。我想从我的数据库中读取一些属性并将其传递给应用程序。

我在https://rmannibucau.wordpress.com/2014/08/06/tomee-and-more-advanced-resource-configuration/看到了一个例子。可能是旧的。它不起作用。在部署应用程序时,它需要资源类型。但是示例没有Type in resource标记。

<Resource id="..." properties-provider="com.foo.MyPropertiesReader" />

从我的数据库加载我的自定义属性到应用程序的最新/正确方法是什么?

java tomee openejb tomee-8
1个回答
1
投票

我相信罗曼在他的例子中试图简明扼要。在他的例子中,可以推测他正在使用javax.sql.DataSourceDataSource。尽管如此,这将适用于任何类型的资源,甚至custom resources。您还可以查看以下实现:

在你提到的页面中,Romain还指出你的类可以实现org.apache.openejb.api.resource.PropertiesResourceProvider,或者提供Properties provides();方法。

这是一个小例子:

org.super biz.provider.my properties reader.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>

这些是我希望有助于消除疑虑的关键片段。数据源的实现留给您编码。 :)

© www.soinside.com 2019 - 2024. All rights reserved.