I want to assign an id to jms:listener-container bean but unfortunately it does not have an id property. For instance, this does not work

&lt;jms:listener-container  id="jmsListenerContainer"  concurrency="${jms.consumer.concurrency}"  &gt;
    &lt;jms:listener id="queueHandler" destination="${jms.queue.name}" ref="queueListener" /&gt;
&lt;/jms:listener-container&gt;


To counter that, I am trying to define the container without the namespace using vanilla bean definition, like so:

&lt;bean id="jmsListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"  
    p:concurrency="${jms.consumer.concurrency}" p:connection-factory="jmsConnectionFactory" 
    p:messageListener-ref="jmsMessageListener"&gt;
&lt;/bean&gt;


For this to work one needs the actual implementation class of MessageListener used by the container as defining this separately does not work

&lt;jms:listener id="jmsMessageListener" destination="${jms.queue.name}" ref="queueListener" /&gt;


This throws an The matching wildcard is strict, but no declaration can be found for element 'jms:listener'.

From documentation of AbstractMessageListenerContainer: By default, only a standard JMS MessageListener object or a Spring SessionAwareMessageListener object will be accepted. 

This is quite inconclusive, so does anyone know how this can be done?


Question: Is copyediting good for an academic career?
Answer: The only benefit you'll get as a copyeditor is clear: money (assuming he offered to pay you).

The downsides are numerous: it takes a lot of time, it will not be considered a plus to your CV (it's a technical job, not a scientific one)… none of the benefits from being a journal editor apply to a copyeditor.

Also, I don't know exactly what you did when you say “I have recently been involved in managing a special issue”, but if you were guest editor, offering you a copyeditor job is clearly not showing appreciation for your job as a scientist.