Galleon layer for the Mail subsystem

In  mail wf-galleon

Overview

The Jakarta Mail API provides a platform-independent and protocol-independent framework to build mail and messaging applications. The WildFly mail subsystem enables the configuration of mail sessions on the server and then inject those sessions into applications using JNDI. It also adds the Jakarta Mail API and implementations as a dependency for the deployed applications.

The goal of this feature is to supply a Galleon layer which will be responsible for providing the Mail subsystem.

The following is a configuration example of the WildFly bootable JAR Maven plugin to provision a server with the mail layer:

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-jar-maven-plugin</artifactId>
    <configuration>
        <feature-pack-location>wildfly@maven(org.jboss.universe:community-universe)#${version.wildfly}</feature-pack-location>
        <layers>
            <layer>mail</layer>
        </layers>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>package</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Issue Metadata

Testing By

  • [X] Engineering

  • QE

Affected Projects or Components

Wildfly - Mail subsystem

Requirements

Hard Requirements

  • The Galleon layer must provide the Mail subsystem configuration.

  • The Galleon layer must depend on naming Galleon layer to be able to exporting resource names to the Java Naming and Directory Interface (JNDI) tree.

  • The Galleon layer don not have a dependency on any security layers.

Nice-to-Have Requirements

N/A

Non-Requirements

N/A

Test Plan

The test coverage of the Galleon layer added by this proposal is divided in two main groups:

  1. Testing the Galleon layer provisioning. This testing is done by LayersTestCase. The testsuite will be modified to add a new server provisioned with this layer in isolation and with this layer combined with all the layers. For each kind of provisioning, this test does the following:

    1. Verifies the provisioned modules are the expected ones.

    2. Verifies the provisioned server starts successfully.

  2. Execution of WildFly tests related to the feature provisioned by this layer. Reuse the existing tests available on the WildFly test suite, which are directly testing this layer functionalities, and execute them on a server installation provisioned with this layer.

Community Documentation

Community documentation plan is adding the layer to WildFly Galleon layers in the section it belongs to.

Release Note Content

A Galleon layer to give support to Jakarta Mail applications and configure the WildFly mail subsystem.