- 浏览: 1235970 次
- 性别:
- 来自: 北京
最新评论
-
longxitian:
https://www.cnblogs.com/jeffen/ ...
万恶的Mybatis的EnumTypeHandler -
asialee:
ddnzero 写道博主请问FileUtils这个类是哪个包的 ...
使用mockftpserver进行ftp测试 -
ddnzero:
博主请问FileUtils这个类是哪个包的?还是自己的呢?能放 ...
使用mockftpserver进行ftp测试 -
yizishou:
为什么会intMap.get("bbb") ...
浅谈System.identityHashCode -
liguanqun811:
感觉LogManager打开了所有的LogSegment(文件 ...
jafka学习之LogManager
文章列表
给应届生培训java web 服务的ppt,希望多批评指正.
花了一点时间,给团队应届生和实习生制定的一个学习java的知识点,希望对大家有帮助。
今天终于要讲到LogManager了,在讲LogManager之前,我们还是先来看下几个基本概念和jafka的存储结构。
下面是一个网友画的图:
从这个里面可以看到,消息队列跟路径下,每个topic的每个分区都是一个目录,里面是一个一个的文件,都以jafka结尾
那下来,我们看下类的实现。
public class LogManager implements PartitionChooser, Closeable {
// 服务器配置
final ServerCo ...
有幸与8.12号参加了velocity 2014web前端与运维大会,写了一个总结,请大家多提提建议。
Send这块是比较好理解的,它的作用就是produer或者consumer给broker发消息后的响应,先来看下类图。
从这个来看,最上层是一个Trasmission,里面有三个断言,来描述消息的发送情况。
Send接口封装写socket的channel,在AbstractSend里面封装具体的发送逻辑。
其他的就不详细说明了,基本上都是很好理解的。
RequestHandler从代码来看是比较简单的一个组件,在producer和consumer和broker打交道的过程中,均有一些请求数据,这个里面相当于自定义了一个简单的通讯协议,RequestKeys枚举就是具体的命令的映射类。
这个组件直接来看类图就很明白了,就不详细讲解了。
首先我们先来看SocketServer这个的实现类,这个类虽然实现的很简单,但是包含了nio请求的最基本的过程。
这个类实现的比较经典
我们先来看下局部变量:
// 从类的命名来看是一个RequestHandler的工程类
private final RequestHandlerFactory handlerFactory;
// 可以接受的最大请求数
private final int maxRequestSize ;
// 任务处理者的数量
private final Processor[] pr ...
1. QueueItem介绍,从类的定义来看,这个里面包含一个数据,超那个topic的那个分区发送
public class QueueItem<T> {
public final T data ;
public final int partition ;
public final String topic ;
}
2. EventHandler介绍,从类的定义来看,可以初始化,可以被关闭,在handle方法里面包含一个encoder,一个SyncProducer,和一批 ...
今天帮助网友解决一个问题,cxf对外发布webservice的时候,由于服务器是多网卡环境,从wsdl返回的ip是一个内外地址,解析出错,所以后来在网上查了下,需要设置publishedEndpointUrl设置域名即可。
用ip的时候wsdl如下:
<wsdl:definitions xmlns:ns1="http://ws.api.wenbo.taagoo.com/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:soap=& ...
今天帮助同事调试一个问题,说fastjson在序列化的时候是忽略大小写的,有测试代码,但是不知道为什么,我帮他看了下,特意将过程记录在这个地方。
Bean定义如下:
public class Person{
private int id;
private String name;
public int getId(){return id;}
public void setId(int id){this.id = id;}
public String getName(){return name; ...
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSON;
public class Test {
public static void main(String[] args) {
Map<String, Student> maps = new HashMap<Str ...
之前写过一版本的ueditor的使用方式,感觉后来ueditor升级很快,转眼间又升级了,今天有一个人问这块相关的问题,正好又熟悉下。
首先最基本的用法我就不讲了,只讲文件上传的这块。
首先,文件上传这块和之前的变化很大,先慢慢的讲讲用法。
1. java版本的在jsp目录的文件结构如下:
从这地方可以看出来,有一个controller.jsp, 一个config.json,一堆jar文件, 这个和之前版本是不一致的。
2. maven工程的jar包的引用
...
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
转换类用的是网上的ZHConverter,就不多讲了,看一个例子就好:
public class Test {
public static void main(String[] args) throws Exception {
// Instantiation will fetch the property f ...
我们首先先来看下分区的定义:
在接口上可以进行下面的操作:
初始化操作
返回一个topic的所有partition
跟进brokerId返回broker
返回一个cluster中的所有的broker
updateInfo方法是用来更新zk集群里面的数据结构
close是做一些相关的资源关闭操作
Config类型的比较好理解,其实就是解析用户传递的相关配置文件,对brokerPartiions和allBrokers进行初始化。
比较难理解的是ZK方式,也就是集群模式下的相关配置,我们来仔细看下相关实现:
我们先来看下getZKTopic ...