在利用 Spring 集成 thrift 时,报错如下:

javax.servlet.ServletException: Servlet.init() for servlet search-nlp-service threw exception
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
java.lang.Thread.run(Thread.java:)
root cause org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extractAbstractThriftServer' defined in class path resource [application-thrift-context.xml]: Cannot resolve reference to bean 'ExtractAbstractServiceHandler' while setting bean property 'handler'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'ExtractAbstractServiceHandler' is defined
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:)
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory$.getObject(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:)
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:)
org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:)
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:)
javax.servlet.GenericServlet.init(GenericServlet.java:)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
java.lang.Thread.run(Thread.java:)
root cause org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'ExtractAbstractServiceHandler' is defined
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:)
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory$.getObject(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:)
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:)
org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:)
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:)
javax.servlet.GenericServlet.init(GenericServlet.java:)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:)
java.lang.Thread.run(Thread.java:)

解决办法:

Spring 的 contextConfigLocation 配置下的 xml文件的主要内容如下:

<util:properties id="extractAbstractThrift" location="classpath:extractAbstract-thrift.properties" />

    <bean id="extractAbstractThriftServer" class="com.demo.thrift.server.ThriftServer">
<property name="handler" ref="ExtractAbstractServiceHandler"></property>
<property name="serverType" value="threadselected"></property>
<property name="protocolType" value="compact"></property>
<property name="port" value="#{extractAbstractThrift['extractAbstractThrift.port']}"></property>
<property name="workerSize" value="#{extractAbstractThrift['extractAbstractThrift.worker.size']}"></property>
<property name="selectorSize" value="#{extractAbstractThrift['extractAbstractThrift.selecter.size']}"></property>
</bean>
<bean id="extractAbstractServiceHandler" class="com.demo.search.extractAbstract.service.ExtractAbstractServiceHandler"></bean>

通过检查xml文件,为了与 handler 的 ref 相对应,应该把上面的绿色的 extractAbstractServiceHandler,改为 ExtractAbstractServiceHandler 即可。

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'ExtractAbstractServiceHandler' is defined的更多相关文章

  1. 解决org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'cacheManager' is defined

    在Spring配置文件中加入了支持注解,即<mvc:annotation-driven/> 重新启动服务器包 org.springframework.beans.factory.NoSuc ...

  2. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'testService' is defined

    org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'testService' is defi ...

  3. 报错!!!!!!!!!!!org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSessionRepositoryFilter' is defined

    报错!!!!!!!!!!! 因用maven项目不是很熟练,经常在Maven转Web项目(为什么要转web项目?因为要在tomcat中跑起来.maven项目好像是可以直接部署到tomcat的,或集成to ...

  4. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSessionRepositoryFilter' is defined

    spring-session 集成redis,web.xml配置filter时候出现  No bean named 'springSessionRepositoryFilter' is defined ...

  5. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined

    请检查你在web.xml中加载spring.xml文件的时候没有加载成功,看你的路径是否正确 <context-param>  <param-name>contextConfi ...

  6. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager'

    1.错误描述 五月 01, 2015 2:12:31 下午 org.hibernate.validator.util.Version <clinit> 信息: Hibernate Vali ...

  7. cxf之org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'cxf' available

    原因是.... 把cxf的配置文件spring-cxf-rest.xml配置结束后,没有import到spring.xml中...所以才加载不到bean.... 另附:异常org.springfram ...

  8. Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException

    今天在学习spring 框架的时候看着,很简单.但是在真正开始做的时候发现,异常一个接着一个,整的肚子都被搞大了. Exception in thread "main" org.s ...

  9. 添加事务后 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type available

    今天遇到了一个奇怪的问题   在没添加事务之前  所有的代码都是好的 , 当我添加了事务之后, 代码报错 org.springframework.beans.factory.NoSuchBeanDef ...

随机推荐

  1. C++STL整理

    STL整理 vector #include<bits/stdc++.h> #define go(i,a,b) for(int i=a;i<b;i++) using namespace ...

  2. kubernetes 控制器详解【持续完善中】

    目录 资源创建详解 一:Pod及常用参数 1.简介 2.模板 3.删除pod 4.设置Pod主机名 5.镜像拉取策略(ImagePullPolicy) 二:RC 1.简介 2.模板 三:Deploym ...

  3. 深入理解计算机系统 第二章 信息的表示和处理 Part2 第二遍

    <深入理解计算机系统> 第三版 第二遍读这本书,每周花两到三小时时间,能读多少读多少(这次看了 29 ~ 34 页) 第一遍对应笔记链接 https://www.cnblogs.com/s ...

  4. C++中对C的扩展学习新增语法——强枚举

    枚举类型 C++中对枚举的加强: 1.C++不允许非枚举值赋值给枚举类型,不允许其他枚举类型的值赋值给当前枚举类型,而C语言中是允许的. 2.枚举值具有外层作用域,容易造成名字冲突. 3.不同类型的枚 ...

  5. [RAM] FPGA的学习笔记——RAM

    1.RAM——随机存取存储器, 分为SRAM和DRAM. SRAM:存和取得速度快,操作简单.然而,成本高,很难做到很大.FPGA的片内存储器,就是一种SRAM,用来存放程序,以及程序执行过程中,产生 ...

  6. 除了获取 MAC 地址还能干啥

            以前写过一篇<在Web中获取MAC地址>的文章,文章的地址是:https://www.cnblogs.com/tosser/p/9022187.html,我当时使用 OCX ...

  7. nyoj 257 郁闷的C小加(一)(栈、队列)

    郁闷的C小加(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说 ...

  8. static declaration follows non-static declaration

    前段时间工作中要为android编译跨平台的第三方库,遇到了arc4random有关函数的“static declaration follows non-static declaration”问题,那 ...

  9. 使用shiro做权限管理的学习笔记整理

    Shiro权限管理 参考:https://www.cnblogs.com/jpfss/p/8352031.html Shiro解决的问题 授权和鉴别的问题:Authenrization(授权) Aut ...

  10. Springboot 系列(十六)你真的了解 Swagger 文档吗?

    前言 目前来说,在 Java 领域使用 Springboot 构建微服务是比较流行的,在构建微服务时,我们大多数会选择暴漏一个 REST API 以供调用.又或者公司采用前后端分离的开发模式,让前端和 ...