The following deployment descriptor snippet describes the messaging capabilities of a resource adapter:
<messageadapter> <messagelistener> <messagelistener-type>samples.mailra.api.JavaMailMessageListener</messagelistener-type> <activationspec> <activationspec-class>samples.mailra.ra.inbound.ActivationSpecImpl</activationspec-class> required-config-property> <config-property-name>serverName</config-property-name> </required-config-property> <required-config-property> <config-property-name>userName</config-property-value> </required-config-property> <required-config-property> <config-property-name>password</config-property-value> </required-config-property> <required-config-property> <config-property-name>folderName</config-property-value> </required-config-property> <required-config-property> <description>Normally imap or pop3</description> <config-property-name>protocol</config-property-name> <config-property-value>IMAP</config-property-value> </required-config-property> </activationspec> </messagelistener> </messageadapter>
The equivalent metadata annotation is as follows:
@Activation(
messageListeners = {samples.mailra.api.JavaMailMessageListener.class}
)
public class ActivationSpecImpl implements javax.resource.spi.ActivationSpec,
java.io.Serializable
{
...
@ConfigProperty()
// serverName property value
private String serverName = new String("");
@ConfigProperty()
// userName property value
private String userName = new String("");
@ConfigProperty()
// password property value
private String password = new String("");
@ConfigProperty()
// folderName property value
private String folderName = new String("Inbox");
// protocol property value
// Normally imap or pop3
@ConfigProperty(
description = "Normally imap or pop3"
)
private String protocol = new String("imap");
...
...
}