8000 Merge pull request #33 from vikinghawk/threadFactory · my-java/rabbitmq-java-client@c998e0c · GitHub
[go: up one dir, main page]

Skip to content

Commit c998e0c

Browse files
Merge pull request rabbitmq#33 from vikinghawk/threadFactory
Use custom thread factory on RecoveryAware connection / channel manager
2 parents 077cf3a + a7f10da commit c998e0c

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

src/com/rabbitmq/client/impl/Environment.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@
99
class Environment {
1010
public static boolean isAllowedToModifyThreads() {
1111
try {
12-
SecurityManager sm = new SecurityManager();
13-
sm.checkPermission(new RuntimePermission("modifyThread"));
14-
sm.checkPermission(new RuntimePermission("modifyThreadGroup"));
12+
SecurityManager sm = System.getSecurityManager();
13+
if(sm != null) {
14+
sm.checkPermission(new RuntimePermission("modifyThread"));
15+
sm.checkPermission(new RuntimePermission("modifyThreadGroup"));
16+
}
1517
return true;
1618
} catch (SecurityException se) {
1719
return false;

src/com/rabbitmq/client/impl/recovery/RecoveryAwareAMQConnection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ public RecoveryAwareAMQConnection(ConnectionParams params, FrameHandler handler)
1717

1818
@Override
1919
protected RecoveryAwareChannelManager instantiateChannelManager(int channelMax, ThreadFactory threadFactory) {
20-
return new RecoveryAwareChannelManager(super._workService, channelMax);
20+
return new RecoveryAwareChannelManager(super._workService, channelMax, threadFactory);
2121
}
2222
}

src/com/rabbitmq/client/impl/recovery/RecoveryAwareChannelManager.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,19 @@
55
import com.rabbitmq.client.impl.ChannelN;
66
import com.rabbitmq.client.impl.ConsumerWorkService;
77

8+
import java.util.concurrent.Executors;
9+
import java.util.concurrent.ThreadFactory;
10+
811
/**
912
* @since 3.3.0
1013
*/
1114
public class RecoveryAwareChannelManager extends ChannelManager {
1215
public RecoveryAwareChannelManager(ConsumerWorkService workService, int channelMax) {
13-
super(workService, channelMax);
16+
this(workService, channelMax, Executors.defaultThreadFactory());
17+
}
18+
19+
public RecoveryAwareChannelManager(ConsumerWorkService workService, int channelMax, ThreadFactory threadFactory) {
20+
super(workService, channelMax, threadFactory);
1421
}
1522

1623
@Override

0 commit comments

Comments
 (0)
0