Tomee有几个可以定义资源的地方:
这对我来说很困惑。我只想在java:comp/env/jdbc/mydb
安装连接池。
我还想补充几点注意事项:
conf/Catalina/localhost/appcontext.xml
)。我测试了在WEB-INF / resources.xml中设置一个简单的资源,并且只能在jdbc/mydb
中使用它WEB-INF/classes/META-INF/persistence.xml
。在conf/Catalina/localhost/appcontext.xml
中定义资源时,我没有取得同样的成功。
在我看来,Tomee还有一种特殊的方式可以选择部署服务和资源的根上下文。在启动期间,我看到尝试重新映射一些资源。示例输出:
[...].createRecipe Creating Resource(id=webapp/jdbc/mydb)
[...].AutoConfig.processResourceRef Auto-linking resource-ref 'openejb/Resource/webapp/jdbc/mydb' in bean MyService to Resource(id=webapp/jdbc/mydb)
<Resource id="Derby Database" type="DataSource"> . . . . . </Resource>
全局jndi名称为java:openejb / Resource / Derby Database
那么我如何以便携方式提及它呢?
似乎我可以通过简单地将其放入WEB-INF/web.xml
:
<resource-ref>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>
这允许我在JNDI中以java:comp/env/jdbc/mydb
访问它。
我很抱歉在这里插入部分答案 - 但我只是在找到它时添加信息。之后,我会将其移动到答案中,或者如果有人找到更满意的答案则保持原样。
我希望明白:
persistence.xml
和/或@Resource
标记)。