info

logback配置

白昼怎懂夜的黑 提交于 2019-12-05 11:02:43
logback配置 参考 # logback官网 http://logback.qos.ch/manual/index.html # logback新认识(一):logback主要组件appender、rollingPolicy和triggeringPolicy的使用和理解 http://blog.itcrud.com/blogs/2018/12/logback-first logback配置方式 logback可以编程配置,也可以通过xml或groovy配置文件配置。 classpath下找 logback-test.xml 没找到,classpath下找 logback.groovy 没找到,classpath下找 logback.xml 没找到,classpath下找 META-INF\services\ch.qos.logback.classic.spi.Configurator 文件获取 ch.qos.logback.classic.spi.Configurator 接口的实现类信息。 没找到,使用默认配置类, ch.qos.logback.classic.BasicConfigurator 实例 日志文件滚动 <appender name="pullLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

kafka的安装和初步使用

穿精又带淫゛_ 提交于 2019-12-05 11:01:33
简介 最近开发的项目中,kafka用的比较多,为了方便梳理,从今天起准备记录一些关于kafka的文章,首先,当然是如何安装kafka了。 Apache Kafka是分布式发布-订阅消息系统。 Apache Kafka与传统消息系统相比,有以下不同: 它被设计为一个分布式系统,易于向外扩展; 它同时为发布和订阅提供高吞吐量; 它支持多订阅者,当失败时能自动平衡消费者; 它将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。 安装 kafka 下载地址: http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz 解压 tar -zxvf kafka_2.11-2.3.0.tgz cd /usr/local/kafka_2.11-2.3.0/ 修改 kafka-server 的配置文件 vi /usr/local/kafkaa_2.11-2.3.0/config/server.properties 修改如下 broker.id=1 log.dir=/data/kafka/logs-1 当然,也可以不修改

[用事实说明两个凡是]一个由mysql事务隔离级别造成的问题分析

隐身守侯 提交于 2019-12-05 10:54:00
背景 最近要做一个批跑服务, 基本逻辑就是定时扫描数据库的记录, 有满足条件的就进行处理(一条记录代表一个任务,以下任务与记录含义相同). 要求支持多机部署批跑服务. 批跑支持多机部署实现方案 要实现多机部署, 只要保证每个批跑服务实例每次只获取一条记录, 处理完再获取下一条即可. 其中最种要的是避免不同的实例获取到同一条记录,即所谓抢任务. 先看表结构设计: create database if not exists ae; create table ae.task ( id int primary key, status int); -- status为0说明任务可处理,其它不可处理 以上是简化的表结构,但足以说明本文试图说明的问题. 要避免抢任务, oracle的做法, 直接 update ae.task set status=1 where status=0 and rownum = 1 returning id 即可. mysql的要啰嗦一点: select id from ae.task where status=0; -- 得到ID update ae.task where id = ${id} and status=0; 这两个sql,第一个sql用于获取符合条件的任务, 第二个sql用户将任务锁定. 在并发的场景下,

【Flink】Mac设置本地运行环境

回眸只為那壹抹淺笑 提交于 2019-12-05 10:15:11
下载并启动flink 运行flink,唯一的前置要求是就是安装了java8。 可以本地查看命令: java -version 如果是安装了java8,则输出的命令则类似于: java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode) 对于mac系统,可以通过Homebrew来安装 $ brew install apache-flink ... $ flink --version Version: 1.2.0, Commit ID: 1c659cf 启动本地的flink集群 $ ./bin/start-cluster.sh # Start Flink 你可以检查 http://localhost:8081,是否有页面正常可以访问。 你也可以校验log文件路径的数据: $ tail log/flink-*-standalonesession-*.log INFO ... - Rest endpoint listening at localhost:8081 INFO ... - http://localhost:8081 was granted

python logging模块源码分析

三世轮回 提交于 2019-12-05 09:58:27
阅读目录 一、源码分析 二、流程图 源码分析 1 创建logger对象 logger = logging.getLogger(__name__) # 1.加载文件,创建以下单例对象 root = RootLogger(WARNING) Logger.root = root Logger.manager = Manager(Logger.root) _loggerClass = Logger # 2.getLogger() if name: return Logger.manager.getLogger(name) else: return root # 3.看一下getLogger()干了些什么 class Manager(object): def __init__(self, rootnode): """ Initialize the manager with the root node of the logger hierarchy. """ self.root = rootnode self.disable = 0 self.emittedNoHandlerWarning = False self.loggerDict = {} self.loggerClass = None self.logRecordFactory = None def getLogger(self,

Vue学习之Vue模拟后台数据

前提是你 提交于 2019-12-05 09:50:17
前后端项目的开发,需要前端和后端同时进行开发,有时后端开发人员还未完成API接口可以提供给前端调用,因此就需要模拟前端请求后端接口,后端返回数据。一般开发中都是返回json数据格式来完成前后端的交互。 1. 首先下载一个vue-cli的项目模板 vue init webpack myProject    2. 在项目根目录下创建一个data.json的模拟后台返回数据,名字可以随便写不一定非得是data.json哈,但是格式必须是json格式哈 1 { 2 "seller": { 3 "name": "粥品香坊(回龙观)", 4 "description": "蜂鸟专送", 5 "deliveryTime": 38, 6 "score": 4.2, 7 "serviceScore": 4.1, 8 "foodScore": 4.3, 9 "rankRate": 69.2, 10 "minPrice": 20, 11 "deliveryPrice": 4, 12 "ratingCount": 24, 13 "sellCount": 90, 14 "bulletin": "粥品香坊其烹饪粥料的秘方源于中国千年古法,在融和现代制作工艺,由世界烹饪大师屈浩先生领衔研发。坚守纯天然、0添加的良心品质深得消费者青睐,发展至今成为粥类的引领品牌。是2008年奥运会和2013年园博会指定餐饮服务商

四、eureka服务端同步注册操作

喜欢而已 提交于 2019-12-05 09:33:16
所有文章 https://www.cnblogs.com/lay2017/p/11908715.html 正文 在 eureka服务端注册服务 一文中,我们提到register方法做了两件事 1)注册服务实例信息到当前节点 2)复制服务实例信息到其它节点 本文关注第二点,复制服务实例信息到其它节点。为此,我们先简单看一下register方法的代码 打开PeerAwareInstanceRegistryImpl类的register方法 public void register(final InstanceInfo info, final boolean isReplication) { // ... super.register(info, leaseDuration, isReplication); // 复制到其它节点 replicateToPeers(Action.Register, info.getAppName(), info.getId(), info, null, isReplication); } replicateToPeers担负了复制的功能,跟进它 private void replicateToPeers(Action action, String appName, String id, InstanceInfo info /* optional */,

springboot整合netty,多种启动netty的方式

烂漫一生 提交于 2019-12-05 09:32:29
首先讲解下,spring中初始化加载问题: 很多时候,我们自己写的线程池,还有bean对象,还有其他的服务类,都可以通过,相关注解进行交给spring去管理,那么我们如何让nettyserver初始化加载呢: 在springBean的生命周期中有 1 InitializingBean 在系统初始化之后加载 package com.cxy.netty.controller;import org.springframework.beans.factory.InitializingBean;import org.springframework.stereotype.Controller;@Controllerpublic class DemoController implements InitializingBean { @Override public void afterPropertiesSet() throws Exception { System.out.println("系统加载"); }} 我们可以看下日志: "C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun

用 GitBook 创建一本书

流过昼夜 提交于 2019-12-05 09:22:33
用 GitBook 创建一本书 Gitbook 首先是一个软件,它使用 Git 和 Markdown 来编排书本,如果你没有听过 Git 和 Markdown,那么 gitbook 可能不适合你直接入手,你需要先去学习 Git 和 Markdown。Git 是一个版本控制工具,Markdown 是一个文本编辑语法,基本的使用大概几个小时就可以都学会了,并不复杂。 这是 Gitbook 项目主页上对 Gitbook 的定义。 Modern book format and toolchain using Git and Markdown . 安装 GitBook 首先需要安装 nodejs,以便能够使用 npm 来安装 gitbook $ wget -qO- https://raw.github.com/creationix/nvm/v0.33.11/install.sh | sh 该命令会安装 nvm 命令,安装好以后会添加 nvm 的环境变量到 .bashrc 文件里,接下来退出终端,重新登陆使得 .bashrc 文件生效,或者使用其他方法使添加的环境变量生效。 接下来使用下列命令来安装 npm $ nvm install stable 可以使用下列命令来查看 npm 的版本,比如我这次安装的是 6.11.3 版本。 [erdong@testhost ~]$ npm -

Qualcomm Camera HAL 2.0

冷暖自知 提交于 2019-12-05 09:18:32
我们知道在HAL的Vendor实现当中会动态去load一个名字为camera.$platform$.so的档案,然后去加载Android HAL当中定义的方法,这里以Camera HAL 2.0并且Qualcomm msm8960为例子看下,结合之前的 一篇文章 (http://guoh.org/lifelog/2013/07/glance-at-camera-hal-2-0/)。 (注:这篇文章已经草稿比较久了,但是一直没有发出来,因为手里的这版代码没有设备可以跑,另外也无法确定代码是否完全正确,至少发现了一些地方都是stub实现,文中可能存在一些错误,如发现不正确的地方欢迎指出,我也会尽量发现错误并修正!) 我们知道在camera2.h当中定义了很多方法,那么在msm8960 HAL就是在如下地方 /path/to/qcam-hal/QCamera/HAL2 这编译出来就是一个camera.$platform$.so,请看它的实现 首先是HAL2/wrapper/QualcommCamera.h|cpp /** * The functions need to be provided by the camera HAL. * * If getNumberOfCameras() returns N, the valid cameraId for getCameraInfo() *