// now get the message listeners for this specific ra identifier
final List<MessageListener> messageListeners = resourceAdapterRepository.getMessageListeners(raIdentifier);
if (messageListeners == null || messageListeners.isEmpty()) {
throw MESSAGES.unknownMessageListenerType(messageListenerInterface.getName(), resourceAdapterName);
}
MessageListener requiredMessageListener = null;
// now find the expected message listener from the list of message listeners for this resource adapter
for (final MessageListener messageListener : messageListeners) {
if (messageListenerInterface.equals(messageListener.getType())) {
requiredMessageListener = messageListener;
break;
}
}
if (requiredMessageListener == null) {
throw MESSAGES.unknownMessageListenerType(messageListenerInterface.getName(), resourceAdapterName);
}
// found the message listener, now finally create the activation spec
final Activation activation = requiredMessageListener.getActivation();
// filter out the activation config properties, specified on the MDB, which aren't accepted by the resource
// adaptor
final Properties validActivationConfigProps = this.filterUnknownActivationConfigProperties(resourceAdapterName, activation, activationConfigProperties);
// now set the activation config properties on the ActivationSpec
final ActivationSpec activationSpec = activation.createInstance();