카테고리 없음

RMI 개발 지원 도구

Lawmin 2011. 1. 28. 10:08
1. RMI Plug-in for Eclipse (http://www.genady.net/rmi/v20/downloads.html)
Eclipse 에서 RMI 관련 개발시 must-use(?) 플러그인이다. 자동으로 skel, stub 파일을 생성해주고, rmiregistry를 버튼으로 실행시킬 수 있게 지원해주는 플러그인.
현재 2.0까지 나와있고, 개인에 한해 4개월까지 무료로 체험해볼 수 있다. (.metadata 지우고 재설치로 갱신도 가능한 듯)

일반 java 프로젝트 생성후에 .settings에 net.genady.rmi.prefs 파일을 아래 내용으로 생성해주면, 프로젝트에서 RMI 관련 기능을 사용할 수 있다. (stubsVersion=2 로 하면 skel파일은 필요없는 듯 하다. jdk 1.5 이상인가...)

eclipse.preferences.version=1
flags.advancedHierarchy=false
flags.debug=true
flags.internalCompiler=true
flags.keepSrc=true
flags.stubsVersion=1

rmiregistry 버튼 눌러 띄우고, stub 생성하고(옵션 enable시 자동 생성), 모니터링 가능
첨부한 파일은 사용기간 연장을 위해 별도로 만든 파일로서, 원리는.. eclipse 내부 설정파일에서 rmiplugin 의 설치시각 부분을 찾아 현재시각으로 초기화 하여 연장하는 방식임


Client/Server JDBC Driver Based on Java RMI 라고 하는데, 한마디로 원격 JDBC이다.
굳이 사용할 필요가 있을까 생각이 들지만, Connection, Statement 가 serializable 하지 않은 이유로 이러한 객체를 이용한 로직은 서버 자체에 구현해두고 별도 관리를 하던가 해야하는데, 그럴 필요 없이 클라이언트에서 직접 사용가능케 해준다.
사이트 소개를 보면 JDBC 3기반으로 최종 업데이트가 2004년이다. 사용해보면 상당히 느리다. (Local 3배 이상)
사용자체는 상당히 편리한데... 최근 버전이 있는지, 내가 잘못써서 속도가 느린지 좀더 봐야겠다.

Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
String rmiJdbcUrl = "jdbc:rmi://" + rmiHost + ":" + rmiPort + "/" + jdbcUrl;
Connection conn = DriverManager.getConnection(rmiJdbcUrl, user, password);

얻어온 conn을 가지고 local 에서와 같이 처리할 수 있다.

java -cp RmiJdbc.jar;ojdbc14.jar -Djava.rmi.server.hostname=[RMI서버주소] org.objectweb.rmijdbc.RJJdbcServer -lp 51099 oracle.jdbc.driver.OracleDriver