I found out why my .war project had two consumers listening to the queue: My application logic was allowing the line
ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
to be called twice, which instantiated the listener the second time. I fixed the guard condition, and now when I deploy I only have one consumer listening to my queue, as I expected should be the case!
(See my self-answering thread on the Spring forum.)