Spring+dubbo项目错误:Failed to bind NettyServer on /192.168.50.12:31581, cause: Fail

2016-11-30 09:21:02 643 ERROR - ContextLoader.initWebApplicationContext(331) | Context initialization failed
com.alibaba.dubbo.rpc.RpcException: Fail to start server(url: dubbo://192.168.50.12:31581/com.able.livecourse.rmi.service.LiveCourseRmiService?anyhost=true&application=livecourse&channel.readonly.sent=true&codec=dubbo&default.delay=-1&default.retries=0&default.timeout=10000&delay=-1&dubbo=2.5.3&heartbeat=60000&interface=com.able.livecourse.rmi.service.LiveCourseRmiService&methods=searchCourseLivingToApp,signOutVirtualCourseUser,insertVirtualCourse,findVirtualStartUrlBycourseId,updateLiveCourse,insertLiveSatisfact,findUserSatisfactByIds,canWatchLiveCourse,deleteLiveCourseByCourseId,updateVirtualCourse,searchCourseList,deleteVirtualCourse,zhsLoginCheck,joinVirtualCourseRecordUser,insertLiveCourse,searchHistoryLiveList&monitor=dubbo%3A%2F%2Fzookeeper1.ablejava.com%3A2181%2Fcom.alibaba.dubbo.registry.RegistryService%3Fapplication%3Dlivecourse%26backup%3Dzookeeper2.ablejava.com%3A2181%2Czookeeper3.ablejava.com%3A2181%26dubbo%3D2.5.3%26pid%3D4504%26protocol%3Dregistry%26refer%3Ddubbo%253D2.5.3%2526interface%253Dcom.alibaba.dubbo.monitor.MonitorService%2526pid%253D4504%2526timestamp%253D1480468862625%26registry%3Dzookeeper%26timestamp%3D1480468862610&pid=4504&revision=pc&side=provider&timeout=10000&timestamp=1480468862611&version=pc) Failed to bind NettyServer on /192.168.50.12:31581, cause: Failed to bind to: /0.0.0.0:31581
	at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.createServer(DubboProtocol.java:289)
	at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.openServer(DubboProtocol.java:266)
	at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.export(DubboProtocol.java:253)
	at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:56)
	at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:55)
	at com.alibaba.dubbo.rpc.Protocol$Adpative.export(Protocol$Adpative.java)
	at com.alibaba.dubbo.registry.integration.RegistryProtocol.doLocalExport(RegistryProtocol.java:153)
	at com.alibaba.dubbo.registry.integration.RegistryProtocol.export(RegistryProtocol.java:107)
	at com.alibaba.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:54)
	at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:53)
	at com.alibaba.dubbo.rpc.Protocol$Adpative.export(Protocol$Adpative.java)
	at com.alibaba.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:485)
	at com.alibaba.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:281)
	at com.alibaba.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:242)
	at com.alibaba.dubbo.config.ServiceConfig.export(ServiceConfig.java:143)
	at com.alibaba.dubbo.config.spring.ServiceBean.onApplicationEvent(ServiceBean.java:109)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:151)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:128)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:331)
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:773)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:483)
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1260)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:2002)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: com.alibaba.dubbo.remoting.RemotingException: Failed to bind NettyServer on /192.168.50.12:31581, cause: Failed to bind to: /0.0.0.0:31581

 

windows:

查看端口占用(获得进程ID)

netstat -aon|findstr "31581"

查看任务端口(获得进程名称)

tasklist|findstr "4504"

结束任务

taskkill /f /t /im javaw.exe


 

linux:

netstat -tunlp|grep 18191

ps -ef|grep 23049

kill -9 tomcat

 

 

通过启动前,查看windows端口,未发现被占用,启动后占用,确定问题为spring context 初始化两次导致dubbo端口被占用。

解决方式:修改server.xml 如下

<Host name="localhost" debug="0" appBase="/data/www/ROOT/xxx"

      unpackWARs="true" autoDeploy="false" deployOnStartup="false"

      xmlValidation="false" xmlNamespaceAware="false" >

  <Context path="" docBase="xxxxx" debug="0" reloadable="false"/>

</Host>

 

参考页面:http://blog.csdn.net/jingyulanye/article/details/51451416

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值