Java 插座连接器8081-地址已在使用中
我正在尝试在两个不同的端口8080和9000上运行两个Dropwizard服务器应用程序。第一个应用程序成功启动,但在尝试运行时,我一直遇到以下异常 在9000端口。我不理解的是,为什么应用程序使用2个端口,以及如何强制应用程序为第二个端口使用不同的端口号Java 插座连接器8081-地址已在使用中,java,port,dropwizard,jetty-8,Java,Port,Dropwizard,Jetty 8,我正在尝试在两个不同的端口8080和9000上运行两个Dropwizard服务器应用程序。第一个应用程序成功启动,但在尝试运行时,我一直遇到以下异常 在9000端口。我不理解的是,为什么应用程序使用2个端口,以及如何强制应用程序为第二个端口使用不同的端口号 INFO [2014-03-22 17:17:28,031] org.eclipse.jetty.server.AbstractConnector: Started InstrumentedBlockingChannelConnec
INFO [2014-03-22 17:17:28,031] org.eclipse.jetty.server.AbstractConnector: Started
InstrumentedBlockingChannelConnector@0.0.0.0:9000
WARN [2014-03-22 17:17:28,033] org.eclipse.jetty.util.component.AbstractLifeCycle: FAILED
SocketConnector@0.0.0.0:8081: java.net.BindException: Address already in use
! java.net.BindException: Address already in use
! at org.eclipse.jetty.server.bio.SocketConnector.newServerSocket(SocketConnector.java:96)
~[jetty-server-8.1.10.v20130312.jar:8.1.10.v20130312]
! at org.eclipse.jetty.server.bio.SocketConnector.open(SocketConnector.java:85) ~[jetty-
server-8.1.10.v20130312.jar:8.1.10.v20130312]
! at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:316) ~
[jetty-server-8.1.10.v20130312.jar:8.1.10.v20130312]
! at org.eclipse.jetty.server.bio.SocketConnector.doStart(SocketConnector.java:156) ~
[jetty-server-8.1.10.v20130312.jar:8.1.10.v20130312]
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[jetty-util-8.1.10.v20130312.jar:8.1.10.v20130312]
! at org.eclipse.jetty.server.Server.doStart(Server.java:291) [jetty-server-
8.1.10.v20130312.jar:8.1.10.v20130312]
! at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[jetty-util-8.1.10.v20130312.jar:8.1.10.v20130312]
! at com.yammer.dropwizard.cli.ServerCommand.run(ServerCommand.java:48) [dropwizard-core-
0.6.2.jar:na]
! at com.yammer.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:39)
[dropwizard-core-0.6.2.jar:na]
! at com.yammer.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:58)
[dropwizard-core-0.6.2.jar:na]
! at com.yammer.dropwizard.cli.Cli.run(Cli.java:53) [dropwizard-core-0.6.2.jar:na]
! at com.yammer.dropwizard.Service.run(Service.java:61) [dropwizard-core-0.6.2.jar:na]
! at com.paypal.demandgen.places.indexing.IndexingServer.main(IndexingServer.java:96)
[classes/:na]
WARN [2014-03-22 17:17:28,034] org.eclipse.jetty.util.component.AbstractLifeCycle: FAILED or
Dropwizard实际上提供两个站点:主站点和位于不同端口的管理站点。管理部分允许您查看站点上的指标和健康检查
在本例中,问题是由于管理客户端造成的,默认情况下,该客户端在端口8081上运行。因此,您还需要设置
-Ddw.http.adminPort=9001
(例如)使用yml文件中的以下设置在不同的端口上运行服务器(一些设置是配置为提高服务器性能的常规设置)
你们可以尝试一件事,你们可以检查控制台,若你们的服务器已经在运行,那个么在控制台你们会看到一个红色的终止按钮,若那个是启用的(可点击)然后单击该按钮并重新运行代码,这次eclipse将重新初始化服务器和端口的所有实例。您可以将端口设置为'-Ddw.http.port=9090'。这里:这正是我将端口设置为9000的方式。第一个应用程序在默认端口上运行,而第二个应用程序在9000上运行,方法是设置上面的jvm标志,执行netstat并检查端口9000和8080是否已被使用。是的,我正在并行挖掘并解决了这个问题,但感谢replyGlad知道它正在工作。今天早些时候,我刚刚遇到了一个类似的问题,我急于回答这个问题。我将为后代补充一些细节。
server:
applicationConnectors:
- type: http
port: 9179
outputBufferSize: 32KiB
idleTimeout: 30 seconds
minBufferPoolSize: 64 bytes
bufferPoolIncrement: 1KiB
maxBufferPoolSize: 64KiB
acceptorThreads: 1
selectorThreads: 2
acceptQueueSize: 1024
reuseAddress: true
soLingerTime: 600s
adminConnectors:
- type: http
port: 9180