-
JGropus의 사용자 프로토콜(헤더) 정의 하는 방법개발 2013. 2. 1. 15:05반응형
참고: http://www.jgroups.org/manual-3.x/html/writing.html
사용자 정의 헤더는 Header 클래스를 상속받는다.
Inner 클래스로 만들며 초기화 오류가 난다.
멤버변수의 타입에 대한 길이를 정확하게 계산한다.
writeTo 메서드와 readFrom 메서드는 멤버변수의 순서대로 쓰고 읽어야 한다.
예)
public void writeTo(DataOutput out) throws Exception {
out.writeLong(id);
out.writeInt(type);
out.writeLong(size);
out.writeLong(lastModified);
out.writeUTF(path);
out.writeUTF(name);
}
public void readFrom(DataInput in) throws Exception {
id = in.readLong();
type = in.readInt();
size = in.readLong();
lastModified = in.readLong();
path = in.readUTF();
name = in.readUTF();
}
public int size() {
return Global.LONG_SIZE + Global.INT_SIZE + Global.LONG_SIZE * 2 + path.length() + 2 + name.length() + 2;
}
문자열의 경우 UTF로 읽기 때문에 길이 계산을 잘해야한다.
JGroups의 jg-magic-map에 등록되지 않는 헤더를 사용하기 위해서는 아래와 같이 등록하여야 사용가능하다.
ClassConfigurator.add((short)아이디, 헤더클래스.class);
안해주면 인덱스 에러가 난다.
반응형'개발' 카테고리의 다른 글
Java Architecture for XML Binding (JAXB)를 이용한 Marshal, Unmarshal (0) 2013.02.06 Commons IO의 파일 및 디렉터로 변경에 대한 모니터링 기능 사용 (0) 2013.02.01 JGroups를 이용하여 메시지 전송시 주의점 (0) 2013.02.01 embedded-database 사용하기 (4) 2012.12.12 Annotation로 정의된 Bean 호출하기 (1) 2012.12.05