這個必須記錄一下;
使用:SpringBoot+Mybatis+SqlServer2016+阿里連接池
部署:打包jar,在客戶私有服務器上運行,客戶服務器是Windows Server 2016
問題:剛開始直接無法啟動,報如下錯誤,起初是重啟服務器解決的,因為服務器上還運行這其他幾個服務軟件,主要就數據接收和存儲功能,剛開始猜測是他們軟件影響的,因為查看了端口占用情況太多了,基本所有端口都被占用了,好幾頁,剛開始沒理他就這么運行着,后來因為程序調整又重啟了一兩次服務器,重啟服務器太費勁,也不是解決問題的辦法;下面看我的解決方法
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-12-20 15:23:26.093 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:215)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:297)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at com.zongheng.ems.http.HttpServiceApp.main(HttpServiceApp.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed
at org.apache.catalina.core.StandardService.addConnector(StandardService.java:231)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:278)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:197)
... 18 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1038)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227)
... 20 common frames omitted
Caused by: java.io.IOException: Unable to establish loopback connection
at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source)
at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.nio.ch.PipeImpl.<init>(Unknown Source)
at sun.nio.ch.SelectorProviderImpl.openPipe(Unknown Source)
at java.nio.channels.Pipe.open(Unknown Source)
at sun.nio.ch.WindowsSelectorImpl.<init>(Unknown Source)
at sun.nio.ch.WindowsSelectorProvider.openSelector(Unknown Source)
at java.nio.channels.Selector.open(Unknown Source)
at org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector(NioSelectorPool.java:52)
at org.apache.tomcat.util.net.NioSelectorPool.close(NioSelectorPool.java:119)
at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:342)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1146)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1227)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:592)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1035)
... 22 common frames omitted
Caused by: java.net.SocketException: No buffer space available (maximum connections reached?): bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(Unknown Source)
... 38 common frames omitted
2021-12-20 15:23:26.104 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor'
2021-12-20 15:23:26.106 [main] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closing ...
2021-12-20 15:23:26.108 [main] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
解決方案:網上看了好多資料,參考這個連接https://blog.csdn.net/yzy199391/article/details/78911329?utm_medium=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~default-1.control404&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~default-1.control40,主要說是WindowsServer服務器bug,需要打補丁,我就找補丁,微軟官網還下載不了,后來在這下載的http://thehotfixshare.net/board/index.php?/files/file/13913-windows61-kb2577795-x64msu/;
下載完成后去安裝,結果安裝不了報錯了,尼瑪,
網上各種找問題,幾個簡單的方法都試了,不好使,因為是客戶的服務器不敢大搞,反正就是解決不了;后來繼續查找起初的問題,終於看到了這片文章https://blog.csdn.net/woshiji594167/article/details/81874095?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.opensearchhbase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.opensearchhbase;
這片文章其實錯誤信息和我的不太一樣,抱着試試的態度去試了了,結果程序啟動起來了;沒錯了,深入的研究不明白,主要看大神們的文章;不管怎么樣先告一段落,回頭在出問題繼續找,寫給同樣遇到這個問題的戰友們,希望你們不要和我是的用一天的時間去找這個問題;
文才有限,也不太會弄格式,我盡量寫詳細了,希望能幫到大家;謝謝