diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitProperties.java index 4cdd3d239c..8b29f1c031 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitProperties.java @@ -29,6 +29,7 @@ import org.springframework.util.StringUtils; * @author Greg Turnquist * @author Dave Syer * @author Stephane Nicoll + * @author Andy Wilkinson */ @ConfigurationProperties(prefix = "spring.rabbitmq") public class RabbitProperties { @@ -127,7 +128,7 @@ public class RabbitProperties { } int index = address.indexOf("/"); if (index >= 0 && index < address.length()) { - this.virtualHost = address.substring(index + 1); + setVirtualHost(address.substring(index + 1)); address = address.substring(0, index); } if (!address.contains(":")) { diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitPropertiesTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitPropertiesTests.java index d62bad95aa..f5c0df981a 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitPropertiesTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/amqp/RabbitPropertiesTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 the original author or authors. + * Copyright 2012-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import static org.junit.Assert.assertNull; * Tests for {@link RabbitProperties}. * * @author Dave Syer + * @author Andy Wilkinson */ public class RabbitPropertiesTests { @@ -85,6 +86,15 @@ public class RabbitPropertiesTests { assertEquals("lemur.cloudamqp.com:5672", this.properties.getAddresses()); } + @Test + public void addressWithTrailingSlash() { + this.properties.setAddresses("amqp://root:password@otherhost:1111/"); + assertEquals("otherhost", this.properties.getHost()); + assertEquals(1111, this.properties.getPort()); + assertEquals("root", this.properties.getUsername()); + assertEquals("/", this.properties.getVirtualHost()); + } + @Test public void testDefaultVirtualHost() { this.properties.setVirtualHost("/"); @@ -92,7 +102,7 @@ public class RabbitPropertiesTests { } @Test - public void testemptyVirtualHost() { + public void testEmptyVirtualHost() { this.properties.setVirtualHost(""); assertEquals("/", this.properties.getVirtualHost()); }