diff --git a/spring-jms/src/main/java/org/springframework/jms/config/JmsListenerEndpointRegistrar.java b/spring-jms/src/main/java/org/springframework/jms/config/JmsListenerEndpointRegistrar.java index 9ef2fd3d38..dc97d9d3a5 100644 --- a/spring-jms/src/main/java/org/springframework/jms/config/JmsListenerEndpointRegistrar.java +++ b/spring-jms/src/main/java/org/springframework/jms/config/JmsListenerEndpointRegistrar.java @@ -155,7 +155,7 @@ public class JmsListenerEndpointRegistrar implements BeanFactoryAware, Initializ */ public void registerEndpoint(JmsListenerEndpoint endpoint, JmsListenerContainerFactory factory) { Assert.notNull(endpoint, "Endpoint must be set"); - Assert.notNull(endpoint.getId(), "Endpoint id must be set"); + Assert.hasText(endpoint.getId(), "Endpoint id must be set"); // Factory may be null, we defer the resolution right before actually creating the container this.endpointDescriptors.add(new JmsListenerEndpointDescriptor(endpoint, factory)); } diff --git a/spring-jms/src/test/java/org/springframework/jms/config/JmsListenerEndpointRegistrarTests.java b/spring-jms/src/test/java/org/springframework/jms/config/JmsListenerEndpointRegistrarTests.java index b0fde62400..4ada4a2798 100644 --- a/spring-jms/src/test/java/org/springframework/jms/config/JmsListenerEndpointRegistrarTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/config/JmsListenerEndpointRegistrarTests.java @@ -58,6 +58,15 @@ public class JmsListenerEndpointRegistrarTests { registrar.registerEndpoint(new SimpleJmsListenerEndpoint(), containerFactory); } + @Test + public void registerEmptyEndpointId() { + SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); + endpoint.setId(""); + + thrown.expect(IllegalArgumentException.class); + registrar.registerEndpoint(endpoint, containerFactory); + } + @Test public void registerNullContainerFactoryIsAllowed() throws Exception { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint();