| |
|
| org.apache.james.mailrepository.JDBCMailRepository
All known Subclasses: org.apache.james.mailrepository.JDBCSpoolRepository,
JDBCMailRepository | public class JDBCMailRepository extends AbstractLogEnabled implements MailRepository,Contextualizable,Serviceable,Configurable,Initializable(Code) | | Implementation of a MailRepository on a database.
Requires a configuration element in the .conf.xml file of the form:
<repository destinationURL="db://<datasource>/<table_name>/<repository_name>"
type="MAIL"
model="SYNCHRONOUS"/>
</repository>
destinationURL specifies..(Serge??)
Type can be SPOOL or MAIL
Model is currently not used and may be dropped
Requires a logger called MailRepository.
version: CVS $Revision: 494012 $ $Date: 2007-01-08 11:23:58 +0100 (Mo, 08 Jan 2007) $ |
context | protected Context context(Code) | | The Avalon context used by the instance
|
datasource | protected DataSourceComponent datasource(Code) | | The JDBC datasource that provides the JDBC connection
|
datasourceName | protected String datasourceName(Code) | | The name of the datasource used by this repository
|
datasources | protected DataSourceSelector datasources(Code) | | The selector used to obtain the JDBC datasource
|
jdbcMailAttributesReady | protected boolean jdbcMailAttributesReady(Code) | | "Support for Mail Attributes under JDBC repositories is ready" indicator.
|
repositoryName | protected String repositoryName(Code) | | The repository name parsed from the destination URL
|
sqlQueries | protected SqlResources sqlQueries(Code) | | Contains all of the sql strings for this component.
|
tableName | protected String tableName(Code) | | The table name parsed from the destination URL
|
theJDBCUtil | protected JDBCUtil theJDBCUtil(Code) | | The JDBCUtil helper class
|
checkJdbcAttributesSupport | protected void checkJdbcAttributesSupport(DatabaseMetaData dbMetaData) throws SQLException(Code) | | Checks whether support for JDBC Mail atributes is activated for this repository
and if everything is consistent.
Looks for both the "updateMessageAttributesSQL" and "retrieveMessageAttributesSQL"
statements in sqlResources and for a table column named "message_attributes".
Parameters: dbMetaData - the database metadata to be used to look up the column throws: SQLException - if a fatal situation is met |
configure | public void configure(Configuration conf) throws ConfigurationException(Code) | | See Also: org.apache.avalon.framework.configuration.Configurable.configure(Configuration) |
contextualize | public void contextualize(Context context) throws ContextException(Code) | | See Also: org.apache.avalon.framework.context.Contextualizable.contextualize(Context) |
getConnection | protected Connection getConnection() throws SQLException(Code) | | Gets the SQL connection to be used by this JDBCMailRepository
the connection throws: SQLException - if there is an issue with getting the connection |
hashCode | public int hashCode()(Code) | | Provide a hash code that is consistent with equals for this class
the hash code |
initialize | public void initialize() throws Exception(Code) | | Initialises the JDBC repository.
1) Tests the connection to the database.
2) Loads SQL strings from the SQL definition file,
choosing the appropriate SQL for this connection,
and performing paramter substitution,
3) Initialises the database with the required tables, if necessary.
throws: Exception - if an error occurs |
list | public Iterator list() throws MessagingException(Code) | | Gets a list of message keys stored in this repository.
an Iterator of the message keys |
lock | public boolean lock(String key)(Code) | | Obtains a lock on a message identified by a key
Parameters: key - the key of the message to be locked true if successfully obtained the lock, false otherwise |
remove | public void remove(Mail mail) throws MessagingException(Code) | | Removes a specified message
Parameters: mail - the message to be removed from the repository |
remove | public void remove(Collection mails) throws MessagingException(Code) | | Removes a Collection of mails from the repository
Parameters: mails - The Collection of MailImpl 's to delete throws: MessagingException - since: 2.2.0 |
remove | public void remove(String key) throws MessagingException(Code) | | Removes a message identified by a key.
Parameters: key - the key of the message to be removed from the repository |
retrieve | public Mail retrieve(String key) throws MessagingException(Code) | | Retrieves a message given a key. At the moment, keys can be obtained
from list()
Parameters: key - the key of the message to retrieve the mail corresponding to this key, null if none exists |
service | public void service(ServiceManager componentManager) throws ServiceException(Code) | | See Also: org.apache.avalon.framework.service.Servicable.service(ServiceManager) |
store | public void store(Mail mc) throws MessagingException(Code) | | Store this message to the database. Optionally stores the message
body to the filesystem and only writes the headers to the database.
|
unlock | public boolean unlock(String key)(Code) | | Releases a lock on a message identified by a key
Parameters: key - the key of the message to be unlocked true if successfully released the lock, false otherwise |
|
|
|