2012-09-08 2 views
0

그래서이 (이상한) 이상한 아이디어가 있습니다 - 다양한 서비스를 통해 외부 세계와 통신하는 시스템이 개발되고 있지만 서버 쪽이 전체적으로 배포되어 배포됩니다 단 하나 전쟁으로. 기본 UI (dev/debug-grade, 제작을위한 것이 아닌)를 작성하고 싶습니다. 주요 목표 :gwt dev 모드가 실행되는 동안 서버 측 테스트 케이스

  • 피가 시스템 서비스를 호출하는 대신 자바에서 직접 메소드를 호출은
  • 사용 GWT
  • 은 (테스트 케이스 (TestNG를)에서와 바람둥이에 배포 된 전쟁으로 모두 작동해야 객체 바람직하게는 모두 개발 및 생산 GWT 모드)
  • 이 시스템

그래서에, 별도의 제한 변경을 유지에 ... 어떻게 GWT이 작업을 수행하려면? Tomcat에 배포 할 때 두 가지를 모두 같은 전쟁에 적용했습니다. (다른 전쟁은 다른 클래스 로더를 가지고 있기 때문에). 테스트 케이스 (통합, 그들은 db와 모든 것을 사용합니다)를 실행할 때 초기화 중에 내장 된 부티크를 시작하고 새 gwt 서블릿을 등록합니다.

좋습니다. 그러나 dev 모드는 어떻습니까? 나는 (그것을 분명히 할 것) UI 코드를 수정

  • 에 허용 할 일반 개발자 모드를 시작할 수 있도록하고 싶습니다, 그리고
  • 은 서버 측 코드를 (I 일반적으로 jrebel 달성 것이다) 수정 -하지만 이 경우 테스트 케이스를 실행하는 방법은 무엇입니까? 나는 그들을 확실히 다시 쓰지 않을 것이다.

동일한 jvm에서 시스템을 실행하는 아이디어가 떨어지면 멋진 분리가 가능하지만 일부 무의미한 RPC/RMI/무언가를 쓰게됩니다.

어떻게 접근하나요?

Btw - 이것은 단지 시간외 프로젝트이기 때문에 실제 시스템 개념을 환영합니다.

답변

0

별도의 JVM에서 백엔드 (Tomcat, Jetty 등) 및 프론트 엔드 (GWT 개발 모드)를 실행하면 정상적으로 작동합니다. 그것은 실제로 더 많거나 적은 권장 접근법입니다 (특히 어떤 시점에서 SuperDevMode를 사용하려는 경우). (필자는 백엔드에 뭔가를 변경할 때 핫 스왑 클래스에 대한 JRebel)

  1. 는 WTP 및 디버그 모드에서 부두를 사용하여 백엔드 서버를 시작

    다음은 이클립스를 사용하여 내 개발 전략이다.

  2. 시작 GWT dev에 모드 브라우저

난 그냥 브라우저를 새로 고침해야하는 GWT 부분에 뭔가를 변경하고 나는 UI의 변화를 볼이 방법으로

  • 열기 GWT 응용 프로그램.
    JRebel은 백엔드 부분의 모든 변경 사항을 처리합니다. 이 생산 모드 (RequestFactory, RPC 또는 RequestBuilder)에서 수행 한 것처럼 프론트 엔드와 백엔드 사이

    통신은 동일한 방식으로 이루어집니다.

  • 관련 문제