...
geronimo-web.xml と web.xml ファイルによって、アプリケーションはデータソースを定義します。geronimo-web.xml は EAR ファイルに含まれ、データベース・プールへのリンクを持ちます。
Code Block |
---|
| xml |
---|
| xml |
---|
borderStyle | solid |
---|
title | geronimo-web.xmlxml |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1">
<environment>
<moduleId>
<groupId>${pom.groupId}</groupId>
<artifactId>${pom.artifactId}</artifactId>
<version>${version}</version>
<type>war</type>
</moduleId>
<dependencies></dependencies>
</environment>
<context-root>/inventory</context-root>
<!-- define a reference name to the db pool-->
<resource-ref>
<ref-name>jdbc/InventoryDS</ref-name>
<resource-link>InventoryPool</resource-link>
</resource-ref>
</web-app>
|
以下に Inventory アプリケーションの web.xml を示します。データソースを作成する際に利用される geronimo-web.xml と同じ名前を利用しています。
Code Block |
---|
| xml |
---|
| xml |
---|
borderStyle | solid |
---|
title | web.xmlxml |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<display-name>AddItemServlet</display-name>
<servlet-name>AddItemServlet</servlet-name>
<servlet-class>org.apache.geronimo.samples.inventory.web.AddItemServlet</servlet-class>
</servlet>
<servlet>
<display-name>IssueingServlet</display-name>
<servlet-name>IssueingServlet</servlet-name>
<servlet-class>org.apache.geronimo.samples.inventory.web.IssueingServlet</servlet-class>
</servlet>
<servlet>
<display-name>RecievingServlet</display-name>
<servlet-name>RecievingServlet</servlet-name>
<servlet-class>org.apache.geronimo.samples.inventory.web.RecievingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddItemServlet</servlet-name>
<url-pattern>/add_item</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>IssueingServlet</servlet-name>
<url-pattern>/issue</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>RecievingServlet</servlet-name>
<url-pattern>/recv</url-pattern>
</servlet-mapping>
<!-- reference name exposed as a datasource -->
<resource-ref>
<res-ref-name>jdbc/InventoryDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</web-app>
|
geronimo-application.xml には、アプリケーションにデプロイする必要のあるデータベース・プールがあることを示します。データベース・プールは InventoryPool.xml に定義されています。また、ドライバーとして tranql-connector-ra-3.3.rar ファイルをデプロイする必要があることが記述されています。これら2つのファイルは生成された EAR ファイル内の最上位階層に置きます。
Code Block |
---|
| xml |
---|
| xml |
---|
2 | geronimo-application.xml |
---|
borderStyle | solidxml |
---|
|
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.1">
<dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
<dep:moduleId>
<dep:groupId>${pom.groupId}</dep:groupId>
<dep:artifactId>${pom.artifactId}</dep:artifactId>
<dep:version>${version}</dep:version>
<dep:type>ear</dep:type>
</dep:moduleId>
</dep:environment>
<module>
<connector>tranql-connector-ra-1.3.rar</connector>
<alt-dd>InventoryPool.xml</alt-dd>
</module>
</application>
|
次の重要なアプリケーションの記述はソースコードから定義されたデータソースへ接続するものです。これは DBManager クラスとして扱われます。
Code Block |
---|
| java |
---|
| java |
---|
borderStyle | solid |
---|
title | DBManager.javajava |
---|
|
public static Connection getConnection(){
Connection con = null;
try {
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/InventoryDS");
con = ds.getConnection();
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
|
...