我正在使用Spring Boot并且有一个初始化EmbeddedServletContainerCustomizer
的bean。我有一个属性文件,其中用户提供要绑定的端口和IP地址(因此需要EmbeddedServletContainerCustomizer
,因为该端口不是Spring引导使用的默认端口)。在初始化此bean之前,如何测试地址和端口组合是否已在使用?我无法在此bean中创建ServerSocket
。我希望有一种优雅的方法来捕获此异常并记录它。在使用port / ip组合的情况下,Spring将使用堆栈跟踪关闭。
@Bean
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() throws UnknownHostException {
EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer = null;
embeddedServletContainerCustomizer = new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(port);
container.setAddress(inetAddress);
}
};
return embeddedServletContainerCustomizer;
}
答案 0 :(得分:1)
您可以使用Spring SocketUtils 例如
<HTML XMLns="http://www.w3.org/1999/xHTML">
<head>
<title>Check for perfect palindrome</title>
</head>
<body>
<?php
$string = "";
if(isset($_POST['stringInput']))
{
$string = $_POST['stringInput'];
if ($string =="")
{
echo "Please fill the form";
} else if ($string == strrev($string) )
{
echo "You entered: <b>'$string'</b> is a perfect palindrome.";
} else
{
echo "You entered: <b>'$string'</b> is NOT a perfect palindrome.";
}
}
?>
<h1>Check for perfect palindrome</h1>
<form method="post">
<label for="stringInput">String:</label><input type="text" id="stringInput" name="stringInput" value="<?php echo $_REQUEST['stringInput'];?>"><br/>
<br/><input type="submit" name="submit" value="Check" />
</form>
</body>
</HTML>