Skip to content

Commit e718ad9

Browse files
author
Alexandru Scvortov
committed
support the amQPs scheme
And the scheme names are now case-insensitive.
1 parent b0316ee commit e718ad9

File tree

4 files changed

+24
-9
lines changed

4 files changed

+24
-9
lines changed

src/com/rabbitmq/client/ConnectionFactory.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,11 +187,16 @@ public void setVirtualHost(String virtualHost) {
187187
* @param uriString is the AMQP URI containing the data
188188
*/
189189
public void setUri(String uriString)
190-
throws URISyntaxException
190+
throws URISyntaxException, NoSuchAlgorithmException, KeyManagementException
191191
{
192192
URI uri = new URI(uriString);
193193

194-
if (!"amqp".equals(uri.getScheme())) {
194+
if ("amqp".equals(uri.getScheme().toLowerCase())) {
195+
// nothing special to do
196+
} else if ("amqps".equals(uri.getScheme().toLowerCase())) {
197+
setPort(DEFAULT_AMQP_OVER_SSL_PORT);
198+
useSslProtocol();
199+
} else {
195200
throw new IllegalArgumentException("Wrong scheme in AMQP URI: " + uriString);
196201
}
197202

test/src/com/rabbitmq/client/test/AmqpUriTest.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,15 @@
1818

1919
import com.rabbitmq.client.ConnectionFactory;
2020

21+
import java.security.KeyManagementException;
22+
import java.security.NoSuchAlgorithmException;
2123
import java.net.URISyntaxException;
2224

2325
public class AmqpUriTest extends BrokerTestCase
2426
{
25-
public void testUriParsing() throws URISyntaxException {
27+
public void testUriParsing()
28+
throws URISyntaxException, NoSuchAlgorithmException, KeyManagementException
29+
{
2630
/* From the spec (subset of the tests) */
2731
parseSuccess("amqp://user:pass@host:10000/vhost",
2832
"user", "pass", "host", 10000, "vhost");
@@ -68,7 +72,7 @@ public void testUriParsing() throws URISyntaxException {
6872

6973
private void parseSuccess(String uri, String user, String password,
7074
String host, int port, String vhost)
71-
throws URISyntaxException
75+
throws URISyntaxException, NoSuchAlgorithmException, KeyManagementException
7276
{
7377
ConnectionFactory cf = new ConnectionFactory();
7478
cf.setUri(uri);

test/src/com/rabbitmq/examples/StressPersister.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import java.io.IOException;
2020
import java.io.PrintWriter;
2121
import java.net.URISyntaxException;
22+
import java.security.KeyManagementException;
23+
import java.security.NoSuchAlgorithmException;
2224
import java.util.ArrayList;
2325
import java.util.List;
2426

@@ -86,7 +88,9 @@ private static int sizeArg(CommandLine cmd, char opt, int def) {
8688
public long topStartTime;
8789
public PrintWriter logOut;
8890

89-
public void configure(String[] args) throws ParseException, URISyntaxException {
91+
public void configure(String[] args)
92+
throws ParseException, URISyntaxException, NoSuchAlgorithmException, KeyManagementException
93+
{
9094
Options options = new Options();
9195
options.addOption(new Option("h", "uri", true, "AMQP URI"));
9296
options.addOption(new Option("C", "comment", true, "comment text"));

test/src/com/rabbitmq/examples/TestMain.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
import java.io.IOException;
2121
import java.io.InputStream;
22+
import java.security.KeyManagementException;
23+
import java.security.NoSuchAlgorithmException;
2224
import java.net.URISyntaxException;
2325

2426
import com.rabbitmq.client.AMQP;
@@ -75,7 +77,7 @@ private static class TestConnectionFactory extends ConnectionFactory {
7577
private final int protocolMinor;
7678

7779
public TestConnectionFactory(int major, int minor, String uri)
78-
throws URISyntaxException
80+
throws URISyntaxException, NoSuchAlgorithmException, KeyManagementException
7981
{
8082
this.protocolMajor = major;
8183
this.protocolMinor = minor;
@@ -97,7 +99,7 @@ public void sendHeader() throws IOException {
9799
}
98100

99101
public static void runConnectionNegotiationTest(final String uri)
100-
throws IOException, URISyntaxException
102+
throws IOException, URISyntaxException, NoSuchAlgorithmException, KeyManagementException
101103
{
102104

103105
Connection conn;
@@ -156,7 +158,7 @@ private static void checkNegotiatedMaxValue(String name,
156158
}
157159

158160
public static void runConnectionShutdownTests(final String uri)
159-
throws IOException, URISyntaxException
161+
throws IOException, URISyntaxException, NoSuchAlgorithmException, KeyManagementException
160162
{
161163
Connection conn;
162164
Channel ch;
@@ -180,7 +182,7 @@ public static void runConnectionShutdownTests(final String uri)
180182
}
181183

182184
public static void runProducerConsumerTest(String uri, int commitEvery)
183-
throws IOException, URISyntaxException
185+
throws IOException, URISyntaxException, NoSuchAlgorithmException, KeyManagementException
184186
{
185187
ConnectionFactory cfconnp = new ConnectionFactory();
186188
cfconnp.setUri(uri);

0 commit comments

Comments
 (0)