中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

disconf中有哪些服務器內部錯誤

這篇文章給大家介紹disconf中有哪些服務器內部錯誤,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

專注于為中小企業提供做網站、成都做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業昌黎免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了1000多家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

原因如下:

發版之前進行修改 disconf 配置中心的配置數據,結果發現 disconf 的XX項目配置中心管理界面的配置文件頁面為空。當時就嚇壞了,以為是服務掛了,如果配置中心整個服務掛了就很嚴重了,馬上看了下別的項目的配置中心頁面是正常的, 唯獨XX項目的是空白,趕緊看了下XX項目的應用日志,一切正常,由此馬上F12查看 disconf后臺的請求,發現返回了一段json錯誤信息,服務器內部錯誤。

進入生產環境查看 disconf 的報錯日志,發現報錯表現很模糊:

xx:xx:50.591 [http-bio-xxxxx-xxxx-exec-xx] WARN  c.b.d.c.handler.MyExceptionHandler - 
/xxx/xx/xxx/list ExceptionHandler FOUND. com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 128
java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 128
xx:xx:50.592 [http-bio-xxxxx-xxxx-exec-xx] WARN  c.b.d.c.handler.MyExceptionHandler - details: 
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 128
	at com.google.gson.Gson.fromJson(Gson.java:815) ~[gson-2.2.4.jar:na]
	at com.google.gson.Gson.fromJson(Gson.java:768) ~[gson-2.2.4.jar:na]
	at com.google.gson.Gson.fromJson(Gson.java:717) ~[gson-2.2.4.jar:na]
	at com.github.knightliao.apollo.utils.data.GsonUtils.parse2Map(GsonUtils.java:44) ~[apollo-1.0.12.jar:na]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl.compareConfig(ConfigMgrImpl.java:306) ~[classes/:na]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl.getZkData(ConfigMgrImpl.java:215) ~[classes/:na]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl.convert(ConfigMgrImpl.java:280) ~[classes/:na]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl.access$000(ConfigMgrImpl.java:58) ~[classes/:na]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl$1.transfer(ConfigMgrImpl.java:188) ~[classes/:na]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl$1.transfer(ConfigMgrImpl.java:176) ~[classes/:na]
	at com.baidu.dsp.common.utils.ServiceUtil.getResult(ServiceUtil.java:35) ~[classes/:na]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl.getConfigList(ConfigMgrImpl.java:175) ~[classes/:na]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl$$FastClassBySpringCGLIB$$7099537e.invoke(<generated>) ~[spring-core-4.1.7.RELEASE.jar:na]
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at com.baidu.disconf.web.service.config.service.impl.ConfigMgrImpl$$EnhancerBySpringCGLIB$$1f1102ef.getConfigList(<generated>) ~[spring-core-4.1.7.RELEASE.jar:na]
	at com.baidu.disconf.web.web.config.controller.ConfigReadController.getConfigList(ConfigReadController.java:90) ~[classes/:na]
	at com.baidu.disconf.web.web.config.controller.ConfigReadController$$FastClassBySpringCGLIB$$bed0282a.invoke(<generated>) ~[spring-core-4.1.7.RELEASE.jar:na]
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at com.baidu.disconf.web.service.roleres.service.RoleResourceAspect.decideAccess(RoleResourceAspect.java:109) ~[classes/:na]
	at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_25]
	at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25]
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:68) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653) ~[spring-aop-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at com.baidu.disconf.web.web.config.controller.ConfigReadController$$EnhancerBySpringCGLIB$$5d4c3283.getConfigList(<generated>) ~[spring-core-4.1.7.RELEASE.jar:na]
	at sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_25]
	at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) ~[spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) ~[spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) ~[spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) [servlet-api.jar:na]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) [spring-webmvc-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) [servlet-api.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.68]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.68]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.68]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.68]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.68]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85) [spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.68]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.68]
	at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87) [spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.7.RELEASE.jar:4.1.7.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.68]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.68]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.68]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.68]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [catalina.jar:7.0.68]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) [catalina.jar:7.0.68]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.68]
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) [catalina.jar:7.0.68]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.68]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) [catalina.jar:7.0.68]
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) [tomcat-coyote.jar:7.0.68]
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) [tomcat-coyote.jar:7.0.68]
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) [tomcat-coyote.jar:7.0.68]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_25]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_25]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.68]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]
Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 128
	at com.google.gson.stream.JsonReader.nextString(JsonReader.java:821) ~[gson-2.2.4.jar:na]
	at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:358) ~[gson-2.2.4.jar:na]
	at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:346) ~[gson-2.2.4.jar:na]
	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[gson-2.2.4.jar:na]
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:187) ~[gson-2.2.4.jar:na]
	at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145) ~[gson-2.2.4.jar:na]
	at com.google.gson.Gson.fromJson(Gson.java:803) ~[gson-2.2.4.jar:na]
	... 77 common frames omitted
xx:xx:50.592 [http-bio-xxxxx-xxxx-exec-xx] INFO  c.b.dsp.common.vo.JsonObjectUtils - JsonObjectBase [message={global=服務器內部錯誤}, sessionId=xxxxx-axx4-xx-xxx-fbxxxcx1xxa7, success=false]

由此猜測是新增了配置文件,但是配置文件可能配型或者值不對或者出現了特殊字符,導致了解析失敗了。

查了下應用的配置中心的代碼,發現的確有新的配置文件且從生產數據庫和 zookeeper 撈出來的數據來看配置本身含有特殊字符,猜測是中文注釋,看了下我們自己的應用代碼,發現開發人員使用了很奇怪的 Map 類型做 key

馬上靈機一動在測試環境復現下這個問題,結果發現果然有辦法復現,觸發條件也和預想的一樣。

觸發條件: 使用 Map 類型,且首行使用中文注釋,且定義的 Map 類型在 disconf不設置值。

配置好了之后,刷新 disconf 配置頁面,發現頁面報錯 , 請求 disconf 返回json結果 服務器內部錯誤

解決方案:

換一個配置文件名稱,去掉 Map 類型使用基本的 String 放置 json 數據, 自己通過代碼轉換 json 為對象,刪除原配置文件,disconf 恢復正常。

根本原因沒有去找,實在是沒有時間去看 disconf 的源碼。。。

附上出問題的版本號:

disconf 版本: 2.6.30

關于disconf中有哪些服務器內部錯誤就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網頁題目:disconf中有哪些服務器內部錯誤
文章出自:http://www.2m8n56k.cn/article2/jgesic.html

成都網站建設公司_創新互聯,為您提供App開發云服務器網站維護網站內鏈虛擬主機搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站建設
主站蜘蛛池模板: 孕妇交| 日韩免费一级毛片 | 成人做爰视频www在线观看 | 在线天天干| 欧美多人三级级视频播放 | 黄色作爱 | 久久久久久久一线毛片 | 久久久久久久久免费视频 | 成人国产精品一级毛片视频 | 狠狠色丁香久久综合网 | 亚洲精品国产成人7777 | 黄色资源网址 | 久久99这里只有精品国产 | 国产日韩欧美自拍 | 一级国产精品一级国产精品片 | www.黄免费| 日韩一区二区在线播放 | 久久久婷 | 正在播真实出轨炮对白 | 抱着cao才爽免费观看 | 亚洲免费视频在线观看 | www中文字幕在线观看 | 久久国产免费观看精品1 | 97精品国产手机 | 欧美aaaaa激情毛片 | 午夜神马理论 | 成人全黄三级视频在线观看 | 成人1000部免费观看视频 | 午夜手机看片 | 成人免费视频国产 | 日韩一区二区三区在线播放 | 自拍偷拍视频在线观看 | 国产日本欧美亚洲精品视 | 亚洲毛片免费看 | 国产精品亚洲四区在线观看 | 精品一区二区三区视频 | 国产成人精品一区二区 | 特黄aaaaaa久久片 | 日本免费人成在线网站 | 亚洲区精品久久一区二区三区 | 亚洲一区二区视频 |