【发布时间】:2013-01-15 13:51:53
【问题描述】:
我有这样一个问题:不同的 web 服务器有不同的 jndi 命名规则。因此,例如,如果在 Tomcat 中我想使用 jndi 名称作为数据源,它将如下所示:
<dataSource type="JNDI">
<property name="data_source" value="java:comp/env/jdbc/myJndiName"/>
</dataSource>
但在 WebSphere 或 Jboss 中,我将不得不提供不带“comp/env”的 jndi 名称,例如
<dataSource type="JNDI">
<property name="data_source" value="java:jdbc/myJndiName"/>
</dataSource>
或我在配置中提供的 jndi 名称。如果使用与Tomcat相同的名称,使用“comp/env”前缀,显然是行不通的。
有没有办法让该应用程序对不同的网络服务通用?我正在考虑编写自己的 DataSource 包装来检查 jndi 名称的可用性并正确设置它。有什么想法吗?
【问题讨论】: