本地环境(windows)安装elasticsearch及kibana。
添加elasticsearch依赖
org.springframework.boot spring-boot-starter-data-elasticsearch
修改application.yml文件,在spring节点下添加Elasticsearch相关配置。 data: elasticsearch: repositories: enabled:true cluster-nodes:127.0.0.1:9300 # es的连接地址及端口号 cluster-name:elasticsearch # es集群的名称
添加domain文档对象 不需要中文分词的字段设置成@Field(type = FieldType.Keyword)类型,需要中文分词的设置成@Field(analyzer = "ikmaxword",type = FieldType.Text)类型。
/**
搜索中的商品信息
Created by macro on 2018/6/19. */
@Document(indexName ="pms", type ="product",shards =1,replicas =0) public class EsProduct implements Serializable{ private static final long serialVersionUID =-1L; @Id private Long id; @Field(type =FieldType.Keyword) private String productSn; private Long brandId; @Field(type =FieldType.Keyword) private String brandName; private Long productCategoryId; @Field(type =FieldType.Keyword) private String productCategoryName; private String pic; @Field(analyzer ="ik_max_word",type =FieldType.Text) private String name; @Field(analyzer ="ik_max_word",type =FieldType.Text) private String subTitle; @Field(analyzer ="ik_max_word",type =FieldType.Text) private String keywords; private BigDecimal price; private Integer sale; private Integer newStatus; private Integer recommandStatus; private Integer stock; private Integer promotionType; private Integer sort; @Field(type =FieldType.Nested) private List attrValueList; //省略了所有getter和setter方法 }
添加EsProductRepository接口用于操作Elasticsearch 继承ElasticsearchRepository接口,这样就拥有了一些基本的Elasticsearch数据操作方法,同时定义了一个衍生查询方法。 /**
商品ES操作类
Created by macro on 2018/6/19. / public interface EsProductRepository extends ElasticsearchRepository{ / *
搜索查询
@param name 商品名称
@param subTitle 商品标题
@param keywords 商品关键字
@param page 分页信息
@return */ Page findByNameOrSubTitleOrKeywords( String name, String subTitle, String keywords,Pageable page); }
添加xxxService接口 /**
商品搜索管理Service
Created by macro on 2018/6/19. / public interface EsProductService{ / *
从数据库中导入所有商品到ES / int importAll(); / *
根据id删除商品 / void delete( Long id); / *
根据id创建商品 / EsProduct create( Long id); / *
批量删除商品 / void delete(List ids); / *
根据关键字搜索名称或者副标题 */ Page search(String keyword,Integer pageNum,Integer pageSize); }
添加Service接口的实现类xxxServiceImpl /**
商品搜索管理Service实现类
Created by macro on 2018/6/19. */ @Service public class EsProductServiceImpl implements EsProductService{ private static final Logger LOGGER = LoggerFactory.getLogger(EsProductServiceImpl.class); @Autowired private EsProductDao productDao; @Autowired private EsProductRepository productRepository;
@Override public int importAll(){ List esProductList = productDao. getAllEsProductList(null); Iterable esProductIterable = productRepository.saveAll(esProductList); Iterator iterator = esProductIterable.iterator(); int result =0; while(iterator.hasNext()){ result++; iterator.next(); } return result; }
@Override public void delete(Long id){ productRepository.deleteById(id); }
@Override public EsProduct create(Long id){ EsProduct result =null; List esProductList = productDao.getAllEsProductList(id); if(esProductList.size()>0){ EsProduct esProduct = esProductList.get(0); result = productRepository.save(esProduct); } return result; }
@Override public void delete(List ids){ if(!CollectionUtils.isEmpty(ids)){ List esProductList = new ArrayList<>(); for(Long id : ids){ EsProduct esProduct =new EsProduct(); esProduct.setId(id); esProductList.add(esProduct); } productRepository.deleteAll( esProductList ); } }
@Override public Page search(String keyword,Integer pageNum,Integer pageSize){ Pageable pageable =PageRequest.of(pageNum, pageSize); return productRepository.findByNameOrSubTitleOrKeywords(keyword, keyword, keyword, pageable); } }
添加Controller定义接口 /**
搜索商品管理Controller
Created by macro on 2018/6/19. */ @Controller @Api(tags ="EsProductController", description ="搜索商品管理") @RequestMapping("/esProduct") public class EsProductController{
@Autowired private EsProductService esProductService;
@ApiOperation(value = "导入所有数据库中商品到ES") @RequestMapping(value ="/importAll", method =RequestMethod.POST) @ResponseBody public CommonResult importAllList(){ int count = esProductService.importAll(); return CommonResult.success(count); }
@ApiOperation(value ="根据id删除商品") @RequestMapping(value ="/delete/{id}", method =RequestMethod.GET) @ResponseBody public CommonResult< Object> delete(@PathVariable Long id){ esProductService.delete(id); return CommonResult.success(null); }
@ApiOperation(value = "根据id批量删除商品") @RequestMapping(value ="/delete/batch", method =RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids){ esProductService.delete(ids); return CommonResult.success(null); }
@ApiOperation(value ="根据id创建商品") @RequestMapping(value ="/create/{id}", method =RequestMethod.POST) @ResponseBody public CommonResult create(@PathVariable Long id){ EsProduct esProduct = esProductService.create(id); if(esProduct !=null){ return CommonResult.success(esProduct); }else{ return CommonResult.failed(); } }
@ApiOperation(value ="简单搜索") @RequestMapping(value ="/search/simple", method =RequestMethod.GET) @ResponseBody public CommonResult> search(@RequestParam(required =false) String keyword,@RequestParam(required =false, defaultValue ="0") Integer pageNum,@RequestParam(required =false, defaultValue="5") Integer pageSize){ Page esProductPage = esProductService.search(keyword, pageNum, pageSize); return CommonResult.success(CommonPage.restPage(esProductPage)); } }
常用注解 @Document //标示映射到Elasticsearch文档上的领域对象 public @interface Document{ //索引库名次,mysql中数据库的概念 String indexName();
//文档类型,mysql中表的概念 String type() default "";
//默认分片数 short shards() default 5;
//默认副本数量 short replicas() default 1; }
@Id //表示是文档的id,文档可以认为是mysql中表行的概念 public @interface Id{}
@Field public @interface Field{ //文档中字段的类型 FieldType type() default FieldType.Auto;
//是否建立倒排索引 boolean index() default true;
//是否进行存储 boolean store() default false;
//分词器名次 String analyzer() default ""; }
//为文档自动指定元数据类型 public enum FieldType{ Text,//会进行分词并建了索引的字符类型 Integer, Long, Date, Float, Double, Boolean, Object, Auto,//自动判断字段类型 Nested,//嵌套对象类型 Ip, Attachment, Keyword //不会进行分词建立索引的类型 }
参考项目:https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-06
你可能感兴趣的:(springboot整合elasticsearch)
【Elasticsearch】多索引(数据流)搜索
risc123456
Elasticsearch elasticsearch
在Elasticsearch中,搜索多个数据流(datastreams)和索引(indices)是一个常见的操作,尤其是在处理大规模数据或跨多个数据源进行查询时。以下是关于如何使用查询来搜索多个数据流和索引的详细说明,包括方法、示例和一些高级特性。---1.为什么需要搜索多个数据流和索引?在实际应用中,数据可能会分散在多个索引或数据流中,例如:•日志数据按日期或服务类型分隔到不同的索引。•数据流用
【Elasticsearch】`nested`字段
risc123456
Elasticsearch elasticsearch
Elasticsearch的`nested`字段是一种强大的数据类型,用于处理嵌套对象数组,允许将每个对象独立索引和查询。以下是关于`nested`字段的详细说明:1.`nested`字段的定义`nested`字段是`object`数据类型的特殊版本,允许将对象数组索引为独立的隐藏文档。这使得每个嵌套对象可以独立于其他对象进行查询。例如:```jsonPUT/blog-posts{"mapping
Elasticsearch字段类型
java编程小帅
Elasticsearch 大数据 java elasticsearch 搜索引擎
每个字段都有一个字段数据类型或字段类型。此类型指示字段包含的数据类型(如strings或boolean)及其预期用途。例如,可以将strings索引到text和keyword字段。但是,text字段值将被分析以进行全文搜索,而keyword字符串则保留原样以进行过滤和排序。字段类型按家庭分组。同一家庭中的类型支持相同的搜索功能,但可能具有不同的空间使用或性能特征。目前,唯一的类型家庭是keywor
Elasticsearch详解
久梦歌行
elasticsearch jenkins 大数据
Elasticsearch是什么Elasticsearch是使用Lucene为基础建立的开源可用全文搜索引擎,它可以快速地储存、搜索和分析海量数据Elasticsearch的特点和传统的关系数据库对比关系型数据库查询性能,数据量超过百万级千万级之后下降厉害,本质是索引的算法效率不行,B+树算法不如倒排索引算法高效。关系型数据库索引最左原则限制,查询条件字段不能任意组合,否则索引失效,相反Elast
Windows环境下es8的集群部署
想养一只萨摩耶~
Elasticsearch elasticsearch 大数据 服务器
原创文章:Windows环境下es8的集群部署–编程屋目录1相关概念1.1单机集群1.2集群Cluster1.3节点Node2Windows下部署2.1节点node-10012.2节点node-10022.3节点node-10031相关概念1.1单机集群单台Elasticsearch服务器提供服务,往往都有最大的负载能力,超过这个阀值,服务器新能就会大大降低不可用,所以生产环境中,一般都是运行在指
Elasticsearch【复合搜索、结果排序、分页查询、高亮查询、SQL查询】(四)-全面详解(学习总结---从入门到深化)
童小纯
中间件大全---全面详解 jenkins 运维 elasticsearch 搜索引擎
目录Elasticsearch搜索文档_复合搜索Elasticsearch搜索文档_结果排序Elasticsearch搜索文档_分页查询Elasticsearch搜索文档_高亮查询Elasticsearch搜索文档_SQL查询原生JAVA操作ES_搭建项目原生JAVA操作ES_索引操作Elasticsearch搜索文档_复合搜索GET/索引/_search{"query":{"bool":{//必
Windows环境下构建本地多节点Elasticsearch集群
静谧星光c
windows elasticsearch jenkins 大数据
Windows环境下构建本地多节点Elasticsearch集群在大数据领域,Elasticsearch是一个经常使用的分布式搜索和分析引擎。本文将介绍如何在Windows操作系统下搭建一个本地的多节点Elasticsearch集群。通过搭建本地集群,我们可以在单一系统上模拟出多个节点,从而加深对Elasticsearch集群内工作原理的理解。准备工作首先,确保你的系统已经安装了Java开发环境(
ElasticSearch中的JVM性能调优
java领域
spring spring boot java 后端 mysql
ElasticSearch6.3.2中的JVM性能调优前一段时间被人问了个问题:在使用ES的过程中有没有做过什么JVM调优措施?在我搭建ES集群过程中,参照important-settings官方文档来的,并没有对JVM参数做过多的调整。但谈到JVM配置参数,少不了操作系统层面上的一些配置参数,比如pagecache和文件描述符的个数:(/etc/security/limits.conf)。另外E
夜莺监控发布 v8.beta5 版本,优化 UI,新增接口认证方式便于鉴权
以防读者不了解夜莺,开头先做个介绍:夜莺监控,英文名字Nightingale,是一款侧重告警的监控类开源项目。类似Grafana的数据源集成方式,夜莺也是对接多种既有的数据源,不过Grafana侧重在可视化,夜莺是侧重在告警引擎。比如把Prometheus、VictoriaMetrics、ElasticSearch等作为数据源接入夜莺,即可在夜莺里配置告警规则做指标、日志的告警。当然了,夜莺也不止
关于 Kibana 、Elasticsearch 奇怪的知识点,一般人可能永远遇不到
极客日常
极客日常 kibana elk java elasticsearch
最近在公司折腾Kibana的时候遇到了个还挺有意思的问题,估计正常情况下几乎没人遇到。先简单说说Kibana和Elasticsearch,Elasticsearch是个分布式、RESTful风格、非常强大的搜索引擎,被广泛地使用于各个IT公司。与Logstash及Kibana开源项目组合在一起,形成了ELK软件栈。Elasticsearch常年霸占DB-Engines搜索引擎排名的榜首,且与第二名
Springboot习惯大于配置原理
枫林晚丶
javaweb java spring springboot 源码 优化大于配置
Springboot简介SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是springboot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,springboot整合了所有的框架。准备工作引入s
002 使用kibana操作ElasticSearch7.x
陌殇殇
# ElasticSearch java elasticsearch 搜索引擎
文章目录4.使用kibana操作es4.1.文档操作1.put方式发送数据2.post方式发送数据3.查看索引文档GET4.更新文档POST5.删除文档&索引DELETE6.批量添加数据_bulk4.2.QueryDLS(查询领域对象语言)1.url检索数据语法2.查询所有数据3.查询全部数据并排序4.查询全部数据排序并分页5.区间查询6.全文检索match7.短语匹配match_phrase8.
使用Elasticsearch和Kibana进行查询的语法和编程实践
一起去旅行Coding
elasticsearch 大数据 搜索引擎 编程
Elasticsearch和Kibana是一对强大的组合,用于处理和可视化大规模数据集。Elasticsearch是一个分布式的搜索和分析引擎,而Kibana是一个用于数据可视化和分析的开源工具。在本文中,我们将详细介绍如何使用Elasticsearch和Kibana进行查询,并给出相应的源代码示例。连接到Elasticsearch在开始编写查询之前,我们首先需要连接到Elasticsearch。
linux es后台启动命令,小白学ES 02-Linux中部署Elasticsearch单机服务
热带汽水
linux es后台启动命令
目录@此部署过程以Elasticsearch-5.6.10版本为例,后续的学习和演示也用此版本.1前提:安装JDK学习使用ES的前提是成功安装JDK——很基础的一项步骤,这里省略.此处学习演示所用的JDK版本为:[root@host-10-0-20-50~]#java-versionjavaversion"1.8.0_151"Java(TM)SERuntimeEnvironment(build1.
在linux环境下启动es,linux上Elasticsearch 安装配置、网页访问
guo桀
在linux环境下启动es
一、ElasticSearch简述ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜索功能
Linux Docker 部署 Elasticsearch (ES) 集群详解教程
努力的小T
Linux 云计算运维基础 docker linux docker elasticsearch 运维 服务器 云计算 大数据
1.安装Docker首先,确保你的Linux系统上已经安装了Docker。如果尚未安装,可以通过以下命令进行安装:sudoyuminstall-yyum-utilssudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.reposudoyuminstalldocker-cedocker-c
elasticsearch8 linux版以服务的方式启动
zhangzeyuaaa
elasticsearch Linux linux 运维 服务器
1.创建系统服务文件对于使用systemd作为系统初始化系统的Linux发行版(如CentOS7及以上、Ubuntu16.04及以上),需要创建一个systemd服务文件。以root用户或具有sudo权限的用户身份执行以下操作:sudovim/etc/systemd/system/elasticsearch.service在打开的文件中输入以下内容:[Unit]Description=Elasti
SpringBoot整合H2并使用Flyway管理数据库版本
程序猿Ryan
springboot spring boot
SpringBoot整合H2并使用Flyway管理数据库版本一、H2数据库简介1、H2数据库是一个开源的关系型数据库。H2是一个嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时支持网络版和嵌入式版本,有比较好的兼容性,支持相当标准的sql标准,支持集群2、提供JDBC、ODBC访问接口,提供了非常友好的基于web的数据库管理界面二、H2数据库连接方式1、以嵌入式(本地)连接方式连接H2
【Elasticsearch】`nested`字段和`join`字段的区别
risc123456
Elasticsearch elasticsearch
`nested`字段和`join`字段都是Elasticsearch中用于处理复杂数据结构的高级数据类型,但它们在设计目标、使用场景和实现方式上存在显著差异。以下是它们的主要区别:---1.设计目标•`nested`字段:•目标:用于处理单个文档中的嵌套数组,将数组中的每个对象独立索引,使其可以独立于其他对象进行查询。•场景:适用于需要在数组中独立查询每个对象的场景,例如博客文章中的评论、订单中的
springboot + logback + filebeat + elk 实现分布式日志中心
imalvisc
java spring linux 运维
前言:本文主要介绍docker搭建elk分布式日志平台,利用filebeat监听logback日志文件,传输到elk中,最终在kibana渲染展示。主要思路:filebeat监听日志文件的变化,传输到logstash,logstash通过分析提取,将日志信息推送到elasticsearch指定索引中,最终kibana从elasticsearch索引中查询并展示日志信息。一、docker搭建elk日
【动态路由】系统Web URL资源整合系列(后端技术实现)【apisix实现】
飞火流星02027
URL整合 apisix反向代理 apisix网关 apisix实现web资源整合 系统URL资源整合 apisix基于请求参数的路由 apisix基于请求头的路由 APISIXDashboard
需求说明软件功能需求:反向代理功能(描述:apollo、eureka控、apisix、sentinel、普米、kibana、timetask、grafana、hbase、skywalking-ui、pinpoint、cmak界面、kafka-map、nacos、gateway、elasticsearch、oa-portal业务应用等多个web资源等只能通过有限个代理地址访问),不考虑SSO。软件质
SpringBoot建立SSH通道整合S3Elasticache(Redis),并实现Redis多库切换
IT但丁
Java Web redis jedis spring boot aws
目录一、背景1、问题2、解决二、建立SSH通道1、pom引入依赖2、创建sshconfig3、SSHConnection程序三、Springboot整合Redis1、引入依赖2、配置信息3、RedisConfig的编写(切库处理配置)4、Redis操作的工具类四、两个大坑1、长时间未操作,连接重置2、长时间未操作,无法获取resource五、总结一、背景使用SpringBoot自带的redis框架
Springboot整合AWS s3 存储
宁漂打工仔
Java # AWS spring boot aws java
依赖com.amazonawsaws-java-sdk-s31.11.543Awsyaml配置amazon:aws:access-key-id:AKIATaccess-key-secret:Tv7Cks3:default-bucket:region:endpoint:https://.com/Configimportcom.amazonaws.auth.AWSCredentials;importc
使用 Canal 实时从 MySql 向其它库同步数据
m0_74823239
面试 学习路线 阿里巴巴 mysql 数据库
目前绝大多数项目还是采用mysql作为数据存储,对于用户访问量较高的网站来说,mysql读写性能有限,我们通常会把mysql中的数据实时同步到Redis、mongodb、elasticsearch等中间件中,应对高并发访问场景,减轻mysql压力,防止数据库宕机。在项目开发中,为了不会原有代码进行侵入,采用canal中间件实现mysql向其它库的实时同步,是一种很不错的方案。canal译意为水道/
【Elasticsearch】keyword分析器
risc123456
Elasticsearch elasticsearch
Elasticsearch中的`keyword`分析器是一种非常特殊的分析器,它的行为与其他常见的分析器(如`standard`、`whitespace`等)截然不同。`keyword`分析器的核心功能是将整个输入字符串作为一个单一的标记(token)返回,而不会对其进行任何拆分或进一步处理。以下是对`keyword`分析器的详细描述,包括其工作原理、适用场景、配置方法以及与其他分析器的对比。1.
微服务es搜索关键词,实现关键词高亮,来自黑马头条的总结
菜鸡且互啄69
elasticsearch 大数据 搜索引擎 java
为了加快搜索效率从es数据库中查询实现的效果,要求从标题和内容中搜索关键词,然后让关键词高亮步骤ElasticSearch环境搭建索引库创建文章搜索多条件复合查询索引数据同步ElasticSearch环境搭建这些都是死步骤,直接cvik分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik下载完后,解压安装包到ElasticSearch
Elasticsearch-API命令行相关操作手册
少儿频道
elasticsearch 中间件 elasticsearch 运维
系列文章目录第一章es集群搭建文章目录系列文章目录前言esApi操作总结前言通过第一章学习es集群搭建流程及es基本概念后,在本章内容中,我们主要对es的基本命令行操作进行一次基本学习,来源于工作中的整理。esApi操作1.查看没有配置密码的es集群节点curl-XGEThttp://ip:9200/_cat/nodes?v2.查看配置了密码的es集群节点(关于es集群配置认证密码将在下章讲)cu
Java查询es很慢怎么办_elasticsearch索引和搜索慢问题分析解决
股票期货软件开发
Java查询es很慢怎么办
简述Elasticsearch是一个分布式的免费开源搜索和分析引擎,能够实现近实时的数据搜索。在使用的过程中,由于各种原因可能导致集群写入或者查询缓慢,本文主要讲述集中常见的原因和解决方法。写入拒绝或者慢现象当像索引(存储和使文档可被搜索)或者搜索数据的时候会出现类似如下429状态码的报错:"status":429,"error":{"type":"es_rejected_execution_ex
docker+es8+kibana单机及集群安装
qq_33935672
docker 容器 运维 es elasticsearch
安装过程遇到很多坑,涉及云服务器连接、配置等,这里把过程记录一下。1.es及kibana的版本最好一致es:dockerpull docker.elastic.co/elasticsearch/elasticsearch:8.11.3kibana:dockerpull docker.elastic.co/elasticsearch/elasticsearch:8.11.32.放开防火墙9200,9
使用 Docker 查看 Elasticsearch 错误日志
一勺菠萝丶
# ELK # SpringBoot docker elasticsearch jenkins
在使用Elasticsearch(简称ES)的过程中,我们可能会遇到各种问题。为了快速定位和解决这些问题,查看错误日志是关键。本文将介绍如何使用Docker查看Elasticsearch的错误日志,并提供一些实用技巧。1.安装Docker确保系统上已经安装Docker。可以通过以下命令验证Docker是否安装成功:dockerversion如果显示Docker的版本信息,则说明安装成功。2.下载并
ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM 字节码动态生成 ClassNode TreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
链表树——复合数据结构应用实例
bardo
数据结构 树型结构 表结构设计 链表 菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
为啥要用位运算代替取模呢
chenchao051
位运算 哈希 汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
最近的情况
麦田的设计者
生活 感悟 计划 软考 想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
PHP去掉字符串中最后一个字符的方法
IT独行者
PHP 字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
hadoop在linux上单机安装过程
_wy_
linux hadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25
JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互 分布式 事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop 互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
探索JUnit4扩展:使用Theory
bijian1013
java JUnit Theory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
[Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
java netty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
Hive几种导出数据方式
daizj
hive 数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
编程之美
dcj3sjt126com
编程 PHP 重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
Oracle 复习笔记之同义词
eksliang
Oracle 同义词 Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
Ajax案例
gongmeitao
Ajax jsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.net Web C# asp.net hovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
事务管理
luyulong
java spring 编程 事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
基础数据结构和算法十一:Red-black binary search tree
sunwinner
Algorithm Red-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
centos同步时间
stunizhengjia
linux 集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro