Skip to content

Commit fd15684

Browse files
author
Steve Powell
committed
Merge 24795 into default.
2 parents e92a412 + f98972a commit fd15684

File tree

10 files changed

+82
-32
lines changed

10 files changed

+82
-32
lines changed

src/com/rabbitmq/client/ConnectionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ private String uriDecode(String s) {
256256
// form encoding. So protect plus signs.
257257
return URLDecoder.decode(s.replace("+", "%2B"), "US-ASCII");
258258
}
259-
catch (java.io.UnsupportedEncodingException e) {
259+
catch (IOException e) {
260260
throw new RuntimeException(e);
261261
}
262262
}

src/com/rabbitmq/client/RpcClient.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,18 @@ public byte[] primitiveCall(byte[] message)
229229
public String stringCall(String message)
230230
throws IOException, ShutdownSignalException, TimeoutException
231231
{
232-
return new String(primitiveCall(message.getBytes()));
232+
byte[] request;
233+
try {
234+
request = message.getBytes(StringRpcServer.STRING_ENCODING);
235+
} catch (IOException _) {
236+
request = message.getBytes();
237+
}
238+
byte[] reply = primitiveCall(request);
239+
try {
240+
return new String(reply, StringRpcServer.STRING_ENCODING);
241+
} catch (IOException _) {
242+
return new String(reply);
243+
}
233244
}
234245

235246
/**

src/com/rabbitmq/client/StringRpcServer.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
package com.rabbitmq.client;
1919

2020
import java.io.IOException;
21-
import java.io.UnsupportedEncodingException;
2221

2322
/**
2423
* Subclass of RpcServer which accepts UTF-8 string requests.
@@ -30,6 +29,8 @@ public StringRpcServer(Channel channel) throws IOException
3029
public StringRpcServer(Channel channel, String queueName) throws IOException
3130
{ super(channel, queueName); }
3231

32+
public static String STRING_ENCODING = "UTF-8";
33+
3334
/**
3435
* Overridden to do UTF-8 processing, and delegate to
3536
* handleStringCall. If UTF-8 is not understood by this JVM, falls
@@ -39,14 +40,14 @@ public byte[] handleCall(byte[] requestBody, AMQP.BasicProperties replyPropertie
3940
{
4041
String request;
4142
try {
42-
request = new String(requestBody, "UTF-8");
43-
} catch (UnsupportedEncodingException uee) {
43+
request = new String(requestBody, STRING_ENCODING);
44+
} catch (IOException _) {
4445
request = new String(requestBody);
4546
}
4647
String reply = handleStringCall(request, replyProperties);
4748
try {
48-
return reply.getBytes("UTF-8");
49-
} catch (UnsupportedEncodingException uee) {
49+
return reply.getBytes(STRING_ENCODING);
50+
} catch (IOException _) {
5051
return reply.getBytes();
5152
}
5253
}
@@ -69,14 +70,14 @@ public String handleStringCall(String request)
6970

7071
/**
7172
* Overridden to do UTF-8 processing, and delegate to
72-
* handleStringCast. If UTF-8 is not understood by this JVM, falls
73-
* back to the platform default.
73+
* handleStringCast. If requestBody cannot be interpreted as UTF-8
74+
* tries the platform default.
7475
*/
7576
public void handleCast(byte[] requestBody)
7677
{
7778
try {
78-
handleStringCast(new String(requestBody, "UTF-8"));
79-
} catch (UnsupportedEncodingException uee) {
79+
handleStringCast(new String(requestBody, STRING_ENCODING));
80+
} catch (IOException _) {
8081
handleStringCast(new String(requestBody));
8182
}
8283
}

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,16 @@
1616

1717
package com.rabbitmq.client.test;
1818

19-
import com.rabbitmq.client.*;
19+
import java.util.ArrayList;
20+
import java.util.Collections;
21+
import java.util.Comparator;
22+
import java.util.List;
23+
2024
import junit.framework.TestCase;
21-
import java.util.*;
25+
26+
import com.rabbitmq.client.Channel;
27+
import com.rabbitmq.client.Connection;
28+
import com.rabbitmq.client.ConnectionFactory;
2229

2330
public class ChannelNumberAllocationTests extends TestCase{
2431
static int CHANNEL_COUNT = 100;

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

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,25 @@
1616

1717
package com.rabbitmq.client.test;
1818

19-
import com.rabbitmq.client.impl.*;
20-
import com.rabbitmq.client.*;
2119
import java.io.IOException;
22-
import java.util.concurrent.atomic.AtomicBoolean;
2320
import java.util.concurrent.CountDownLatch;
2421
import java.util.concurrent.Executors;
2522
import java.util.concurrent.TimeUnit;
23+
import java.util.concurrent.atomic.AtomicBoolean;
2624

2725
import javax.net.SocketFactory;
2826

27+
import com.rabbitmq.client.AMQP;
28+
import com.rabbitmq.client.Channel;
29+
import com.rabbitmq.client.Command;
30+
import com.rabbitmq.client.ConnectionFactory;
31+
import com.rabbitmq.client.Consumer;
32+
import com.rabbitmq.client.DefaultConsumer;
33+
import com.rabbitmq.client.Envelope;
34+
import com.rabbitmq.client.impl.AMQConnection;
35+
import com.rabbitmq.client.impl.DefaultExceptionHandler;
36+
import com.rabbitmq.client.impl.SocketFrameHandler;
37+
2938
public class CloseInMainLoop extends BrokerTestCase{
3039

3140
private final CountDownLatch closeLatch = new CountDownLatch(1);

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,13 @@
1616

1717
package com.rabbitmq.client.test;
1818

19-
import com.rabbitmq.client.*;
20-
import java.util.concurrent.atomic.AtomicInteger;
2119
import java.util.concurrent.CountDownLatch;
2220
import java.util.concurrent.TimeUnit;
21+
import java.util.concurrent.atomic.AtomicInteger;
22+
23+
import com.rabbitmq.client.Channel;
24+
import com.rabbitmq.client.QueueingConsumer;
25+
import com.rabbitmq.client.ShutdownSignalException;
2326

2427
public class QueueingConsumerShutdownTests extends BrokerTestCase{
2528
static final String QUEUE = "some-queue";
@@ -52,7 +55,7 @@ public void testNThreadShutdown() throws Exception{
5255
}
5356

5457
connection.close();
55-
58+
5659
// Far longer than this could reasonably take
5760
assertTrue(latch.await(5, TimeUnit.SECONDS));
5861
assertEquals(0, count.get());

test/src/com/rabbitmq/client/test/performance/CLIHelper.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,16 @@
1717

1818
package com.rabbitmq.client.test.performance;
1919

20-
import org.apache.commons.cli.*;
21-
2220
import java.util.Iterator;
2321

22+
import org.apache.commons.cli.CommandLine;
23+
import org.apache.commons.cli.CommandLineParser;
24+
import org.apache.commons.cli.GnuParser;
25+
import org.apache.commons.cli.HelpFormatter;
26+
import org.apache.commons.cli.Option;
27+
import org.apache.commons.cli.Options;
28+
import org.apache.commons.cli.ParseException;
29+
2430
/**
2531
* Super class for handling repetative CLI stuff
2632
*/
@@ -29,7 +35,7 @@ public class CLIHelper {
2935
private Options options = new Options();
3036

3137
public static CLIHelper defaultHelper() {
32-
Options opts = new Options();
38+
Options opts = new Options();
3339
opts.addOption(new Option( "help", "print this message"));
3440
opts.addOption(new Option("h", "host", true, "broker host"));
3541
opts.addOption(new Option("p", "port", true, "broker port"));
@@ -48,7 +54,7 @@ public void addOption(Option option) {
4854
}
4955

5056
public CommandLine parseCommandLine(String [] args) {
51-
CommandLineParser parser = new GnuParser();
57+
CommandLineParser parser = new GnuParser();
5258
CommandLine commandLine = null;
5359
try {
5460
commandLine = parser.parse(options, args);

test/src/com/rabbitmq/client/test/performance/ScalabilityTest.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,27 @@
1717

1818
package com.rabbitmq.client.test.performance;
1919

20-
import com.rabbitmq.client.*;
21-
import org.apache.commons.cli.CommandLine;
22-
import org.apache.commons.cli.Option;
23-
20+
import java.io.FileOutputStream;
2421
import java.io.IOException;
2522
import java.io.PrintStream;
26-
import java.io.FileOutputStream;
2723
import java.text.DecimalFormat;
2824
import java.text.NumberFormat;
29-
import java.util.*;
25+
import java.util.Random;
26+
import java.util.Stack;
27+
import java.util.UUID;
28+
import java.util.Vector;
3029
import java.util.concurrent.CountDownLatch;
3130

31+
import org.apache.commons.cli.CommandLine;
32+
import org.apache.commons.cli.Option;
33+
34+
import com.rabbitmq.client.AMQP;
35+
import com.rabbitmq.client.Channel;
36+
import com.rabbitmq.client.Connection;
37+
import com.rabbitmq.client.ConnectionFactory;
38+
import com.rabbitmq.client.MessageProperties;
39+
import com.rabbitmq.client.ReturnListener;
40+
3241
/**
3342
* This tests the scalability of the routing tables in two aspects:
3443
*

test/src/com/rabbitmq/client/test/server/Bug19219Test.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package com.rabbitmq.client.test.server;
1818

19-
import com.rabbitmq.client.test.*;
2019
import java.io.IOException;
2120
import java.util.concurrent.CountDownLatch;
2221
import java.util.concurrent.Semaphore;
@@ -29,6 +28,7 @@
2928
import com.rabbitmq.client.DefaultConsumer;
3029
import com.rabbitmq.client.MessageProperties;
3130
import com.rabbitmq.client.ShutdownSignalException;
31+
import com.rabbitmq.client.test.BrokerTestCase;
3232

3333
/**
3434
* Test for bug 19219 - timeouts due to task parallelism in channel

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@
1616

1717
package com.rabbitmq.examples;
1818

19-
import com.rabbitmq.client.*;
20-
import java.util.*;
19+
import java.util.ArrayList;
20+
import java.util.Collections;
21+
22+
import com.rabbitmq.client.Channel;
23+
import com.rabbitmq.client.Connection;
24+
import com.rabbitmq.client.ConnectionFactory;
2125

2226
class ChannelCreationPerformance {
2327
static Connection connect() throws Exception{

0 commit comments

Comments
 (0)