ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <>
Subject [jira] [Created] (AXIOM-418) Remove the dependency on JavaMail
Date Mon, 30 Apr 2012 10:10:48 GMT
Andreas Veithen created AXIOM-418:

             Summary: Remove the dependency on JavaMail
                 Key: AXIOM-418
             Project: Axiom
          Issue Type: Task
          Components: API
    Affects Versions: 1.2.13
            Reporter: Andreas Veithen
            Priority: Minor

In earlier versions of Axiom, MIME processing was implemented using JavaMail. In Axiom 1.2.13
we use MIME4J to parse MIME messages and we have our own code to write MIME messages (see
org.apache.axiom.mime.MultipartWriter). This means that we should be able to get rid of the
JavaMail dependency. Currently, JavaMail is still used in the following places:

1. There are several places where javax.mail.internet.ContentType is used to parse MIME types.
That needs to be replaced by something equivalent, maybe javax.activation.MimeType. Note that
javax.mail.internet.ContentType is not used in any public API.

2. org.apache.axiom.attachments.lifecycle.impl.FileAccessor has several methods that declare
javax.mail.MessagingException, although that exception is never thrown. Removing that exception
would not break binary compatibility, but may break source code compatibility. However, it
is very unlikely that any existing application code is using or extending the FileAccessor
class (it is an SPI that is used by the Attachments class).

3. The classes in org.apache.axiom.mime.impl.javamail use JavaMail. They provide an implementation
of the MultipartWriter API. However, it is not used by default (the default implementation
is in org.apache.axiom.mime.impl.axiom). It only exists to allow users to switch back to JavaMail
based MIME serialization in case issues are discovered in the org.apache.axiom.mime.impl.axiom
implementation. Since no issues have ever been reported, we could move that implementation
to axiom-compat so that it remains available but is no longer included in axiom-api.

4. has several methods that declare javax.mail.MessagingException.
Probably TextHelper can be deprecated and moved to axiom-compat.

5. DataSourceUtils#getSize(DataSource) recognizes javax.mail.util.ByteArrayDataSource. The
code should be changed to use reflection so that it works if JavaMail is not present.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message