2014-01-26 2 views
0

서블릿 초기화 메소드에서 리소스를 사용 중이고 초기화 중에 해당 리소스에 도달하지 못했습니다. 그러나 언젠가 리소스를 사용할 수있게되면 알 수 있습니다. 이 경우 우리는 무엇을해야합니까?자바 서블릿 초기화 실패

  1. 던져 사용할 수없는 예외
  2. 요청이

기타를 대체 논리를 시도/캐치처럼 필요한 물건을하고 제공하는 작업이 시작될 수이 서블릿 제공하면

  • 아무것도하지 않는 암시?

  • 답변

    1

    모든 것이 사용 가능해지기 전에 요청을 받아들이는 것은 이상한 상황이지만, 이는 예외 예외의 예입니다. 예외를 던져서 예외를 다루는 "오류 장벽"까지 버블 링해야합니다. 예를 들어 예외를 기록하고 나중에 다시 확인하도록 알릴 수 있습니다.

    이는 복구 가능하며 사용자가 앞으로 이동할 수 있도록 처리해야하는 우발적 인 예외와는 대조적입니다.

    그런데 나는이 접근법을 생각해 내지 못했습니다. Barry Ruzek did.

    +0

    설명해 주셔서 감사합니다. & 정말 좋은 기사입니다. – user3085390

    1

    사용자의 요청에 따라 자원이 필요한지 여부에 달려 있다고 생각합니다. 필요한 경우 사용자 요청을 처리하기 전에 자원을 초기화해야합니다. 필요하지 않은 경우 리소스를 건너 뛸 수 있습니다. 데이터베이스 또는 로그 파일에 요청을 기록 할 수도 있습니다. 리소스를 사용할 수있게되면 로그에 따라 작업을 호출하고 저장 한 데이터의 상태를 수정할 수 있습니다.

    +0

    다음 케이스 - 리소스를 초기화하지 못했습니다 어떻게 처리합니까? – user3085390

    +0

    은 사용자 요청에 리소스가 필요한지 여부에 따라 다릅니다. 필요한 경우 예외를 throw 할 수 있습니다. 필요하지 않은 경우 예외를 catch하여 로그 파일에 출력 할 수 있습니다. 코드에서 플래그를 설정하고 자원을 초기화하지 못하면 false로 설정할 수도 있습니다. 후자의 요청은 깃발을 판단 할 것입니다. false이면 코드를 건너 뜁니다. – jiangchunzhi

    +0

    내가 제대로 이해한다면, 사용할 수없는 예외를 던지는 것으로 충분하다는 뜻입니다. 대체 리소스를 제공 할 필요가 없으며 리소스가 필요하며 사용할 수 없습니까? – user3085390