JcaMessageAwareListener.class.getName()) ;
setAttribute(listenerNode, JcaConstants.ATTRIBUTE_LISTENER_COMPOSER_CLASS,
JcaJMSMessageAwareComposer.class.getName()) ;
}
final ActivationMapper activationMapper = getActivationMapper(listener, bus, jmsJcaProvider) ;
final Map<String, String> activationConfigValues = new HashMap<String, String>() ;
activationMapper.setDestination(activationConfigValues, messageFilter.getDestName()) ;
activationMapper.setProviderAdapterJNDI(activationConfigValues, jmsJcaProvider.getProviderAdapterJNDI()) ;
final int destType = messageFilter.getDestType().intValue() ;
if (destType == DestType.INT_QUEUE)
{
activationMapper.setDestinationType(activationConfigValues, true) ;
}
else if (destType == DestType.INT_TOPIC)
{
activationMapper.setDestinationType(activationConfigValues, false) ;
}
else
{
throw new ConfigurationException("Unknown destination type: " + messageFilter.getDestType()) ;
}
activationMapper.setMessageSelector(activationConfigValues, messageFilter.getSelector()) ;
final Integer maxThreads = (listener.isSetMaxThreads() ? Integer.valueOf(listener.getMaxThreads()) : null) ;
activationMapper.setMaxThreads(activationConfigValues, maxThreads) ;
final Element activationConfigElement = YADOMUtil.addElement(listenerNode, JcaConstants.ELEMENT_ACTIVATION_CONFIG) ;
for(Map.Entry<String, String> entry: activationConfigValues.entrySet())
{
addPropertyElement(activationConfigElement, entry.getKey(), entry.getValue()) ;