分布式网上商城项目-solr搜索功能错误

时间:2022-08-28 11:10:44

1、RuntimeException错误

 java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.thyonline.taotao.search.mapper.SearchItemMapper.SearchItemList

 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.thyonline.taotao.search.mapper.SearchItemMapper.SearchItemList

          at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)

          at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)

          at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)

          at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)

          at com.sun.proxy.$Proxy34.SearchItemList(Unknown Source)

          at cn.thyonline.taotao.search.service.impl.SearchItemServiceImpl.importAllItems(SearchItemServiceImpl.java:24)

          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

          at java.base/java.lang.reflect.Method.invoke(Method.java:564)

          at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)

          at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

          at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)

          at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)

          at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)

          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

          at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)

          at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)

          at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)

          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

          at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)

          at com.sun.proxy.$Proxy35.importAllItems(Unknown Source)

          at com.alibaba.dubbo.common.bytecode.Wrapper0.invokeMethod(Wrapper0.java)

          at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46)

          at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72)

          at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)

          at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)

          at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

          at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)

          at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

          at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)

          at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

          at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)

          at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

          at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60)

          at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

          at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112)

          at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

          at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)

          at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

          at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)

          at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

          at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108)

          at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84)

          at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170)

          at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)

          at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)

          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)

          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

          at java.base/java.lang.Thread.run(Thread.java:844)

但是查看target文件发现查看报错信息可以看见是mapper绑定无效

分布式网上商城项目-solr搜索功能错误

Mapper文件已经放置在一个文件夹,再检查两个文件发现是select语句的ID没有对应上

2、请求超时错误

 com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method importAllItems in the service cn.thyonline.taotao.search.service.SearchItemService. Tried 3 times of the providers [192.168.199.139:20882] (1/1) from the registry 192.168.25.128:2181 on the consumer 192.168.199.139 using the dubbo version 2.5.3. Last error is: Invoke remote method timeout. method: importAllItems, provider: dubbo://192.168.199.139:20882/cn.thyonline.taotao.search.service.SearchItemService?anyhost=true&application=taotao-manager-web&check=false&dubbo=2.5.3&interface=cn.thyonline.taotao.search.service.SearchItemService&methods=importAllItems&pid=3208&revision=0.0.1-SNAPSHOT&side=consumer&timestamp=1528390391677, cause: Waiting server-side response timeout. start time: 2018-06-08 00:53:16.967, end time: 2018-06-08 00:53:17.968, client elapsed: 0 ms, server elapsed: 1001 ms, timeout: 1000 ms, request: Request [id=2, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=importAllItems, parameterTypes=[], arguments=[], attachments={path=cn.thyonline.taotao.search.service.SearchItemService, interface=cn.thyonline.taotao.search.service.SearchItemService, version=0.0.0}]], channel: /192.168.199.139:11038 -> /192.168.199.139:20882

Web层请求超时

但是检查search层在查询数据库前后打印

 System.out.println("开始查询商品!");

 List<SearchItem> items = mapper.searchItemList();

 //2、创建solrServer对象,将商品信息通过SolrInputDocument存入

 System.out.println("查询到的商品数量:"+items.size());

并且打印出来了数据说明mapper映射文件也没有问题。重新开始测试,发现后台两条数据都打印了出来,证明请求从controller层传递到了service层,dubbo连接没有问题。

那证明一件事情就是这次连接因为要连接solr导致耗时很长,使得超出了dubbo的默认连接时间从而失败,修改dubbo在service层和controller层的配置:

 <!-- 名字不能够重复,和随便,用于计算依赖关系,服务调用的情况 -->

     <dubbo:application name="taotao-search" />

     <!-- 使用zookeeper注册协议  -->

     <dubbo:registry protocol="zookeeper" address="192.168.25.128:2181" />

     <!-- 使用dubbo协议,暴露服务的端口 -->

     <dubbo:protocol name="dubbo" port="20882" />

     <!-- 发布服务 -->

     <dubbo:service interface="cn.thyonline.taotao.search.service.SearchItemService" ref="searchItemServiceImpl"  timeout="300000"/>

查看solr数据修改连接超时为5分钟,再次测试,连接成功

分布式网上商城项目-solr搜索功能错误

Solr数据导入成功

分布式网上商城项目-solr搜索功能错误的更多相关文章

  1. 分布式网上商城项目-dubbo搭建与初次使用错误

    1.Spring-service启动失败 严重: Exception sending context initialized event to listener instance of class o ...

  2. 分布式网上商城项目- BeanDefinitionStoreException

    BeanDefinitionStoreException: 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanDe ...

  3. 【SSH网上商城项目实战27】域名空间的申请和项目的部署及发布

     转自:https://blog.csdn.net/wwww_com/article/details/54405355 前面陆陆续续的完成了网上商城的一些基本功能,虽然还有很多地方有待完善,但是不影响 ...

  4. 【SSH网上商城项目实战21】从Demo中看易宝支付的流程

         转自: https://blog.csdn.net/eson_15/article/details/51447492 这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后, ...

  5. 新巴巴运动网上商城 项目 快速搭建 教程 The new babar sports online mall project quickly builds a tutorial

    新巴巴运动网上商城 项目 快速搭建 教程 The new babar sports online mall project quickly builds a tutorial 作者:韩梦飞沙 Auth ...

  6. 【SSH网上商城项目实战16】Hibernate的二级缓存处理首页的热门显示

    转自:https://blog.csdn.net/eson_15/article/details/51405911 网上商城首页都有热门商品,那么这些商品的点击率是很高的,当用户点击某个热门商品后需要 ...

  7. 商城06——solr索引库搭建&amp&semi;solr搜索功能实现&amp&semi;图片显示问题解决

    1.   课程计划 1.搜索工程的搭建 2.linux下solr服务的搭建 3.Solrj使用测试 4.把数据库中的数据导入索引库 5.搜索功能的实现 2.   搜索工程搭建 要实现搜索功能,需要搭建 ...

  8. 【SSH网上商城项目实战30】项目总结

      转自:https://blog.csdn.net/eson_15/article/details/51479994 0. 写在前面 项目基本完成了,加上这个总结,与这个项目相关的博客也写了30篇了 ...

  9. 【SSH网上商城项目实战30】项目总结(附源码下载地址)

    项目基本完成了,加上这个总结,与这个项目相关的博客也写了30篇了,积少成多,写博客的过程是固化思路的一个过程,对自己很有用,同时也能帮助别人.顺便说个题外话,在学习的过程中肯定会遇到很多异常出现,我们 ...

随机推荐

  1. AngularJS笔记---作用域和控制器

    什么是作用域. 什么是控制器, 作用域包含了渲染视图时所需的功能和数据,它是所有视图的唯一源头.可以将作用域理解成试图模型(ViewModel). 作用域之间可以是包含关系也可以是独立关系.可以通过设 ...

  2. 警告:Assigning to &&num;39&semi;id&lt&semi;Delegate&gt&semi;&&num;39&semi; from incompatible type &&num;39&semi;ViewController &ast;const&lowbar;st

    原因: 你自己写了代理,设置了   delegate = self.但是self 没有遵守这个协议 只需要遵守这个协议就可以消除警告.

  3. k近邻算法的Java实现

    k近邻算法是机器学习算法中最简单的算法之一,工作原理是:存在一个样本数据集合,即训练样本集,并且样本集中的每个数据都存在标签,即我们知道样本集中每一数据和所属分类的对应关系.输入没有标签的新数据之后, ...

  4. EmEditor Professional&lpar;文本编辑&rpar; 下载地址

    http://www.greenxf.com/soft/2126.html  16.1.5 http://www.cr173.com/soft/3031.html    16.3.0

  5. 【 c语言中无符号和有符号的加法运算】【深入理解】--【sky原创】

    原文:[ c语言中无符号和有符号的加法运算][深入理解]--[sky原创]   第一题 #include<stdio.h> int main() { unsigned int a=6; i ...

  6. 简单的Android之apk包反编译方法

    网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具 工具下载地址: http://download.csdn.net/detail/zsjangel/7104663 下载上面的三个工具的压缩包 ...

  7. 网络通信 --&gt&semi; epoll用法

    epoll用法 在linux的网络编程中,很长的时间都在使用select来做事件触发.在linux新的内核中,有了一种替换它的机制,就是epoll. epoll函数 1. 创建epoll的句柄 siz ...

  8. wpf 的各个template

    --转载 在使用TabControl.ListView.Menu.TreeView的时候被各种Template搞得头昏眼花,决心把这个问题搞清楚,究竟什么时候该用什么Template?这是个麻烦的问题 ...

  9. python学习第9-10天,函数。

    函数初识 为什么要使用函数? 函数最重要的目的是方便我们重复使用相同的一段程序. 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句. 函数的定义与 ...

  10. layui 日期插件onchange事件失效的方法

    laydate.render({ elem:'#text1',//制定元素 type:'date', //range:true,//开启左右面板 min:'2017-09-1',// max:'201 ...