• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 950
2007.03.31 (01:10:29)
트랜잭션 수행시에는 GauceOutputStream을 전혀 사용하지 않습니다.
SELECT 수행시에만 GauceOutputStream을 사용하고 있습니다.
SELECT 수행시에는
GauceOutputStream을 열고 DB에서 읽어온 데이터를 쓰고 GauceOutputStream을 close()합니다.


이것 저것 테스트하다가 하나의 현상을 발견했습니다.
일단 무조건 GauceOutputStream을 HttpGauceResponse에서 얻어옵니다.
그리고 커맨드를 수행 시킵니다.
GauceOutputStream을 닫습니다.
위의 루틴을 거치니까 정상적으로 작동하는 군요
에러가 발생했을 경우 addException() 한 내용이 HTML 페이지에서 잘 나오고
에러가 없을 경우에 이전까지 발생하던 에러메시지가 나오지 않습니다.


<예제코드>
HttpGauceResponse gres = (HttpGauceResponse)request;
GauceOutputStream gos = gres.getGauceOutputStream();  // <-- 왜 이 놈을 꼭 실행시켜 주어야하나요?
try {
    job.execute();
} catch(Exception ex) {
    gres.addException(new GauceException(...));
} finally {
    gos.close();
}


이 상황에서 궁금한  점은
1. 왜 꼭 addException()을 호출하기 전에 HttpGauceResponse에서 getGauceOutputStream()을 읽어와야
    정상적으로 작동하는지 ...

2. getGauceOutputStream()과 gres.addException()과의 관계가 궁금합니다.
    gres.addException()을 호출하기 전에 GauceOutputStream이 반드시 열려 있어야하는 것인지 ...


답변을 부탁드립니다. ~~~~





>안녕하세요?
>
>소스를 검토해 보니
>
>GauceOutputStream gos = null;
>
>위와 같이 GauceOutputStream을 사용하셨는데
>
>트랜젝션 완료후에
>
>gos.close();
>
>해주셔야 화면에서 오류로 떨어지지 않습니다.
>
>그럼 수고하세요.
>
>>>게시판을 이용해 주셔서 감사합니다.
>>>다음양식에 맞게 입력해주세요.
>>>
>>>* 고객시스템명 :
>>>* GAUCE 버전 : 4.0(JAVA)
>>>* WAS 종류(WebLogic 등등) : JEUS5.0 Fix13
>>>* DB 종류 : Oracle 9i
>>>* 문의 유형(질문/요청/참조) : 질문
>>>* 내용 :
>>>
>>>구조는 대충 이렇습니다.
>>>ActionServlet(입력받은 Action을 검증하고 분기시킬 조건 검사)
>>>Request의 getMethod()가 GET일 경우에는 SELECT 루틴을 태우고
>>>Request의 getMethod()가 POST일 경우에는 예제 샘플에 있는 fireTxEvent()내용을 참조하여
>>>Command(수행할 JOB)을 생성합니다.
>>>
>>>    --> CommanderFactory(UserTransaction을 생성하여 Commander에게 셋팅하여 리턴)
>>>
>>>        --> Commander(UserTransaction 객체를 가지고 있으며 실제 Job을 실행시킨다.)
>>>              작업개수에 따라서 루핑을 돌면서 Job을 실행한다. (Command 패턴으로 실행)
>>>              실제 UserTransaction을 commit / rollback 하는 역할을 담당한다.
>>>              등록된 모든 Job을 수행하다가 에러가 생기면 rollback, 정상완료이면 commit
>>>
>>>            --> AbstractDAO(모든 DAO의 최상위 클래스로 기본기능을 가지고 있다.)
>>>                  AbstractDAO는 하나의 Connection 인스턴스를 가지고 있으며
>>>                  SubClass에서 getConnection() 요청시에 Connection을 리턴시켜준다.
>>>
>>>                --> DAOs(각각의 단위업무들. AbstractDAO를 상속받아서 추가 메소드 구현)
>>>                      Connection이 필요할 경우 AbstractDAO에게 Connection을 요청하여 사용
>>>                      
>>>대충 위와 같은 구조인데 트랜잭션이 정상적으로 모두 수행되고 난 다음
>>>에러가 없음에도 불구하고 HTML 페이지에는 에러가 있는 것으로 계속 메시지가 뜹니다.
>>>트랜잭션 수행후 특별히 해 주어야할 일이 없는것 같은데
>>>왜 그런것일까요?
>>>
>>>첨부파일
>>>1. 입력페이지
>>>2. DAO(실제 Transaction을 수행하는 클래스들)
>>>
>>
>
번호 제목 닉네임 조회 등록일
2849 DSB 에서 Oracle Clob문제 파일
유창원
1012 2007-03-30
2848 DSB 에서 Oracle Clob문제
기술지원12
1139 2007-03-30
2847 DSB 에서 Oracle Clob문제
유창원
1035 2007-03-31
2846 정식 라이센스를 받은이후 오류가 발생했습니다.
박노성
881 2007-03-29
2845 정식 라이센스를 받은이후 오류가 발생했습니다.
기술지원44
970 2007-03-29
2844 import 인식이 안됩니다.
박정혁
1229 2007-03-29
2843 import 인식이 안됩니다.
기술지원12
936 2007-03-30
2842 다이나믹 서비스 빌더 관련
김중배
901 2007-03-29
2841 그리드에서 헤더 배경색 선언과 관련하여
이재성
900 2007-03-29
2840 그리드에서 헤더 배경색 선언과 관련하여 파일
관리자
1336 2007-03-30
2839 액셀 저장시 버전에 따른 오류 관련 입니다.
하상수
880 2007-03-29
2838 InputFile사용시 에러
서태원
928 2007-03-27
2837 java class에서 트랜잭션 처리 후 해주어야할 사항이 있나요? 파일
유창원
966 2007-03-27
2836 추가질문 (에러메시지 첨부합니다) 파일
유창원
1009 2007-03-30
2835 [아래(↓)의 답변글에 아무런 답변이 없네요~~~~]
유창원
870 2007-03-30
2834 답변입니다. 2007/03/30
관리자
1005 2007-03-30
Selected [추가질문입니다.]
유창원
950 2007-03-31
2832 java class에서 트랜잭션 처리 후 해주어야할 사항이 있나요?
기술지원12
933 2007-03-29
2831 [ 답변 좀 해주셔요~~~~ ^^ ] GauceFilter reload가 안되네요
유창원
1410 2007-03-27
2830 긴급-엑셀로 내려받기가 안됩니다 (자료는 20만건)
김종우
910 2007-03-26
Tag List
XE Login