4,475,284 th visitor since 2017.2.1 ( Today : 6009 )
Programming
No. 393
Name. swindler
Subject. mysql CacheRowSet 사용하기
Main Cate. JSP/Servlet
Sub Cate. Java , MySQL
Date. 2007-09-13 18:10
Hit. 3624 (211.36.27.8)
File.
com.sun.java 패키지중에서
rowset.jar 패키지를 일단 설치해서
CachedRowSetImpl 을 사용하면 된다.

그런데 이 경우 아래와 같은 에러가 발생한다.

java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:61)
at java.io.InputStreamReader.<init>(InputStreamReader.java:80)
at java.util.Properties.load(Properties.java:189)
at java.util.PropertyResourceBundle.<init>(PropertyResourceBundle.java:96)
at com.sun.rowset.JdbcRowSetResourceBundle.<init>(Unknown Source)
at com.sun.rowset.JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle(Unknown Source)
at com.sun.rowset.CachedRowSetImpl.<init>(Unknown Source)
at com.dnt7.db.RowSetMapper.<init>(RowSetMapper.java:36)
at com.dnt7.db.AdminDAO.getUserList(AdminDAO.java:56)
at _user._u__jsp._jspService(_u__jsp.java:306)
at com.caucho.jsp.JavaPage.service(JavaPage.java:74)
at com.caucho.jsp.Page.subservice(Page.java:485)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:181)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:341)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:271)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:536)




이것은 리소스 파일이 제대로 설정되어 있지 않기 때문인데
생성자 부분을 열어보면 아래와 같다.

private JdbcRowSetResourceBundle()
throws IOException
{
Locale locale = Locale.getDefault();
String s = locale.getCountry();
if(!s.equals("") && !s.equals("US"))
propResBundle = new PropertyResourceBundle(Thread.currentThread().getContextClassLoader().getResourceAsStream("com/sun/rowset/RowSetResourceBundle_" + s + "." + "properties"));
else
propResBundle = new PropertyResourceBundle(Thread.currentThread().getContextClassLoader().getResourceAsStream("com/sun/rowset/RowSetResourceBundle.properties"));
}


그래서 rowset.jar 를 푼 다음에.
RowSetResourceBundle.properties 파일을
RowSetResourceBundle_KR.properties 로 변경하여 (같은 위치에 둬야 한다.
com/sun/rowset/)
여기에 파일을 바꾼 다음에 다시 rowset.jar 를 생성해서 사용하면 된다.



ps. 국내 사이트에 거의 관련내용이 없네.
오랜만에 java.sun.com forum에서 정보좀 얻어왔다

[바로가기 링크] : http://coolx.net/cboard/develop/393



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog