Under the covers in Geronimo, database connection pools are implemented by deploying a J2EE Connector that provides the pool. JMS resources and user-provided Connectors work the same way, so the plumbing is similar for all three. In general, this implementation strategy isn't terribly important, but you'll notice that to configure a database connection pool, you'll need to write a Geronimo-specific deployment descriptor for a J2EE Connector -- one whose configuration properties are the database server, JDBC URL, etc. But you also need a RAR file containing the Geronimo logic for managing the database connection pool -- this is currently provided by a package called TranQL, and the RAR file can be found in the Geronimo installation at repository/tranql/rars/tranql-connector-1.1.rar.
Tip | |
---|---|
If you deploy database pools through the Geronimo console, you won't have to worry about the details of the RAR file and deployment plan. The console can only deploy server-wide database pools, though you can use it to write a plan for an application-scoped or client-scoped database pool. |
When you deploy a server-wide connection pool, you'll give the customized deployment descriptor and the TranQL RAR to the deploy tool, and it will deploy the new database pool as it would any other standalone J2EE Connector. When you deploy an application-scoped connection pool, you'll include the TranQL RAR in the application EAR like any other application module, and add the customized deployment descriptor to the EAR as well. When you deploy a client-scoped connection pool, you'll use a shortcut in the client module's Geronimo-specific deployment descriptor that allows you to configure a J2EE Connector right there, for that module alone. In any of those cases the TranQL RAR is the same and the configuration file format is the same; it's just the method of deployment that's different.