本文整理了Java中org.apache.storm.utils.Utils.getAvailablePort()
方法的一些代码示例,展示了Utils.getAvailablePort()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Utils.getAvailablePort()
方法的具体详情如下:
包路径:org.apache.storm.utils.Utils
类名称:Utils
方法名:getAvailablePort
[英]Shortcut to calling #getAvailablePort(int) with 0 as the preferred port
[中]
代码示例来源:origin: apache/storm
/**
* Shortcut to calling {@link #getAvailablePort(int) } with 0 as the preferred port
*
* @return A random available port
*/
public static int getAvailablePort() {
return getAvailablePort(0);
}
代码示例来源:origin: apache/storm
/**
* Gets an available port. Consider if it is possible to pass port 0 to the server instead of using this method, since there is no
* guarantee that the port returned by this method will remain free.
*
* @param preferredPort
* @return The preferred port if available, or a random available port
*/
public static int getAvailablePort(int preferredPort) {
int localPort = -1;
try (ServerSocket socket = new ServerSocket(preferredPort)) {
localPort = socket.getLocalPort();
} catch (IOException exp) {
if (preferredPort > 0) {
return getAvailablePort(0);
}
}
return localPort;
}
代码示例来源:origin: apache/storm
try {
AtomicReference<TaskMessage> response = new AtomicReference<>();
int port = Utils.getAvailablePort(6700);
try (IConnection client = context.connect(null, "localhost", port, remoteBpStatus)) {
AtomicReference<IConnection> server = new AtomicReference<>();
代码示例来源:origin: apache/storm
private void doTestServerAlwaysReconnects(Map<String, Object> stormConf) throws Exception {
LOG.info("6. test server always reconnects");
String reqMessage = "0123456789abcdefghijklmnopqrstuvwxyz";
IContext context = TransportFactory.makeContext(stormConf);
try {
AtomicReference<TaskMessage> response = new AtomicReference<>();
int port = Utils.getAvailablePort(6700);
try (IConnection client = context.connect(null, "localhost", port, remoteBpStatus)) {
byte[] messageBytes = reqMessage.getBytes(StandardCharsets.UTF_8);
send(client, taskId, messageBytes);
try (IConnection server = context.bind(null, port)) {
server.registerRecv(mkConnectionCallback(response::set));
waitUntilReady(client, server);
send(client, taskId, messageBytes);
waitForNotNull(response);
TaskMessage responseMessage = response.get();
assertThat(responseMessage.task(), is(taskId));
assertThat(responseMessage.message(), is(messageBytes));
}
}
} finally {
context.term();
}
}
代码示例来源:origin: apache/storm
@Test
public void testSubmitTopologyToLocalNimbus() throws Exception {
int port = Utils.getAvailablePort();
try (ILocalCluster localCluster = new LocalCluster.Builder()
.withNimbusDaemon(true)
.withDaemonConf(Config.NIMBUS_THRIFT_PORT, port)
.build()) {
Config topoConf = new Config();
topoConf.putAll(Utils.readDefaultConfig());
topoConf.setDebug(true);
topoConf.put("storm.cluster.mode", "local"); // default is aways "distributed" but here local cluster is being used.
topoConf.put(Config.STORM_TOPOLOGY_SUBMISSION_NOTIFIER_PLUGIN, InmemoryTopologySubmitterHook.class.getName());
topoConf.put(Config.NIMBUS_THRIFT_PORT, port);
List<TopologyDetails> topologyNames = new ArrayList<>();
for (int i = 0; i < 4; i++) {
final String topologyName = "word-count-" + UUID.randomUUID().toString();
final StormTopology stormTopology = createTestTopology();
topologyNames.add(new TopologyDetails(topologyName, stormTopology));
localCluster.submitTopology(topologyName, topoConf, stormTopology);
}
Assert.assertEquals(InmemoryTopologySubmitterHook.submittedTopologies, topologyNames);
}
}
代码示例来源:origin: org.apache.storm/storm-core
public static int getAvailablePort() {
return getAvailablePort(0);
}
代码示例来源:origin: org.apache.storm/storm-core
public static int getAvailablePort(int prefferedPort) {
int localPort = -1;
try(ServerSocket socket = new ServerSocket(prefferedPort)) {
localPort = socket.getLocalPort();
} catch(IOException exp) {
if (prefferedPort > 0) {
return getAvailablePort(0);
}
}
return localPort;
}
内容来源于网络,如有侵权,请联系作者删除!