选择某个java类,Ctrl+鼠标左键选中某个类名,比如Reducer,然后就进入到源码了。如果没有导入源码,会进入到一个class文件,这里可以选择右侧的Choose Source,然后选择解压之后的源码文件,idea就自动导入源码,可以发现class文件变成了java文件,就可以愉快的阅读了。 ...
转载 2021-08-02 14:55:00
1429阅读
2评论
背景网络上的阅读源码方式都是借助idea导入source文件,这种方式没法运行测试代码,周末有空研究了一下怎么导入jdk源码idea,运行测试,分享如下ps. 这个教程主要面向JDK9以上,因为JDK9以上是模块化,不能用idea直接导入需要:需要2021.1版本以上的ideahttps://git.openjdk.java.net/jdk/git@github.com:openjdk/jtre
转载 2024-01-25 20:59:34
284阅读
数据读取类 JdbcDataSource.javaResultSetIterator是JdbcDataSource的内部类,用于从数据库读取数据privateclassResultSetIterator{ResultSetresultSet;Statementstmt=null;List<String>colNames;Iterator<Map<String,Object>>rSetIterator;publicResultSetIterator(Stringquery){try{Connectionc=getConnection();stmt=c.crea
转载 2012-09-10 00:19:00
60阅读
2评论
上文说由DataImporter类进一步处理,DataImporter类的简要代码如下/************************************************************************Module:DataImporter.java*Author:Administrator*Purpose:DefinestheClassDataImporter***********************************************************************/importjava.util.*;/**@pdOid6bcd
转载 2012-09-09 17:59:00
44阅读
2评论
上部分的代码还可以进一步优化,主要是构建Collection<SolrInputDocument> 集合,分批次提交,优化新增索引速度其实分页方式也是分批次提交的,不过这种方式 更优雅参考如下代码  import java.io.IOException;import java.net.MalformedURLException;import java.sql.ResultSet;imp
转载 2012-09-10 03:19:00
66阅读
2评论
上文solr dataimport源码主要实现的是数据读取功能下面我们接着看数据连接的实现的源码:privateConnectiongetConnection()throwsException{longcurrTime=System.currentTimeMillis();if(currTime-connLastUsed>CONN_TIME_OUT){synchronized(this){ConnectiontmpConn=factory.call();closeConnection();connLastUsed=System.currentTimeMillis();returnconn
转载 2012-09-10 00:21:00
34阅读
2评论
solr dataimport 数据导入源码分析(五)提到了contextimpl类调用DataImporter对象获取数据源contextimpl.javaprivateDataSourceds;privateDataImporterdataImporter;@OverridepublicDataSourcegetDataSource(){if(ds!=null)returnds;if(entity==null)returnnull;if(entity.dataSrc==null){entity.dataSrc=dataImporter.getDataSourceInstance(enti
转载 2012-09-10 00:18:00
91阅读
2评论
我们查看DocBuilder类的源码发现,并不是直接持有对SqlEntityProcessor类的引用,而是另外一个包装类EntityProcessorWrapper,EntityProcessorWrapper直接继承自抽象类EntityProcessor,而不是继承自中间的EntityProcessorBase类,简要类图如下包装类额外添加了缓存处理以及格式转换等功能,然后调用SqlEntityProcessor相应方法进行处理,相当于SqlEntityProcessor的代理类,共同继承自抽象类EntityProcessor(SqlEntityProcessor 是通过EntityPro
转载 2012-09-09 19:05:00
57阅读
2评论
在介绍DocBuilder类之前,我们先来解读数据导入对应实体处理器EntityProcessor,默认的实体处理器为SqlEntityProcessorEntityProcessor为抽象类,具体方法由子类实现packageorg.apache.solr.handler.dataimport;importjava.util.Map;publicabstractclassEntityProcessor{publicabstractvoidinit(Contextcontext);publicabstractMap<String,Object>nextRow();publicabst
转载 2012-09-09 18:22:00
75阅读
2评论
本文接下来分析EntityProcessor相关类,我们可以称之为实体处理器,针对不同的数据源有不同的实体处理器,屏蔽了不同数据源的差异本文只介绍针对数据库数据源的实体处理器,
转载 2013-05-04 14:05:00
53阅读
2评论
DocBuilder类的简要代码如下,通过传入context参数到EntityProcessorWrapper类的构造函数,然后执行EntityProcessorWrapper的init()方法初始化数据源;然后调用EntityProcessorWrapper的相关方法获取数据(全部导入或增量导入数据)publicclassDocBuilder{privatevoiddoFullDump(){buildDocument(getVariableResolver(),null,null,root,true,null);}privatevoiddoDelta(){Set<Map<Stri
转载 2012-09-09 23:17:00
43阅读
2评论
我们注意到EntityProcessorWrapper的初始化方法@Overridepublicvoidinit(Contextcontext){delegate.init(context); }这里context是上下文对象,通过context获取数据源,context是抽象类publicabstractclassContext{publicabstractDataSourcegetDataSource();publicabstractDataSourcegetDataSource(Stringname);publicabstractEntityProcessorgetEntityProce
转载 2012-09-09 19:48:00
30阅读
2评论
solr处理请求的接口为SolrRequestHandler.java,由handleRequest方法处理来自http的请求/************************************************************************Module:SolrRequestHandler.java*Author:Administrator*Purpose:DefinestheInterfaceSolrRequestHandler*******************************************************************
转载 2012-09-09 17:36:00
74阅读
2评论
solr的数据导入源码里面,DocBuilder类用于创建solr的Document,具体过程不在本文分析,最后调用SolrWriter类的对象执行SolrInputDocument doc对象的提交、修改、删除等操作本人先来分析一下SolrWriter对象的创建,在DataImportHandler类(数据导入请求处理)的void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp)方法里面UpdateRequestProcessorChain processorChain = req.g...
转载 2013-05-04 21:43:00
73阅读
2评论
去年本人写过一系列 solr dataimport 数据导入源码分析,由于博客园系统存在一些问题,后来上传的相同名称的图片覆盖了原来的图片,导致原来文章里面的图片与其内容不符合,我这里重新整理一下,也同时更新一些心得solr dataimport 数据导入的全局UML类图如下(分两张,我的显示器不够大,显示器显示不完)从上面的UML类图看以看出,这里面是采取了装饰模式以及迭代子模式等我们首先来分析
转载 2013-05-04 13:12:00
107阅读
12点赞
3评论
导入Spring 4.3.8的源码,JDK的版本1.8以上;因为 1、下载Spring源码 方法一: (1)下载并安装GIt,下载地址:https://git-scm.com/download/win (2)配置用户名和邮箱; (3)使用git命令下载Spring源码: 方法二: 直接从gitHub
转载 2018-12-20 14:29:00
341阅读
2评论
1、下载安装gradle,并配置环境变量 2、下载AspectJ并配置环境, 3、github下载spring 4、导入idea 5、配置idea中gradle 6、如果报错:exception during working with external system: java.lang.Asser
原创 2022-01-05 17:40:17
1231阅读
有小伙伴私信我说想要研究下Spring的源码,想让我出一期教程来实现IDEA导入Spring源码,今天它来了~
原创 2023-06-01 09:00:59
142阅读
  releases:   https://github.com/spring-projects/spring-framework/releases git clone https://github.com/spring-projects/spring-framework.gitcd spring-framework#看服务器分支git branch -a#查看本地分支...
原创 2021-08-25 10:28:13
221阅读
下载tomcat源码 解压tomcat源码和二进制包,放到tomcat8目录下 导入 在源码目录下新建pom文件<?xml version="1.0" encoding="utf-8"?><project xmlns="://maven.apache.org/POM/4.0.0" xmlns:xsi="://ww...
原创 2022-02-18 14:57:30
421阅读
  • 1
  • 2
  • 3
  • 4
  • 5