Arj*_*jms 6 java websphere datasource java-ee websphere-liberty
为了配合使用,@DataSourceDefinition我想从使用此@DataSourceDefinition注释的应用程序(或部署描述符中的等效数据源元素)加载DataSource类。
根据我在Java EE 7示例项目中添加的测试,该方法基本上适用于每台服务器。
例如,考虑web.xml中的此数据源定义:
<data-source>
<name>java:app/MyApp/MyDS</name>
<class-name>org.h2.jdbcx.JdbcDataSource</class-name>
<url>jdbc:h2:mem:test</url>
</data-source>
Run Code Online (Sandbox Code Playgroud)
包含的jar org.h2.jdbcx.JdbcDataSource将驻留在WEB-INF / lib中。
在针对自动下载的服务器进行测试以及事先未知部署的.war名称的情况下(因为由Arquillian控制),在CI测试中这非常方便。
尽管几乎每个服务器都支持此功能,但是Liberty 16.0.2会为java:app/MyApp/MyDS或抛出以下异常java:global/MyDS:
CWNEN0011E:注入引擎由于以下错误而无法处理元数据的绑定:java.sql.SQLNonTransientException:J2CA8022E:应用程序xyz23-zvf没有任何共享库,这些共享库为org.h2.jdbcx.JdbcDataSource提供了数据源java:global / MyDS。
在IBM指令是指建立一个共享库,生活中的本地文件系统上,但对于几类数据源(如那些只具有内部意义的应用程序),以及用于提及CI测试这是不实际。
有什么方法可以像大多数其他Java EE服务器一样让Liberty从应用程序加载数据源吗?
| 归档时间: |
|
| 查看次数: |
336 次 |
| 最近记录: |