- 博客(21)
- 资源 (9)
- 收藏
- 关注
翻译 Spring Boot 自动配置(auto-configurtion) 揭秘
本章,我们为你揭秘Spring Boot自动配置(Auto Configuration)运行机制,谈到auto-configuration,肯定离不开@EnableAutoConfiguration注解。package org.springframework.boot.autoconfigure;@Target(ElementType.TYPE)@Retention(RetentionPo...
2018-09-30 13:08:15 13744 2
转载 ZooKeeper介绍
我本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 Solr 集群的时候,我使用到了 ZooKeeper 作为 Solr 集群的管理工具。前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:Zookeeper 可以被用作注册中心。Zookeeper 是 Hadoop 生态系统的一员。构建...
2018-09-30 09:42:48 398
翻译 YAML - Spring Boot 下更好的配置选择?
YAML an alternative to Properties file … with Spring Boot对于许多Java工程师来说,一直习惯于使用properties文件或者xml文件来定义应用程序配置。但SpringBoot允许我们仅通过单个yml文件就可以完成所有与应用相关的配置。补充说明一下:比较不同格式的配置文件的优劣,都会有一定的主观性。但对于SpringBoot配置来说...
2018-09-29 16:02:36 1224
原创 Elastic Job 入门教程系列
Elastic Job 入门教程(一)— 与Spring Boot集成Elastic Job 入门教程(二)— Spring Boot框架下是实现Elastic Job 脚本作业(Script Job)Elastic Job 入门教程(三)— 作业监听Elastic Job 入门教程(四)— 事件追踪Elastic Job 入门教程(五)— 配置Zookeeper集群注...
2018-09-28 13:38:31 2906
原创 Elastic Job 入门教程(六)— “动态”新增脚本类型作业(Script Job)
在Elastic Job 入门教程(二)— Spring Boot框架下是实现Elastic Job 脚本作业(Script Job)中,我们简单介绍了如何在SpringBoot框架下以注解的方式实现脚本类型作业(Script Job),这里我们要提出一个问题?如何在不修改源码的情况下,仅通过增加配置就可以达到新增一个脚本类型的作业?这是有意义的,因为在实际的业务场景中,我们不可能只有一个...
2018-09-27 21:55:58 1537
原创 Elastic Job 入门教程(五)— 配置Zookeeper集群注册中心
在我们之前的示例中,注册中心配置ZookeeperConfiguration中的serverLists配置属性,我们都是使用的Zookeeper单服务器reg-center: server-list: "192.168.43.61:2181" namespace: elastic-job-lite-spring-bootserverLists属性本身是支持多个地址,如: host1:...
2018-09-27 15:37:10 8641 6
原创 Elastic Job 入门教程(四)— 事件追踪
Elastic-Job提供了事件追踪功能,用于查询、统计和监控作业执行历史和执行状态。Elastic-Job-Lite在配置中提供了JobEventConfiguration,目前支持数据库方式配置。事件追踪所配置的DataSource数据库中会自动创建JOB_EXECUTION_LOG和JOB_STATUS_TRACE_LOG两张表以及若干索引。以下是代码示例:定义数据源@Getter@S...
2018-09-26 10:44:34 4786 3
转载 约定由于配置(Convention over Configuration)
###约定优于配置约定优于配置(convention over configuration)[1],也称作按约定编程[2],是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。本质是说,开发人员仅需规定应用中不符约定的部分。例如,如果模型中有个名为Sale的类,那么数据库中对应的表就会默认命名为sales。只有在偏离这一约定时,例如将该表命名为"produc...
2018-09-25 21:02:59 682
原创 Elastic Job 入门教程(三)— 作业监听
接Elastic Job 入门教程(二)— Spring Boot框架下是实现Elastic Job 脚本作业(Script Job),本章我们讨论作业Job的监听。定义监听器@Component@Slf4jpublic class CommonElasticJobListener implements ElasticJobListener { @Override publ...
2018-09-24 21:06:16 1499
原创 Elastic Job 入门教程(二)— Spring Boot框架下是实现Elastic Job 脚本作业(Script Job)
在Elastic Job 入门教程(一)— 与Spring Boot集成这篇文章中,我们简单介绍了Spring Boot与Elastic Job 的集成,并见简单实现了SimpleJob类型作业。本章,我们介绍Spring Boot框架下如何实现Elastic Job的Script Job类型作业。...
2018-09-23 18:46:01 1798
原创 Elastic Job 入门教程(一)— 与Spring Boot集成
注册中心配置@Configurationpublic class RegistryCenterConfig { @Value("${reg-center.server-list}") private String serverList; @Value("${reg-center.namespace}"
2018-09-19 19:37:32 3474
转载 ssh连接远程主机执行脚本的环境变量问题
近日在使用ssh命令 ssh user@remote ~/myscript.sh 登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题:~/myscript.sh: line n: app: command not foundapp是一个新安装的程序,安装路径明明已通过 /etc/profile配置文件加到环境变量中,但这里为何会找不到?如果直接登陆机器remote并执行 ~/...
2018-09-14 11:02:16 4690
原创 Spring Boot 1.0多数据源配置
在Spring Boot 1.x下,我们的多数据源配置如下:读数据库@Configuration@EnableTransactionManagement@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactoryPrimary", transactionManagerRef = "transactionMa...
2018-09-13 10:54:58 677
原创 Spring Boot 2.0多数据源配置
两个数据库实例,一个负责读,一个负责写。datasource-reader: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://192.168.43.61:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=tru...
2018-09-13 09:57:46 611
原创 Spring Batch简单入门(四) - Job启动与监控
接上一章,本章我们介绍Job的启动与监听。Running a JobSpring Boot默认支持自动启动已配置好的Job,我们可以通过配置项**spring.batch.job.enabled=false**来禁止Spring容器自动启动Job。正常情况下,当我们通过调度器调用Job时,整个流程如下: A JobExecution,is the primary storage...
2018-09-11 16:21:54 7141
原创 Spring Batch简单入门(三)- ItemReader 与 ItemWriter
接上一章,Spring Batch本身提供了许多开箱即用的ItemReader与ItemWriter实现。Spring Batch 4针对这些组件又提供了Builder实现,用户可以很方便的通过Builder模式来使用这些组件。本章,我们重点讨论以下几种ItemReader和ItemWriter的使用。ItemReaderFlatFileItemReader对于FlatFi...
2018-09-11 11:51:35 11170
原创 Spring Batch简单入门(二)- Job配置
上一章,我们简单介绍了Spring Batch相关知识,今天我们进一步学习有关如何配置一个简单的Job。我们重新看下这张图。 一个Job对应N个Step(N>=1),一个Step包含一个Reader,一个Processor,一个Writer。我们的代码组织如下: 定义ItemReader @Bean @Qualifier("repositoryItemRe...
2018-09-10 21:20:04 5958
原创 Spring Batch简单入门(一)- 简介
从本章开始的接下来几篇,我们将介绍关于Spring Batch的相关知识。本章,是一个关于Spring Batch的简单入门。Spring Batch根植于Spring Framework大家庭,是一个轻量级的批处理框架,在企业级应用中,我们常见一些批处理业务场景,借助Spring Batch我们可以很方便的开发出健壮、易用的批处理应用。因为Spring Framework框架可以说满...
2018-09-10 20:03:26 20735
翻译 Atomic Variables and ConcurrentMap
AtomicIntegerjava.concurrent.atomic包中包含了许多可以执行原子操作的类,所谓的原子操作是指在多线程并发的情况下无需使用synchronized或者其他锁同步机制的情况下,仍旧可以正确执行的操作,我们就称之为原子操作。 在JVM内部实现上,这些类通过使用compare-and-swap (CAS)来实现原子操作,CAS是CPU内部的一种原子指令,执行速度远比通...
2018-09-04 11:17:18 304 1
翻译 Synchronization and Locks
Synchronized上一章节中,我们初步了解了如何通过ExecutorService来执行并发代码,注意,我们并没有深入讨论多线程间的同步问题,本章,我们将重点讨论线程间同步问题,深入剖析多线程间如何优雅的共享变量,首先,我们从一个简单的例子入手。int count = 0;void increment() { count = count + 1;}如果没有任何同步措...
2018-09-03 16:37:17 316
翻译 Threads and Executors
Threads and RunnablesJava自JDK1.0就支持线程,一般来说,在启动线程之前,我们需要指定线程实际执行方法体,通常我们可以通过重写Runnable接口中的run方法来完成。Runnable task = () -> { String threadName = Thread.currentThread().getName(); System....
2018-09-03 14:43:41 317
3DES加密算法源码
2015-01-21
C++ Builder 汉诺塔算法动态演示系统
2009-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人