启动Websphere Application Server时TCP通道初始化失败错误

时间:2010-09-14 04:45:13

标签: websphere websphere-7

我在尝试运行我的websphere应用服务器时遇到错误。

TCP通道TCPInboundChannel_ipcc.Default_IPC_Connector_Name初始化失败。主机localhost和端口9633的套接字绑定失败。端口可能已在使用中。

以下是错误的堆栈跟踪:

[9/13/10 15:35:12:942 SGT] 00000000 JMXSoapAdapte A ADMC0013I: The SOAP connector is available at port 8880 
[9/13/10 15:35:12:967 SGT] 00000000 TCPPort E TCPC0003E: TCP Channel TCPInboundChannel_ipcc.Default_IPC_Connector_Name initialization failed. The socket bind failed for host localhost and port 9633. The port may already be in use. 
[9/13/10 15:35:12:992 SGT] 00000000 IPCConnectorS E ADMC0072E: Failed to initialize or start channel chain IPCCInboundChain.Default_IPC_Connector_Name/LC_IPCCInboundChain.Default_IPC_Connector_Name due to exception com.ibm.wsspi.channel.framework.exception.ChainGroupException: 
Error initializing chain IPCCInboundChain.Default_IPC_Connector_Name in group IPCCInboundGroup.Default_IPC_Connector_Name, exception=com.ibm.wsspi.channel.framework.exception.RetryableChannelException: Cannot assign requested address: bind 
at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.initChainGroup(ChannelFrameworkImpl.java:3667) 
at com.ibm.ws.runtime.component.ChannelFrameworkServiceImpl.initChainGroup(ChannelFrameworkServiceImpl.java:772) 
at com.ibm.ws.management.connector.ipc.IPCConnectorServer.start(IPCConnectorServer.java:330) 
at com.ibm.ws.management.component.JMXConnectors.startIPCConnector(JMXConnectors.java:970) 
at com.ibm.ws.management.component.JMXConnectors.stateChanged(JMXConnectors.java:2211) 
at com.ibm.ws.security.core.distSecurityComponentImpl.fireEvent(distSecurityComponentImpl.java:2181) 
at com.ibm.ws.security.core.distSecurityComponentImpl.fireStartedEvent(distSecurityComponentImpl.java:2143) 
at com.ibm.ws.security.core.distSecurityComponentImpl.startSecurity(distSecurityComponentImpl.java:642) 
at com.ibm.ws.security.core.SecurityComponentImpl.startSecurity(SecurityComponentImpl.java:109) 
at com.ibm.ws.security.core.ServerSecurityComponentImpl.start(ServerSecurityComponentImpl.java:338) 
at com.ibm.ws.runtime.component.ContainerHelper.startComponents(ContainerHelper.java:538) 
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:627) 
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:618) 
at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:227) 
at com.ibm.ws.runtime.component.ContainerHelper.startComponents(ContainerHelper.java:538) 
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:627) 
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:618) 
at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:503) 
at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:298) 
at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:214) 
at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:666) 
at com.ibm.ws.runtime.WsServer.main(WsServer.java:59) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
at java.lang.reflect.Method.invoke(Method.java:600) 
at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213) 
at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93) 
at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74) 
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
at java.lang.reflect.Method.invoke(Method.java:600) 
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340) 
at org.eclipse.core.launcher.Main.basicRun(Main.java:282) 
at org.eclipse.core.launcher.Main.run(Main.java:981) 
at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:340) 
at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:110) 

最后记录“服务器server1为电子商务开放”,但后来我无法访问我的应用程序甚至管理控制台。我检查了端口9633是否正在使用中 netstat但它不是。我也尝试将端口更改为21633,但它仍然给我同样的错误。关于这一点的奇怪之处在于我上周运行我的服务器(以及在该服务器上运行我的应用程序)没有问题,但是当我昨天尝试这样做时,这个错误突然显示出来了。我已经重新启动了我的WAS,甚至关闭了我的电脑几次,但无济于事。 Websphere没有作为Windows服务运行,我正试图从eclipse运行它。但是,即使我尝试将其作为服务运行,我仍然会得到相同的错误。我根本没有改变任何配置,所以我想知道是什么原因引起的。
我的环境:Windows 7,Websphere Application Server 7.0.0.9

有谁熟悉这个问题?任何帮助表示赞赏!谢谢!

5 个答案:

答案 0 :(得分:1)

确保服务器的IPC_CONNECTOR_ADDRESS端口定义上的主机名称为localhost,而不是服务器名称。

答案 1 :(得分:1)

我反复地收到了这个错误,因为(看似)WAS绑定的每个端口,即使在WAS启动之前没有人在监听它们。

This thread让我找到了解决方案:显然IPv6堆栈存在一些问题。由于我不关心IPv6的使用,我能够通过在我的配置文件的setupCmdLine.{bat,sh}目录中的bin脚本中设置以下内容来告诉JVM更喜欢IPv4。

set IBM_JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true

(当然,根据您的环境更改语法。)

这是在Windows 8 / WAS 8.5(开发人员版)上。

答案 2 :(得分:0)

您提到您无法访问应用管理控制台。管理控制台通常绑定到WC_adminhost和WC_adminhost_secured端口。您可以在WAS_HOME / profiles / profile_name / properties / portdef.props文件下找到它们。如果您已自定义任何端口,请确保未在任何端口之间创建冲突。

您是否有任何理由无法通过任何其他标准端口访问您的应用程序? IPC仅对本地实例之间的高速通信很重要。大多数Web应用程序访问都可以通过WC_defaulthost和WC_defaulthost_secure端口完成。

答案 3 :(得分:0)

这是因为“localhost”的IP分辨率不正确。请ping localhost并确保响应来自127.0.0.1(环回)或实际的主机IP本身。如果没有,请修复它,它将解决您的问题

答案 4 :(得分:0)

我使用RAD 8.0.4

在Windows 7上使用websphere v6.1时遇到了同样的问题
[18/09/13 09:15:01:036 EST] 00000022 TCPPort       E   TCPC0003E: TCP Channel TCP_1 initialization failed.  The socket bind failed for host * and port 9060.  The port may already be in use. 
[18/09/13 09:15:02:038 EST] 00000020 TCPPort       E   TCPC0003E: TCP Channel TCP_2 initialization failed.  The socket bind failed for host * and port 80.  The port may already be in use. 
[18/09/13 09:15:03:111 EST] 00000022 TCPPort       E   TCPC0003E: TCP Channel TCP_1 initialization failed.  The socket bind failed for host * and port 9060.  The port may already be in use. 
[18/09/13 09:15:04:112 EST] 00000020 TCPPort       E   TCPC0003E: TCP Channel TCP_2 initialization failed.  The socket bind failed for host * and port 80.  The port may already be in use. 

这就是我的所作所为:

  1. 通过打开命令终端并运行'netstat -a',验证没有端口正在侦听80或9060。如果是这种情况,请使用它终止应用程序,或者如果不能,请尝试重新启动。否则,请继续执行步骤2.
  2. 按照此处的说明操作:“http://www-01.ibm.com/support/docview.wss?uid=swg21628479”。
    • 这是一个“setupCmdLine.bat”文件的位置。我的websphere的安装方式,它有多个'bin / setupCmdLine.bat'文件。包含此文件的文件夹包括“IBM / SDP / runtimes / base_v61 / bin”; “IBM / SDP /运行时间/ base_v61 /简档/ was61profile1”; “IBM /的WebSphere /应用服务器/ BIN”; “IBM /的WebSphere /应用服务器/型材/ AppSrv1 / bin” 中。这使得它变得令人困惑,因为如果你将解决方案应用于错误的文件,它将不会生效。
    • 要找到更新“setupCmdLine.bat”的正确文件夹,我进入了RAD - >服务器标签 - >右键单击Websphere服务器 - >属性 - > WebSphere Application Server v6.1菜单项。在右侧,有“个人资料目录”。
    • 对我而言,这指向'... / IBM / SDP / runtimes / base_v61 / profiles / was61profile1'