在利用 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. Project Euler 57: Square root convergents

    五十七.平方根收敛(Square root convergents) 二的平方根可以表示为以下这个无穷连分数: \[ \sqrt 2 =1+ \frac 1 {2+ \frac 1 {2 +\frac ...

  2. 『题解』洛谷P5015 标题统计

    题意描述 给你一个字符串,求所有字符的总数. 字符只包含数字,大小写字母. 分析 字符串的长度还是\(\le5\)的. 直接枚举就可以了. AC代码: NOIP官方标准程序是这样的 #include ...

  3. [转载]1.4 UiPath参数的介绍和使用

    一.参数介绍 用于将数据从一个项目传递到另一个项目.在全局意义上,它们类似于变量,因为它们动态地存储数据并传递给它.变量在活动之间传递数据,而参数在自动化之间传递数据.因此,它们使你能够一次又一次地重 ...

  4. Linux(ubuntu)下切换root用户

    输入命令su root切换用户,会提示输入root密码,如果不记得或者是没设置过,那么可以输入sudo passwd root来设置密码,会让你输入两次密码确认.输入完即可使用su root命令切换r ...

  5. [error] hadoop:ls: `.': No such file or directory

    问题: 解决: https://stackoverflow.com/questions/28241251/hadoop-fs-ls-results-in-no-such-file-or-directo ...

  6. 将 /u 转变为 utf-8 编码

    将 /u 转变为 utf-8 编码 PHP实例: $result = {"errno":-1,"message":"\u8bbf\u95ee\u5fa ...

  7. 目录(cd mkdir rmdir rm pwd ls) 文件(ln touch mv rm cat more head rail) 文件权限(chmod chown chgrp) 文件通配符(* ? [])

    记住Linux目录树的结构是一个称职Linux系统管理员的必备素质! 目录漫游cd   cd - 目录显示pwd 目录管理 mkdir -p a/b/c/1 parent创建多层目录 -m 700   ...

  8. python高阶函数的使用

    目录 python高阶函数的使用 1.map 2.reduce 3.filter 4.sorted 5.小结 python高阶函数的使用 1.map Python内建了map()函数,map()函数接 ...

  9. ACE框架 基于共享内存的进程间通讯

    ACE框架将基于共享内存的进程间通讯功能,如其它IO组件或IPC组件一样,设计成三个组件.流操作组件ACE_MEM_Stream,连接器组件ACE_MEM_Connector,以及接收连接组件ACE_ ...

  10. three.js使用gpu选取物体并计算交点位置

    光线投射法 使用three.js自带的光线投射器(Raycaster)选取物体非常简单,代码如下所示: var raycaster = new THREE.Raycaster(); var mouse ...