SocketConnector 8081 - 地址已在使用中

时间:2014-03-22 19:19:57

标签: java port dropwizard jetty-8

我正在尝试在2个不同的端口8080和9000上运行2个Dropwizard服务器应用程序。第一个应用程序启动成功但我在尝试运行时仍然遇到以下异常 在端口9000上。我不明白的是,为什么应用程序使用了2个端口,如何强制我的应用程序为第二个端口使用不同的端口号

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

4 个答案:

答案 0 :(得分:8)

使用yml文件中的以下设置在不同端口上运行服务器(某些设置是为了提高服务器性能而配置的常规设置)

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

答案 1 :(得分:6)

Dropwizard实际上提供了两个站点:主站点和不同端口上的管理站点。管理部分允许您查看网站上的指标和运行状况检查。

在这种情况下,问题是由于Admin客户端,默认情况下在端口8081上运行。所以你还需要设置-Ddw.http.adminPort=9001(例如)

答案 2 :(得分:0)

你可以尝试一下你可以检查控制台的事情,如果你的服务器已经运行,那么在控制台你会看到一个红色按钮,如果是,但启用(可点击),然后点击它,这次重新运行你的代码eclipse也将重新初始化服务器和端口的所有实例。

答案 3 :(得分:0)

对我有用的是进行这些更改

server:
  applicationConnectors:
    - type: http
      port: 6666
    - type: https
      port: 6444
  adminConnectors:
    - type: http
      port: 6667