TomEE は、Tomcat の軽量なエクスペリエンスと Java EE 機能を組み合わせた優れたプロジェクトです。context.xml で宣言された多くの JDBC データソースがありますが、JNDI を介してそのデータソースを使用したい場合、例外が発生します。では、どうすれば TomEE の context.xml で宣言された JDBC データソースを動作させることができますか?
context.xml で宣言されたデータソース
<Resource auth="Container"
name="local_jdbc_db"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"
username="user"
password="pass" />
JNDI からデータソースを取得するコード
Context contextoInicial = new InitialContext();
Context contexto = (Context) contextoInicial.lookup("java:comp/env");
DataSource ds= (DataSource) contexto.lookup("local_jdbc_db");