JBoss 4.0.5 GA Windows 7でJavaバージョン1.5(古いJavaバージョンとJBoss(レガシーシステムで作業しているため)。そして、サーバーを起動すると、次のエラーが表示されます。
Java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
そして、これは他の多くの例外を引き起こすと信じています:
11:09:26,925 WARN [ServiceController] Problem starting servicejboss.cache:service=TomcatClustering Cache
Java.lang.NullPointerException
at org.jgroups.protocols.FD_SOCK.down(FD_SOCK.Java:235)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.protocols.FD.down(FD.Java:278)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.stack.Protocol.down(Protocol.Java:540)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.protocols.pbcast.NAKACK.down(NAKACK.Java:297)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.protocols.UNICAST.down(UNICAST.Java:262)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.protocols.pbcast.STABLE.down(STABLE.Java:292)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.protocols.pbcast.GMS.down(GMS.Java:605)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.protocols.FC.down(FC.Java:122)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.protocols.FRAG2.down(FRAG2.Java:146)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
at org.jgroups.protocols.pbcast.STATE_TRANSFER.down(STATE_TRANSFER.Java:217)
at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
at org.jgroups.stack.ProtocolStack.down(ProtocolStack.Java:331)
at org.jgroups.JChannel.down(JChannel.Java:1035)
at org.jgroups.JChannel.connect(JChannel.Java:374)
at org.jboss.cache.TreeCache.startService(TreeCache.Java:1424)
at org.jboss.cache.aop.PojoCache.startService(PojoCache.Java:94)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.Java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.Java:245)
at Sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.Java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.Java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.Java:417)
at Sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.Java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.Java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.Java:302)
at org.jboss.deployment.MainDeployer.start(MainDeployer.Java:1025)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:819)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:782)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.Java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.Java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.Java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.Java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.Java:210)
at $Proxy8.deploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.Java:421)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.Java:634)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.Java:263)
at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.Java:336)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.Java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.Java:245)
at Sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.Java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.Java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.Java:417)
at Sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.Java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.Java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.Java:302)
at org.jboss.deployment.MainDeployer.start(MainDeployer.Java:1025)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:819)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:782)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:766)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.Java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.Java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.Java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.Java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.Java:210)
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.Java:482)
at org.jboss.system.server.ServerImpl.start(ServerImpl.Java:362)
at org.jboss.Main.boot(Main.Java:200)
at org.jboss.Main$1.run(Main.Java:490)
at Java.lang.Thread.run(Thread.Java:619)
誰か助けていただければ幸いです。少なくとも、ソリューションを探す場所を見つけるために(たとえば、これはWindows 7とJBossクラスタリングの非互換性に関連するエラーですか?これはポート設定が間違っているためですか?など)
ありがとう。
この問題は、IPv6 TCP Stackがインストールされている一部のWindowsシステムで発生します。IPv4とIPv6の両方がコンピュータにインストールされている場合、Java Virtual Machine(JVM )オペレーティングシステムレベルでソケットの開閉に問題がある可能性があります。
次のJVMオプションを追加します:-Djava.net.preferIPv4Stack=true
これは、デフォルトでIPv4スタックとIPv6スタックの両方がインストールされているWindows 7およびWindows 2008システムで発生します。
JBossが使用しているポートに既にバインドされている別のプロセスがあり(8080?)、JBossが正しく開始されない可能性があります(JBossが使用するポートのリストについては このページ を参照)。
競合するプロセスを見つけてシャットダウンします。
netstat -a -o -n
を使用し、JBoss(たとえば8080)が使用するポートと対応するpid
を探しますtasklist /FI "PID eq <pid>"
を使用してプロセスを見つけますまたは、JBossのデフォルトポートを変更します。それにはいくつかの方法がありますが、最良の方法は Service Binding Manager を使用することです(詳細な手順は 1台のマシンで複数のJBossインスタンスを設定する を参照)。
ここで例を実装しようとしてWin7で同じ問題に遭遇しました: http://download.Oracle.com/javase/tutorial/networking/sockets/clientServer.html
サンプルコードのデフォルトポートは4444です。このポートを使用すると、「認識されないWindowsソケットエラー:0:JVM_Bind」が表示されます。
ポートを44444に変更して再試行しました。 Windows Firewallサービスから、このアプリケーションにネットワークへのアクセス許可があるかどうかを尋ねるポップアップが表示されました。 [OK]を選択すると、サーバーの起動時にエラーメッセージが表示されなくなります。
いくつかの実験の後、ポート5000以下でJVM_Bindエラーが発生することがわかりました。 5001以上のポートは問題なくバインドされます。
同様の問題がありました。 process-xp を使用してjavaw.exe
を削除してから、アプリケーションを再起動しました。わたしにはできる。
Windows 10のTomcatでも同じ問題が発生しました。これをcatalina.batファイルの上部近くに追加しました。
SET Java_OPTS=-Djava.net.preferIPv4Stack=true
Tomcatでこの問題が発生していましたが、Skypeとのポートの競合になりました。 [Skype]-> [オプション]-> [詳細]-> [接続]で、次の「着信接続の代替としてポート80と443を使用する」のチェックを外しました。これで問題は完全に解決しました。
これで問題が解決しました:)次のJVMオプションを追加します:-Djava.net.preferIPv4Stack = true
それはJava 32/64ビットの問題です。32ビットJVMでjarを実行してみてください。
これは古い問題であることは知っていますが、最近、問題の原因と解決策を見つけました。サーバーソケットプログラムは、コードをループに入れるまで問題なく動作し、最初の試行の後、accept()
を試行するたびにUnrecognized Windows Sockets error: 0: JVM_Bind
エラーが発生しました。このようなコードがありました:
ServerSocket ssock = null;
Socket sock = null;
while (loopCount < loopLimit) {
ssock = new ServerSocket(port);
ssock.setSOLimit(millis);
sock = ssock.accept();
// some code here...
loopCount++;
}
エラーを解消したのは、ループの上にssock = new ServerSocket(port)
とssock.setSOLimit(millis);
を置いたときだけです。
管理者としてコマンドを開きます。次に、netsh winsock resetを実行します