2011-11-07 2 views
1

MySQL을 데이터 소스로 사용하도록 프로젝트를 설정 중이며 몇 가지 문제가 있습니다.TomCat 인스턴스를 사용하여 GWT 서버 측 코드 디버그

  1. 자바 측용 MySQL 드라이버는 GWT Jetty 인스턴스와 호환되지 않습니다. 정말?
  2. TomCat 인스턴스를 구성하고 MySQL 드라이버를 작동시킬 수 있지만 보통 Google Docs에 따라 devty 모드에서 Jetty 인스턴스를 사용할 수있는 것처럼 인라인 (클라이언트 & 서버)을 디버깅 할 수 없습니다.

PHP 또는 Java 백엔드 중 어느 정도를 결정하는 동안 GWT RPC 메커니즘 이외의 주요 이점 중 하나는 Java를 사용하면 GWT가 멋진 개발 환경을 제공한다는 것입니다.

누구나 appEngine 이외의 데이터 소스를 사용해야합니까? 어떻게 dev 환경을 설정 했습니까?

답변

4

MySQL JDBC 드라이버가 임베디드 Jetty와 "호환"된다고 생각합니다. 어쩌면 AppEngine 프로젝트에 있었을 수도 있습니다.이 경우 임베디드 Jetty 서버는 AppEngine과 호환되지 않는 클래스 사용을 금지합니다 (따라서 개발자는 Google 서버의 프로덕션 환경과 가능한 유사한 동작을 수행 할 수 있습니다).

Tomcat에서 실행중인 서버 코드를 디버깅하려면 Eclipse WTP (또는 Eclipse를 사용하지 않는 경우에는 해당 서버)를 사용하여 서버 코드를 실행하거나 appropriate debug arguments과 같이 Tomcat 인스턴스를 시작해야합니다. -agentlib:jdwp=transport=dt_socket,address=8788,server=y,suspend=y을 실행 한 다음 "원격 Java 응용 프로그램"으로 디버깅하십시오 (Eclipse에서는 다른 IDE에서 이름을 지정하지 않습니다). 그런 다음 DevMode를 -noserver 모드 (및 디버그)에서 시작하여 서버와 클라이언트를 동시에 디버깅 할 수 있습니다 (예, 실제로 2 개의 디버그 세션이 있음).

참조하는 문서 (최신 버전은 here입니다)는 사용하는 서버, 배포 방법 및 위치 등에 크게 의존하므로 서버 측 코드 디버깅을 처리하지 않습니다. 서버 측의 GWT 코드는 표준 서블릿 일 뿐이므로 GWT에만 적용되는 것은 없습니다. 서버 측 코드를 디버깅하는 방법.

FYI, 위의 설정을 사용하여 1 년 넘게 독립형 Jetty 인스턴스 (내장 된 Jetty 서버 아님)를 사용합니다.

+0

appEngine을 켰습니다. 일단 내가 그것을 해제, 내가 컴파일 오류있어. 검색을 수행하여 빌드 경로에서 GWT를 앱 엔진보다 먼저 이동해야한다는 것을 알았습니다. 감사... – tpow

1

GWT와 Tomcat을 사용할 수 있으며 클라이언트와 서버를 모두 디버깅 할 수 있습니다. Eclipse의 부두 시동 매개 변수를 살펴보십시오.

나는 비슷한 위치에 몇 년 전에 있었고 테스트를 위해 개발 및 바람둥이로 Jetty를 사용하기로 결정했습니다.

+0

"-noserver"플래그에 대해 이야기하고 있습니까? 그게 당신이 클라이언트 코드를 디버깅 할 수 있지만 내가 읽은 것에서는 클라이언트 (예 : RPC 시작)에서 중단 점을 설정할 수 있고, 디버깅 서버 측 코드를 픽업 할 수있는 것처럼 들리지 않습니다. 서버 측 디버그 환경 설정이 필요합니다. 그걸 피하려고합니다. – tpow

+1

Thomas가 말했듯이 Eclipse는 강력한 IDE이며 다중 디버그 세션을 지원합니다. DevMode와 Tomcat에 동시에 연결할 수 있습니다. – Strelok

관련 문제