dubbo异常 DubboProtocol.createServer(DubboProtocol.java:331)

本文详细记录了Tomcat启动日志,并深入分析了Dubbo服务启动失败的原因,包括Java虚拟机参数配置、依赖库路径问题、网络端口冲突等,最终定位并解决了一个关键的端口绑定失败问题。
[root@logSer tomcat8]# tail -f /root/soft/tomcat8/logs/catalina.out
16-Oct-2015 17:22:02.852 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/root/soft/tomcat8/temp
16-Oct-2015 17:22:02.852 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
16-Oct-2015 17:22:02.959 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
16-Oct-2015 17:22:02.972 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
16-Oct-2015 17:22:02.974 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
16-Oct-2015 17:22:02.976 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
16-Oct-2015 17:22:02.976 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 537 ms
16-Oct-2015 17:22:02.996 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
16-Oct-2015 17:22:02.997 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.23
16-Oct-2015 17:22:03.004 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /root/soft/tomcat8/webapps/agile-schedule
16-Oct-2015 17:22:05.939 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/soft/tomcat8/webapps/agile-schedule/WEB-INF/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/root/soft/tomcat8/webapps/agile-schedule/WEB-INF/lib/log4j-slf4j-impl-2.0-rc1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2015-10-16 17:22:08 ERROR org.springframework.web.context.ContextLoader:319 - Context initialization failed
com.alibaba.dubbo.rpc.RpcException: Fail to start server(url: dubbo://10.2.35.25:20880/org.agile.apipl.rpc.RpcSoaManager?anyhost=true&application=agile-schedule&channel.readonly.sent=true&codec=dubbo&dubbo=2.8.4&generic=false&group=schedule&heartbeat=60000&interface=org.agile.apipl.rpc.RpcSoaManager&methods=singleInvoker,asyncInvoker,invoker&organization=dubbox&owner=programmer&pid=28863&revision=apipl&serialization=kryo&side=provider&threads=200×tamp=1444987328107) Failed to bind NettyServer on /10.2.35.25:20880, cause: Failed to bind to: /0.0.0.0:20880
        at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.createServer(DubboProtocol.java:331)
        at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.openServer(DubboProtocol.java:308)
        at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.export(DubboProtocol.java:258)
        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:489)
        at com.alibaba.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:285)
        at com.alibaba.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:246)
        at com.alibaba.dubbo.config.ServiceConfig.export(ServiceConfig.java:145)
        at com.alibaba.dubbo.config.spring.ServiceBean.onApplicationEvent(ServiceBean.java:110)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:96)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:948)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1101)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1786)
        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 /10.2.35.25:20880, cause: Failed to bind to: /0.0.0.0:20880
        at com.alibaba.dubbo.remoting.transport.AbstractServer.<init>(AbstractServer.java:73)
        at com.alibaba.dubbo.remoting.transport.netty.NettyServer.<init>(NettyServer.java:63)
        at com.alibaba.dubbo.remoting.transport.netty.NettyTransporter.bind(NettyTransporter.java:33)
        at com.alibaba.dubbo.remoting.Transporter$Adpative.bind(Transporter$Adpative.java)
        at com.alibaba.dubbo.remoting.Transporters.bind(Transporters.java:48)
        at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchanger.bind(HeaderExchanger.java:41)
        at com.alibaba.dubbo.remoting.exchange.Exchangers.bind(Exchangers.java:63)
        at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.createServer(DubboProtocol.java:329)
        ... 35 more
Caused by: org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:20880
        at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:303)
        at com.alibaba.dubbo.remoting.transport.netty.NettyServer.doOpen(NettyServer.java:94)
        at com.alibaba.dubbo.remoting.transport.AbstractServer.<init>(AbstractServer.java:68)
        ... 42 more
Caused by: java.net.BindException: 地址已在使用
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:444)
        at sun.nio.ch.Net.bind(Net.java:436)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.bind(NioServerSocketPipelineSink.java:148)
        at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleServerSocket(NioServerSocketPipelineSink.java:100)
        at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:74)
        at org.jboss.netty.channel.Channels.bind(Channels.java:468)
        at org.jboss.netty.channel.AbstractChannel.bind(AbstractChannel.java:200)
        at org.jboss.netty.bootstrap.ServerBootstrap$Binder.channelOpen(ServerBootstrap.java:348)
        at org.jboss.netty.channel.Channels.fireChannelOpen(Channels.java:176)
        at org.jboss.netty.channel.socket.nio.NioServerSocketChannel.<init>(NioServerSocketChannel.java:85)
        at org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.newChannel(NioServerSocketChannelFactory.java:142)
        at org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.newChannel(NioServerSocketChannelFactory.java:90)
        at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:282)
        ... 44 more

com.tpaic.as.core.IntegrationException: 业务执行异常:外部平台报错:车辆型号不允许为空。 at com.tpaic.as.core.IntegrationException.<init>(IntegrationException.java:56) ~[agentService.jar:?] at com.tpaic.as.biz.service.impl.AgentRecordNewCarServiceImpl.service(AgentRecordNewCarServiceImpl.java:90) ~[agentService.jar:?] at com.tpaic.as.biz.service.impl.DefaultRequestServiceImpl.apply(DefaultRequestServiceImpl.java:199) ~[agentService.jar:?] at com.tpaic.as.biz.service.impl.PolicyIssueDistributionDefaulteServiceImpl.applyIssue(PolicyIssueDistributionDefaulteServiceImpl.java:139) [agentService.jar:?] at com.tpaic.as.biz.service.impl.PolicyIssueDistributionDefaulteServiceImplDubboWrap9.invokeMethod(PolicyIssueDistributionDefaulteServiceImplDubboWrap9.java) [dubbo-3.2.17.jar:?] at org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:89) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:100) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.config.invoker.DelegateProviderMetaDataInvoker.invoke(DelegateProviderMetaDataInvoker.java:55) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.ClassLoaderCallbackFilter.invoke(ClassLoaderCallbackFilter.java:38) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:80) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:45) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.monitor.support.MonitorFilter.$sw$original$invoke$1vamrv0(MonitorFilter.java:108) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.monitor.support.MonitorFilter.$sw$original$invoke$1vamrv0$accessor$$sw$p4vq621(MonitorFilter.java) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.monitor.support.MonitorFilter$$sw$auxiliary$4mshot2.call(Unknown Source) [dubbo-3.2.17.jar:3.2.17] at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86) [skywalking-agent.jar:9.1.0] at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:55) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.AccessLogFilter.invoke(AccessLogFilter.java:120) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:222) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:54) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:41) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:86) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.metrics.filter.MetricsProviderFilter.invoke(MetricsProviderFilter.java:37) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.ProfilerServerFilter.invoke(ProfilerServerFilter.java:66) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:145) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:197) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:167) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:110) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:205) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52) [dubbo-3.2.17.jar:3.2.17] at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:64) [dubbo-3.2.17.jar:3.2.17] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_412] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_412] at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:39) [dubbo-3.2.17.jar:3.2.17] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_412]
最新发布
10-21
由于给定的参考引用中未涉及解决 com.tpaic.as.core.IntegrationException 业务执行异常(外部平台报错车辆型号不允许为空)的内容,以下结合通用的编程和业务处理知识提供解决方法。 ### 检查输入数据 需要保证在调用外部平台接口时,传递的车辆型号参数不为空。可以在代码中添加数据验证逻辑。 ```java // 示例 Java 代码 String vehicleModel = getVehicleModelFromSomewhere(); if (vehicleModel == null || vehicleModel.trim().isEmpty()) { // 处理车辆型号为空的情况,如记录日志或提示用户 logger.error("车辆型号为空,无法调用外部平台接口"); return; } ``` ### 数据补全 若车辆型号可能因某些原因缺失,可以尝试从其他数据源获取车辆型号信息进行补全。 ```java // 示例 Java 代码 String vehicleModel = getVehicleModelFromSomewhere(); if (vehicleModel == null || vehicleModel.trim().isEmpty()) { vehicleModel = getVehicleModelFromAlternativeSource(); } ``` ### 异常处理 在调用外部平台接口时,捕获 `com.tpaic.as.core.IntegrationException` 异常,并进行相应的处理。 ```java try { callExternalPlatformApi(vehicleModel); } catch (com.tpaic.as.core.IntegrationException e) { if (e.getMessage().contains("车辆型号不允许为空")) { // 处理车辆型号为空导致的异常 logger.error("调用外部平台接口时,车辆型号为空", e); } else { // 处理其他原因导致的异常 logger.error("调用外部平台接口时发生异常", e); } } ``` ### 与外部平台沟通 若以上方法都无法解决问题,可能是外部平台的验证逻辑存在问题,需要与外部平台的开发团队沟通,确认接口的使用规范和数据要求。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值