|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.avalon.excalibur.logger.factory.AbstractTargetFactory
org.apache.avalon.excalibur.logger.factory.SMTPTargetFactory
public class SMTPTargetFactory
SMTPTargetFactory class.
This factory creates SMTPOutputLogTarget's. It uses the
context-key attribute to locate the required JavaMail Session from
the Context object passed to this factory. The default context-key
is session-context
.
<smtp id="target-id" context-key="context-key-to-session-object"> <format type="raw|pattern|extended">pattern to be used if needed</format> <to>address-1@host</to> <to>address-N@host</to> <from>address@host</from> <subject>subject line</subject> <maximum-size>number</maximum-size> <maximum-delay-time>seconds</maximum-delay-time> <debug>false</debug> </smtp>The Factory will look for a javax.mail.Session instance in the Context using the specified context-key. If your needs are simple, then it is also possible to define a Session within the configuration by replacing the context-key attribute with a session child element as follows:
<session> <parameter name="mail.host" value="mail.apache.com"/> </session>The Session is created by calling Session.getInstance, providing a Properties object whose values are defined in the above block. Any valid name value pair can be specified.
%7.7{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\\n%{throwable}
Field Summary |
---|
Fields inherited from class org.apache.avalon.excalibur.logger.factory.AbstractTargetFactory |
---|
m_configuration, m_context |
Constructor Summary | |
---|---|
SMTPTargetFactory()
|
Method Summary | |
---|---|
protected javax.mail.Address |
createAddress(java.lang.String address)
Helper factory method to create a new Address
object. |
org.apache.log.LogTarget |
createTarget(org.apache.avalon.framework.configuration.Configuration config)
Creates an SMTPOutputLogTarget based on a Configuration |
private boolean |
getDebug(org.apache.avalon.framework.configuration.Configuration config)
Helper method to obtain the debug glag to use from the given configuration object. |
protected org.apache.log.format.Formatter |
getFormatter(org.apache.avalon.framework.configuration.Configuration config)
Helper method to obtain a formatter for this factory. |
private javax.mail.Address |
getFromAddress(org.apache.avalon.framework.configuration.Configuration config)
Helper method to obtain the from address from the given configuration. |
private int |
getMaxDelayTime(org.apache.avalon.framework.configuration.Configuration config)
Helper method to obtain the maximum delay time any particular SMTP message can be queued from a given configuration object. |
private int |
getMaxSize(org.apache.avalon.framework.configuration.Configuration config)
Helper method to obtain the maximum size any particular SMTP message can be from a given configuration object. |
protected javax.mail.Session |
getSession(org.apache.avalon.framework.configuration.Configuration config)
Helper method to create a JavaMail Session object. |
private java.lang.String |
getSubject(org.apache.avalon.framework.configuration.Configuration config)
Helper method to obtain the subject line to use from the given configuration object. |
private javax.mail.Address[] |
getToAddresses(org.apache.avalon.framework.configuration.Configuration config)
Helper method to obtain the to address/es from the given configuration. |
Methods inherited from class org.apache.avalon.excalibur.logger.factory.AbstractTargetFactory |
---|
configure, contextualize |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
---|
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SMTPTargetFactory()
Method Detail |
---|
public final org.apache.log.LogTarget createTarget(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.configuration.ConfigurationException
config
- a Configuration
instance
LogTarget
instance
org.apache.avalon.framework.configuration.ConfigurationException
- if an error occursprotected org.apache.log.format.Formatter getFormatter(org.apache.avalon.framework.configuration.Configuration config)
config
- a Configuration
instance
Formatter
instanceprotected javax.mail.Session getSession(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.context.ContextException, org.apache.avalon.framework.configuration.ConfigurationException
Session
object.
If your session object has simple needs, you can nest a configuration element
named session containing name-value pairs that are passed to
Session.getInstance()
.
If no configuration is found, a Session
will be loaded from this
factory's context object.
You can override this method if you need ot obtain the JavaMail session using
some other means.
Session
instance
org.apache.avalon.framework.context.ContextException
- if an error occurs
org.apache.avalon.framework.configuration.ConfigurationException
- if invalid session configurationprivate java.lang.String getSubject(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.configuration.ConfigurationException
config
- a Configuration
instance
org.apache.avalon.framework.configuration.ConfigurationException
private int getMaxSize(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.configuration.ConfigurationException
config
- a Configuration
instance
org.apache.avalon.framework.configuration.ConfigurationException
private int getMaxDelayTime(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.configuration.ConfigurationException
config
- a Configuration
instance
org.apache.avalon.framework.configuration.ConfigurationException
private javax.mail.Address[] getToAddresses(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.configuration.ConfigurationException, javax.mail.internet.AddressException
config
- Configuration
instance
Address
objects
org.apache.avalon.framework.configuration.ConfigurationException
- if a configuration error occurs
javax.mail.internet.AddressException
- if a addressing error occursprivate javax.mail.Address getFromAddress(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.configuration.ConfigurationException, javax.mail.internet.AddressException
config
- a Configuration
instance
Address
object
org.apache.avalon.framework.configuration.ConfigurationException
- if a configuration error occurs
javax.mail.internet.AddressException
- if a addressing error occursprivate boolean getDebug(org.apache.avalon.framework.configuration.Configuration config) throws org.apache.avalon.framework.configuration.ConfigurationException
config
- a Configuration
instance
org.apache.avalon.framework.configuration.ConfigurationException
protected javax.mail.Address createAddress(java.lang.String address) throws javax.mail.internet.AddressException
Address
object. Override this method in a subclass if you wish to
create other Address types rather than
InternetAddress
(eg. NewsAddress
)
address
- address string from configuration
Address
object
javax.mail.internet.AddressException
- if an error occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |