Cosmo Servlet Container Requirements
This document describes the requirements that the Cosmo web application levies on the container in which it is deployed.
Configuration properties file location
The location of the Cosmo configuration properties file (
TODO: link to doc).
The value must be prefixed with either
file: (to show that the value is a filesystem path) or
classpath: (to show that the file is to be loaded as a resource from the classpath). If the value is a filesystem path, it can be specified relative to the container's current working directory. The entries are edit in your containers jndi interface.
Examples
-
file:/usr/local/etc/cosmo/cosmo.properties
-
file:conf/cosmo.properties
-
classpath:cosmo.properties
Specification
<env-entry>
<env-entry-name>cosmo/config</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
JDBC DataSource
A JDBC DataSource providing access to the Cosmo database. There are no deployment requirements - the database may be embedded in the container's JVM or running remotely on the same host or a different one.
Specification
<resource-env-ref>
<resource-env-ref-name>jdbc/cosmo</resource-env-ref-name>
<resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
</resource-env-ref>
JavaMail Session
A JavaMail Session providing access to an outbound STMP server. Cosmo uses SMTP to send notification messages for account activation and various system events. Cosmo doesn't require IMAP access or care about authentication or confidentiality with regard to the SMTP transaction.
Specification
<resource-env-ref>
<resource-env-ref-name>mail/cosmo</resource-env-ref-name>
<resource-env-ref-type>javax.mail.Session</resource-env-ref-type>
</resource-env-ref>
APIs
The container must provide the following APIs. Known working version numbers are provided; please add other versions known to work as you find them.