2

wildfly-swarm 1.0.0.Beta8 を使用してローカルで動作する JAX-RS サービスがありますが、リモート マシンで起動すると、次の例外が発生します。

ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.undertow.listener.default: org.jboss.msc.service.StartException in service jboss.undertow.listener.default: Could not start http listener
    at org.wildfly.extension.undertow.ListenerService.start(ListenerService.java:142)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketException: Protocol family unavailable
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at org.xnio.nio.NioXnioWorker.createTcpConnectionServer(NioXnioWorker.java:190)
    at org.xnio.XnioWorker.createStreamConnectionServer(XnioWorker.java:243)
    at org.wildfly.extension.undertow.HttpListenerService.startListening(HttpListenerService.java:126)
    at org.wildfly.extension.undertow.ListenerService.start(ListenerService.java:138)
    ... 5 more

また、アプリを完全な wildfly 10 にデプロイすると、問題なく動作します。

「プロトコルファミリを利用できません」という例外は、IPv6アドレスしか持たないマシンに関連している可能性があることをグーグルで調べましたが、JavaのデフォルトはIPv4ですが、このマシンにIPv4アドレスがあります。

何が間違っているのかわかりません。

助言がありますか?

4

3 に答える 3

7

次のような設定になるように wildfly-swarm-plugin を変更してみてください。

  <plugin>
    <groupId>org.wildfly.swarm</groupId>
    <artifactId>wildfly-swarm-plugin</artifactId>
    <configuration>
      <mainClass>org.wildfly.swarm.examples.netflix.ribbon.frontend.Main</mainClass>
      <properties>
        <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
      </properties>
    </configuration>
    <executions>
      <execution>
        <goals>
          <goal>package</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

java.net.preferIPv4Stack を true に設定する必要がある場合があります。

于 2016-06-26T19:21:38.770 に答える
1

$JBOSS_HOME/bin/standalone.conf JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true" に Java オプションを追加します。

于 2017-10-27T11:12:02.570 に答える