我有這樣的問題:不同的web服務器有不同的jndi命名規則。因此,舉例來說,如果在Tomcat中我想使用JNDI名稱爲數據源,它看起來像:Mybatis幾個jndi的名字
<dataSource type="JNDI">
<property name="data_source" value="java:comp/env/jdbc/myJndiName"/>
</dataSource>
但在WebSphere或JBoss應用,我將必須提供JNDI名稱沒有「comp/env的」,就像
<dataSource type="JNDI">
<property name="data_source" value="java:jdbc/myJndiName"/>
</dataSource>
或我在配置中提供的jndi名稱。如果使用與Tomcat相同的名稱,使用「comp/env」前綴,顯然它不起作用。
有沒有辦法,所以我可以使應用程序通用於不同的Web服務?我正在考慮編寫自己的DataSource包裝來檢查jndi名稱的可用性並正確設置它。任何想法?