三个十年三本沉甸甸的书
面色红润,精神抖擞。说话声音洪亮,思路非常清晰。如果不是事先得知坐在我们面前的这位老人已有80高龄,我们还真有些不相信。
邬舜有许多头衔:省农业区划委员会原专职副主任、省国土资源厅原巡视员、高级经济师、世界教科文卫组织正式专家成员……这一切,只源于他曾作为湖南农业区划的领头雁、组织者和开拓者,带领广大科技工作者在开展湖南农业区划工作中立下了赫赫战功。而这份战功,为湖南农业的可持续性发展奠定了牢固的基础。国际著名地质学家、中国科学院院士陈国达评价说:“湖南农业区划科学研究是一项利在当代、功在千秋的跨世纪基础工程。”
80岁的邬老,他一生写了不少文章,出了不少的书。但其中有三本书,份量最重。
上个世纪70年代末,刚从十年浩劫走出的人民,开始认识到要按自然规律科学地发展国民经济了。当时邓小平主持全国6000人科技大会,制定了全国发展纲要。纲要提出的108项科研立项中,农业资源与区划排在了第一位。在这一历史背景下,当时的湖南省委、省政府领导委以邬舜“帅印”,要他将全省的农业区划重任担起来。
接过“帅印”,邬舜带领和组织相关科技人员踏上了一条史无前例的农业资源环境大调查、大论证、大探索之路。
“为摸清湖南的农业家底,曾踏遍了湖南的山山水水。”回想起当时的情景,邬舜感慨万千。这样的行走不是走马观花,游山玩水,而是要拿着卫星图片一处处地对照。当时为了科学求证,国家动用卫星将全国每一个地方都拍了个仔仔细细,湖南就拍了20多万张卫星照片。邬舜的首要任务就是带领和组织科技工作者拿着每张卫星照片,进行实地对照、勘查和论证。
八千里路云和月。这样的行走,八千里路只是一个极小极小的虚数。单单道县,邬舜就先后去了10次,行程万余里。10次进进出出,不仅将道县的农业资源摸得清清楚楚,了然于胸,而且因地制宜,与道县领导班子一道为全县制定了“金弓型”发展战略:即农为弓、商为弦、工为箭。固本壮箭,流通张弦,达到全面振兴经济的目的。
道县这种决策产生于农业区划,又融于农业区划之中,在当时是农业区划工作的一大创新。邬舜在搞农业区划时,不仅用脚来丈量湖南的每一寸土地,他更愿意用脑来思考每一个问题。他喜欢创新。
当时全国设计的农业区划方案中没有地貌区划这一项,邬舜在跋山涉水中,感到没有地貌区划不妥。因为湖南的地貌比较复杂,常有“一山有四季,十里不同天,山上飘雪花,山下开桃花”之说,不同的地貌对农作物的影响非常大。于是他立即给国家农业区划委员会写报告,要求将地貌区划也写进全国农业区划中去,国家最后采纳了邬舜的意见。
邬舜在深入基层中又发现,要搞好农业区划,必须要“畅通主航道”,实施一把手工程。为此他主编了《地县委书记谈农业区划》一书,书中收录了原省委书记毛致用撰写的序言和4位地市委书记、22位县委书记亲自参加农业区划的调研文章。全国农业区划办公室得知后,向湖南要了6000册书,由国家区划办公室下发文件,将书赠送给各省、直辖市、自治区以及全国所有地市县的党政“一把手”,农业区划“一把手工程”就这样在全国打响了。
得益于邬舜组织的农业区划取得的成绩,湖南在大湘南开发获得国家立项后,洞庭湖区综合开发治理、湘西自治州世界粮食计划署扶贫开发、怀化农村综合开发等重点区域开发先后获得国家立项。随后,全省又有60个商品粮基地县、20个优质棉基地县、40个商品油基地县、50个瘦肉型猪牛羊基地县、30个商品鱼基地县等开发项目都获得了国家大量投资。
《湖南省农业区划》是邬舜在开展农业区划工作中主编的第二本书,也是最有价值的一本书。中共湖南省委原第一书记毛致用在《湖南省农业区划》序言中写道:“在全省范围内进行这样比较全面的、系统的、多学科的农业资源调查和农业区划,建国以来在我省还是第一次。”并肯定这一工作“为振兴湖南经济做了一件大好事”。
1990年,邬舜已经62岁,早过了离休年龄。但全省的农业区划工作还离不开他,于是他人离休工作不离休,就坐在家里办公,直到1999年才完全从农业区划岗位上退下来。从1979年到1999年,20年的岁月,邬舜全部心血都花费在了农业区划上。在这20年里,湖南省共取得了3000多项科研成果,相当于全国同期完成的3万项成果的1/10。而在邬舜主持下编撰的《湖南农业区划》(共10个分册585万字)更成了全省开展农业工作的圭臬。
20年功名尘与土。“成绩是全省2.3万名科技工作者花20年时间取得的,我只是这支队伍的排头兵、领头雁和开拓者而已。”80岁的邬舜说起这些成绩,已宠辱不惊,风轻云淡。
1990年离休后,邬舜一边在家里“办公”,一边着手写书。1999年,他主编的35.5万字的《跨世纪基础工程----湖南农业区划及成果应用研究》正式出版。它是湖南农业资源调查和农业区划工作20年风雨、20年征程的结晶和缩影,也是湖南农业资源区划研究工作的一部简史。
“老夫喜作黄昏颂,不用扬鞭自奋蹄。”邬舜笔耕不辍成果迭出,引起了世界科教文卫组织的关注。2004年7月,世界教科文卫组织给他颁发专家成员证书,2005年世界教科文卫组织又给他颁发了“首批特殊贡献专家金色勋章”。世界教科文卫组织给邬舜发来的贺信称:获得“金色勋章”的,都是近年来在教育、科学、文化、卫生系统做出了特殊贡献的专家,全世界仅评选一百名。
- 新湘导读
-
-
FreeMarker template error (DEBUG mode; use RETHROW in production!):
No error description was specified for this error; low-level message: feign.RetryableException: Read timed out executing GET http://content-ms/content/list/channel?siteId=220&channelId=22433&pageSize=8&excludeNum=0&includeTop=1&terminal=1&videoFlag=false&randomFlag=false
----
FTL stack trace ("~" means nesting-related):
- Failed at: @_contentList id="yuhuatuijianNewsLis... [in template "site_220//template/content/county_right.html" at line 26, column 19]
----
Java stack trace (for programmers):
----
freemarker.template.TemplateException: [... Exception message was already printed; see it above ...]
at cn.rednet.redcloud.template.freemarker.base.impl.BaseTemplateDirective.execute(BaseTemplateDirective.java:31)
at freemarker.core.Environment.visit(Environment.java:452)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:102)
at freemarker.core.Environment.visit(Environment.java:335)
at freemarker.core.Environment.visit(Environment.java:341)
at freemarker.core.Environment.process(Environment.java:314)
at freemarker.template.Template.process(Template.java:383)
at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService.generateFileByFile(TemplateFileService.java:681)
at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService.generateStaticFileForTemplatePage(TemplateFileService.java:163)
at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService$$FastClassBySpringCGLIB$$48aa813.invoke(
) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at cn.rednet.redcloud.template.service.impl.templatefile.TemplateFileService$$EnhancerBySpringCGLIB$$1f864d69.generateStaticFileForTemplatePage( ) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl.saveAndPublishTemplatePage(TemplatePageServiceImpl.java:315) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl.saveAndPublishIndex(TemplatePageServiceImpl.java:600) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl$$FastClassBySpringCGLIB$$92d4ea80.invoke( ) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at cn.rednet.redcloud.template.service.impl.TemplatePageServiceImpl$$EnhancerBySpringCGLIB$$e59ef362.saveAndPublishIndex( ) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.lambda$generateHtml$0(RightSidePageStaticJob.java:82) at java.util.ArrayList.forEach(ArrayList.java:1257) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.generateHtml(RightSidePageStaticJob.java:79) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.generate(RightSidePageStaticJob.java:66) at cn.rednet.redcloud.template.schedule.RightSidePageStaticJob.execute(RightSidePageStaticJob.java:49) at com.xxl.job.core.thread.JobThread.run(JobThread.java:152) Caused by: feign.RetryableException: Read timed out executing GET http://content-ms/content/list/channel?siteId=220&channelId=22433&pageSize=8&excludeNum=0&includeTop=1&terminal=1&videoFlag=false&randomFlag=false at feign.FeignException.errorExecuting(FeignException.java:268) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:131) at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:91) at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100) at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory$1.proceed(FeignCachingInvocationHandlerFactory.java:66) at org.springframework.cache.interceptor.CacheInterceptor.lambda$invoke$0(CacheInterceptor.java:54) at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:351) at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64) at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory.lambda$create$1(FeignCachingInvocationHandlerFactory.java:53) at com.sun.proxy.$Proxy204.getContentListByChannel(Unknown Source) at sun.reflect.GeneratedMethodAccessor664.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at cn.rednet.redcloud.common.aspect.ClassMethodTimeAspect.aroundMethod(ClassMethodTimeAspect.java:82) at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:220) at com.sun.proxy.$Proxy205.getContentListByChannel(Unknown Source) at cn.rednet.redcloud.template.freemarker.directive.ContentListDirective.execute(ContentListDirective.java:191) at cn.rednet.redcloud.template.freemarker.base.impl.BaseTemplateDirective.execute(BaseTemplateDirective.java:27) ... 61 more Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at feign.Client$Default.convertResponse(Client.java:110) at feign.Client$Default.execute(Client.java:106) at org.springframework.cloud.openfeign.loadbalancer.LoadBalancerUtils.executeWithLoadBalancerLifecycleProcessing(LoadBalancerUtils.java:57) at org.springframework.cloud.openfeign.loadbalancer.RetryableFeignBlockingLoadBalancerClient.lambda$execute$2(RetryableFeignBlockingLoadBalancerClient.java:168) at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:329) at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:225) at org.springframework.cloud.openfeign.loadbalancer.RetryableFeignBlockingLoadBalancerClient.execute(RetryableFeignBlockingLoadBalancerClient.java:114) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:121) ... 90 more
互联网新闻信息服务许可证:43120200001 杂志社咨询电话:0731-81127526(传真)
违法和不良信息举报电话:0731-81125971 举报邮箱地址:xxpl1919@163.com
