在利用 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. Vue基础系列(三)——Vue模板中的数据绑定语法

    写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家和我一起交流. VUE基础系列目录 < ...

  2. 格式工厂转化成mp4 avc格式 暴风影音不能播放的解决方法

    格式工厂转化成mp4 avc格式 暴风影音不能播放的解决方法  先转成其他mp4 确保能播放 然后再转成avc

  3. php微信卡券logo上传方法

    php微信卡券logo上传方法 <pre> $xiangmupath = $this->getxiangmupath(); $logo = $xiangmupath . '/imag ...

  4. MyBatis --- 映射关系【一对一、一对多、多对多】,懒加载机制

    映射(多.一)对一的关联关系 1)若只想得到关联对象的id属性,不用关联数据表 2)若希望得到关联对象的其他属性,要关联其数据表 举例: 员工与部门的映射关系为:多对一 1.创建表 员工表 确定其外键 ...

  5. mysql里面的时间获取(格式年月日)

    1.当前日期 select DATE_SUB(curdate(),INTERVAL 0 DAY) ; 2.明天日期 select DATE_SUB(curdate(),INTERVAL -1 DAY) ...

  6. Docker学习-Kubernetes - 集群部署

    Docker学习 Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通搭建 Docker学习-Docker搭建Consul集群 Docker学习-简单的私有Dock ...

  7. Sturts2整合Spring报错:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml];

    十一月 17, 2019 1:11:44 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRul ...

  8. B2B电商正在向一个新的方向转变

    在互联网+.中国制造2025等国家战略规划的不断催发下,淡出舆论风口多时的B2B电商,开始重新回归公众视野,B2B行业也就此得到一剂强心剂.不过值得关注的是,B2B平台商业模式已经开始发生变革. 互联 ...

  9. nyoj 99-单词拼接 (euler, dfs)

    99-单词拼接 内存限制:64MB 时间限制:3000ms 特判: No 通过数:7 提交数:14 难度:5 题目描述: 给你一些单词,请你判断能否把它们首尾串起来串成一串. 前一个单词的结尾应该与下 ...

  10. 【SpringBoot | Druid】SpringBoot整合Druid

    SpringBoot整合Druid Druid是个十分强大的后端管理工具,具体的功能和用途请问阿里爸爸 1. 在pom.xml中导入包 <!-- alibaba 的druid数据库连接池 --& ...