DBCP 설정 방법 원문은 다음을 참고 하자. 
http://commons.apache.org/dbcp/configuration.html


예시>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" p:driverClassName="com.mysql.jdbc.Driver"
p:url="jdbc url"
p:username="user"
p:password="password"
p:initialSize="5" 
p:maxActive="200" 
p:minIdle="100" 
p:testOnBorrow="true"
p:testWhileIdle="true" 
p:testOnReturn="true" 
p:validationQuery="select 1" />

p:testWhileIdle="true" 는 장시간 DB 작업이 없을 경우에도 지속적으로 validationQuery를 전송하여 연결이끊기는 것을 방지한다. 

p:testOnBorrow="true" 는 커넥션 풀에서 커넥션을 가져올때 커넥션이 유효한지 검사한다.

p:testOnReturn="true" 는 커넥션 풀에 커넥션을 반환할때 커넥션이 유효한지 검사한다.


자꾸만 DB 관련 에러가 나길래 보았더니 아무래도 데이터 소스 관련 설정 문제 인거 같아 위와같이 수정하니, 아직까지 에러가 나진 않는다. 에러가 다음과 같다면 한번쯤 생각해 보시길. 

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.DataAccessResourceFailureException: PreparedStatementCallback; SQL [select * from table where field=?]; Communications link failure due to underlying exception:
java.net.SocketException: Broken pipe
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
	at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
	at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2637)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1554)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:3176)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1153)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1266)
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
	at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:643)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:586)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:636)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:665)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:673)
	at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:716)
	at com.embian.dao.UserDao.getUser(UserDao.java:23)
	at com.embian.controller.AuthController.doAuth(AuthController.java:28)
	at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:717)
	at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:165)
	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:378)
	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:366)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Thread.java:619)




블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,
집에 퇴근해서 오니, 무엇인가 번쩍 번쩍 빛나고 있네요. 뭔가 했더니. 다름아닌 크리스마스 트리였습니다. 요즘 한창 착한아이에게만 준다는 크리스마스 선물 이야기에 빠져버린 첫째 연우에게 준 엄마의 선물이었답니다. 

연우는 오늘도 아빠가 야근을 한다는 말에 시무룩해져 있다가, 트리가 택배로 배달된것을 보고 아빠는 싹 잊어버렸다고 합니다. 엄마와 함께 트리도 만들고, "엄마, 오늘 너무 기분 좋았어, 내일도 반짝 반짝 하는거 봐야지" 하면서 잠이 들었다는데, 어린 연우에게는 때이른 크리스마스 트리가 굉장한 이벤트였나 봅니다.

저도 잘 생각해보면 어릴적에 크리스마스 트리를 만드는게 참 좋았던 기억이 있습니다. 지금처럼 트리 세트를 사서 만든건 아니지만, 집에 있던 나무(?)에 트리 장식들을 엮어 장식하며 즐거워했던 추억이 있습니다. 오늘 연우가 만든 트리가 훨씬 이쁘네요. 하하.

트리 꾸미기에 고민하는 연우.jpg

크리스마스가 오려면 아직도 한달이나 남았지만, 미리 분위기를 내는것도 나쁘지 않은것 같습니다. 크리스마스 트리라는 상징물로 남은 한달동안, '착한아이에게만 주는 선물' 과 '산타클로스 할아버지' 이야기로 아이가 꿈을 꿀 수 있는 분위기가 되는거 같습니다. 

아직 어린 둘째 시우는 뭐가 뭔지 어리버리, 번쩍 번쩍 하는게 그저 좋았나 봅니다. 트리를 잡아채고 뜯고해서 망칠법도 한데, 자기 형이 하는건지 알았는지 트리 밑부분만 조금 건드리고 말았답니다. 내년에는 이녀석 둘이서 트리를 꾸미며 한바탕 꿈을 꿀 수 있기를 바래 봅니다. 

블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,
iphone
iphone by shapeshift 저작자 표시비영리동일조건 변경허락

얼마전이죠? 드디어 한국에서 아이폰을 공식으로 런칭한다는 KT 의 발표가 있었고, 예약 구매를 실시하고 있습니다. 첫날에 2만여대가 예약되었다고 하니, 반응은 꽤 성공적이다라고 볼수 있겠습니다. 

저도 맥북프로를 쓰고, 아이팟 터치를 쓰고, 아이폰앱 개발을 하고 있는지라 아이폰의 출시 여부에 무척 예민해 있었는데요. 그동안 있었던 떡밥들을 뒤로하고 공식 발표를 들으니 가슴이 두근두근 뛰더군요. 

하지만, 아이폰을 지르기란 쉽지 않았습니다. 무엇보다, 현재 저의 휴대폰 통화요금이 한달에 3만원~4만원 정도 나오는것에 비해서 쓸만한 아이폰 요금제는 거의 2배의 가격인 6만원대(기기 할부금포함)라는 점. 알고는 있었지만, 밧데리 교체 문제와 분실시 2년 약정을 어찌할 것이며.. 등등의 문제들이, 아이폰이 나오면 바로 지르리라~ 하고 벼르고 있던 제 마음을 좀 붙잡았습니다. 

고민의 시간은 3일정도... 그 다음엔 다달이 나가는 6만6천원 정도의 휴대폰 요금을 아내에게 설득시키는 작업이 있었고, 빌려준 돈을 안갚아도 된다는 비장의 협상카드를 통해서 2년간 아이폰 사용 허가를 받아내기에 이르렀습니다. ㅋㅋ

그리고는, 폰스토어에서 예약구매를 하고 있는 제 자신을 발견하고 있었습니다. ㅋ

사실 고민하던 3일동안 구매를 완벽히 결심하게된 결정적인 계기가 된 글이 있었습니다.  바로 이글 인데요.. 비론 아이폰뿐만 아니라, 앞으로 출시될 수많은 잘 만들어진 유저인터페이스가 적용된 스마트폰을 통해서 경험하게 될 정보의 흐름에 대해서 무척 잘 짚어 준 글이었습니다.
 
단순히 제가 가지고 다니던 휴대폰 + 아이팟 터치 + 와이브로 를 하나의 기기로 합치게 되어 얻어지는 간편함이 아이폰을 결심하게된 전부는 아니라는 이야기지요. 

우리나라에서는 저 리뷰에서 가능한 일들이 아직 불가능한게 많지만, 이제 아이폰이 풀린이상 조만간 수많은 관련 서비스들이 나오리라 생각합니다. 그리고, 그동안 말 많았던 국내 이동통신 생태계도 좀더 나은 방향으로 흘러 가겠지요. 

그나저나, 외국의 아이폰 유저들을 보면서 부러워 했던 제 손에도 드디어 아이폰이 들리게 되는구요. :)


어여 오너라~ ㅋ 
블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,
맨날 구글링 하지말고. 좀 적어놓자구.~ -_-;

< Subversive SVN Team Provider >

이미 Work with 리스트에 다음주소가 추가 되어 있다.
Galileo - http://download.eclipse.org/releases/galileo 선택
아래 그림처럼 Subversive SVN Team Provider 설치.



< SVNConnector >
http://community.polarion.com/projects/subversive/download/eclipse/2.0/galileo-site/
아래 부분 선택.
(윈도우 라면 JavaHL 1.6.0 Win32 Binaries 선택해서 함께 설치)

끝.

블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,

주말이면 어김없이 어디 나갈데 없나를 고민하는 우리 가정에 축복입니다. 비나 눈이 오거나, 집을 떠나 어딘가에 있지 않는다면 매주 주말 느즈막한 점심시간에 잠깐 들러서 콧바람도 쐴겸, 좋아하는 커피도 마실겸, 아이들 나들이도 할겸, 겸사겸사 나와서 놀다가기 딱 좋은 집입니다.

자, 성남 사시는 분들. 특히 남한산성입구역 근처에 사시는 분들은 주목해 주세요.ㅋㅋㅋ 정말 알기힘든 카페거든요. 우리동네 맛집 입니다.

위치는 이렇습니다.

금광 2동 제 1 공영주차장 맞은편에 위치.

참고로 우리집에서는 걸어서 15분 정도 거리입니다. 유모차와  4살배기 아들걸음에 맞춰서 걸으니 그렇네요. :) 저 주차장 옆에는 성남동 중학교도 있습니다. 찾아 오실분들은 저 두개의 건물만 잘 찾아서 오시면 금방 카페를 찾으실수 있을꺼에요. ^^

저기까지 잘 찾아오시면 바로 건너편에 커피나무라는 작은 카페가 보입니다.

날이 좋을때는 야외에서도 커피를 즐길수 있다.

  일단 이집은 모든 메뉴가 2000원 입니다. 자 메뉴판 보실까요.


제가 좋아라하는 와플도 2000원!!! 물론 크기는 손바닥 만합니다. 간단히 먹고 즐기기엔 부담없는 가격과 크기입니다. 안으로 들어가면 포근하고 차분한 느낌으로 차와 와플을 즐길수 있게 되어 있습니다. 




창가쪽 구석에는 노트북 컴퓨터 한대를 마련해서 잠깐동안 인터넷을 즐길 수 있도록 해놓았군요. 저같은 인터넷 중독자에겐 아주 흡족합니다. AP 가 열려 있는지는 확인을 못했습니다. 요즘엔 넷북도 많이들 가지고 다니니까요. AP 가 있는 지는 다음에 가면 확인을 좀 해봐야 겠습니다. 
 

저희 가족은 녹차라떼와 카페모카 그리고 아이스크림 와플을 주문했습니다. 선불이더군요. 잠시후에 음료와 와플이 나왔습니다.



아이들과 함께 와플은 게눈감추듯 먹어치우고, 아쉬워서 전통 벨기에 와플로 하나더 주문했습니다. 전통 벨기에 와플로 주문하니 와플이 두개가 나오는군요! ㅋㅋ


개인적으로 아이스크림 와플 보다는 전통 와플이 좋네요. 양이 많아서 일까요? ;)

그렇게 음료와 와플을 맛있게 먹은다음 다시 집으로 돌아왔습니다. 
어떠세요? 싸고 가볍게 커피와 와플한번 즐겨 보시려면 이곳도 괜찮은거 같습니다. :)
동네분들은 한번 방문해 보시길. 

참, 365일 연중무휴 랍니다. <- 이것또한 맘에 들어요. ㅋㅋ
 
블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,