Spring 3.0 으로 개발중에 로컬 테스트 DB는 Oracle10g JDBC 드라이버는 ojdbc14-10.2 버젼

로컬에서 테스트완료하고, 테스트 DB Oracle11g 에 반영을 하니까, 서버 기동중에 자꾸

'Could not get a DatabaseId Form dataSource' 라고 ERROR 나오고 기동안됨.

딱 보면 dataSource 이름을 못가져온대서 이름도 바꿔보고...

구글링해서 나오는거 이것 저것 다해봐도 똑같음.. 하다하다 안되서, 옆에 다른 시스템 개발중이신 분한테 여쭈어 보니

자기는 ojdbc14-11.2 버젼 쓰고있는데, 잘 된다고, odjbc14 바꿔서 해보라고 하니.. 바로 됨'- '


내가 멍청한건지... 암튼 경력(?)은 무시 못함. 또 하나 배움'- ' 수고요



회사솔루션은 ibatis 를 사용한다.

그래서 insert 성공&여부를 알고자 할때 update 로 해서 return int 값을 받으면,

성공 1, 실패 0 을 받았었는데... 이번에 프로젝트 나온 곳은 myBatis 를 사용하는데.. 똑같겠지하고, 

했는데... return int 값에 이상한 값이 찍힌다.. 

바로..  -2147482646 

순간 멍쪄서.. 이유를 찾아보니, 

myBatis 매퍼설정 파일(XML) 에 defaultExecutorType 라는 항목이 있는데, 이 값을 'SIMPLE' 로 바꿔야한다.

그럼.. defaultExecutorType 는 무엇인가보자.


- defaultExecutorType (디폴트실행자)

: SIMPLE 실행자는 특별히 하는 것이 없다.

: REUSE 실행자는 PreparedStatement를 재사용한다.

: BATHCH 실행자는 구문을 재사용하고 수정을 배치처리한다.

: 암튼 해당항목의 값의 종류는 위와 같이 3개가 있고, SIMPLE를 설정해야 

  내가 원한 IBATIS 와 같은 결과를 얻을 수 있다.




일반적으로 Client 에서 소켓연결할때

ex)

Socket clientSocket = new Socket(IP, PORT);


TimeOut 설정을 하려면, SocketAddress 랑, InetSocketAddress 를 이용해야한다.

* IP, PORT, TIMEOUT 세 변수는 상수라 가정함(IP - string, PORT,TIMEOUT - int)

ex)

Socket clientSocket = new Socket();

SocketAddress socketAddress = new InetSocketAddress(IP, PORT);

clientSocket.connect(socketAddress, TIMEOUT);


이렇게 해야한다.

가끔,

ex)

Socket clientSocket = new Socket(IP, PORT);

clientSocket.setSoTimeOut(5000);

이렇게, 설명이 나온곳이 있는데... 아무의미없음, 사용하면 안되요.


업데이트분 2014-10-30)

clientSocket.connect(socketAddress, TIMEOUT) 이 부분은 소켓 Connect 연결할 때 TimeOut 설정이고,

밑에, clientSocket.setSoTimeOut(TIMEOUT) 이 부분은 소켓연결 후에 응답이 없을때의 TimeOut 설정이다.

(아마도, clientSocket 에서 붙은 serverSocket 에서 응답이 없을시 끈을 TimeOut 이겟지'- ')



'공부 > JAVA' 카테고리의 다른 글

JAVA_[ Dynamic Web Project 에서 Tomcat(Catalina) Home 경로 얻기 ]  (1) 2014.11.04
JAVA_[ transient ]  (0) 2014.10.31
JAVA_[ Socket 통신(포트포워딩) ]  (0) 2014.10.20
JAVA_[ SimpleDateFormat ]  (0) 2014.08.28
JAVA_[ Calendar ]  (1) 2014.08.28

+ Recent posts