在你的EJBJar的META_INF目录中的ejb-jar.xml中:
<resource-ref>
<res-ref-name>jdbc/SavingsAccountDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
指定了对数据源的引用。
资源引用名(jdbc/SavingsAccountDB)到实际数据源的映射在部署的时候指定。这随着appserver的不同而不同,例如在J2EE中,就在sun-j2ee-ri.xml中指定引用名到实际数据源JNDI名的映射。如:
<resource-ref>
<res-ref-name>jdbc/SavingsAccountDB</res-ref-name>
<jndi-name>jdbc/Cloudscape</jndi-name>
</resource-ref>
<resource-ref>
<res-ref-name>jdbc/SavingsAccountDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
指定了对数据源的引用。
资源引用名(jdbc/SavingsAccountDB)到实际数据源的映射在部署的时候指定。这随着appserver的不同而不同,例如在J2EE中,就在sun-j2ee-ri.xml中指定引用名到实际数据源JNDI名的映射。如:
<resource-ref>
<res-ref-name>jdbc/SavingsAccountDB</res-ref-name>
<jndi-name>jdbc/Cloudscape</jndi-name>
</resource-ref>
至于你的这个问题:
dbName = "java:comp/env/jdbc/SavingsAccountDB";
"SavingsAccountDB"是你的一个DATASOURCE的别名啦!