Google AppEngine과 함께 여러 모듈을 사용하고 있으며 개발 서버 (java 버전)를 실행할 수 있는지 궁금해하여 다른 모듈에 할당 된 포트가 항상 동일합니까? 지금 그들은 무작위 인 것처럼 보인다. 그 항구를 결정할 수 있습니까? 모듈 사이에서 (개발의 관점에서) 지속 가능한 방식으로 의사 소통을 할 수 있기를 바랍니다. 현재 두 개의 모듈이 있다면 A와 B라고 부르 자. 모듈 A에서 노출 된 서비스를 모듈 B에서 사용하려고한다. 모듈 B에서 어느 URL에 접근해야하는지 쉽게 알 수 없다.개발 서버의 GAE 모듈
답변
이 시나리오에서는 modules service이 유용 할 수 있지만 제대로 작동 할 것이라고 생각하지만 조금 다른 방식으로 문제를 해결합니다.
localhost의 모든 모듈을 실행하지만 다른 포트 (기본적으로 실행중인 로컬 appengine 인스턴스가 몇 개)에 빌드 스크립트가 수정되었습니다. 구성 정보 (IP : PORT)는 구성 파일에 저장되며 모든 모듈에서 쉽게 액세스 할 수 있습니다. 배포의 경우 응용 프로그램을 이어 보관 파일로 패키지합니다.
Google이이 문제에 대해 쉽게 접근 할 수 있다고 생각하지 않습니다. the modules service을 사용하고 LinkFactory
과 같은 방법으로 getLinkToA(String)
및 getLinkToB(String)
과 같은 방법으로 도우미 클래스에 래핑하고 모듈에 대한 링크를 만드는 모든 곳에서 사용해야합니다.
the dispatch file을 사용하면 같은 (이상) 문제가 발생합니다. 라우팅이 개발 서버에서 작동하지 않기 때문에 프런트 엔드 앱의 일부가 실패 할 수 있기 때문에 이는 실제로 더 큰 문제입니다.
쉽게 시작하는 것이 큰 문제라는 것을 인정해야합니다. –
JVM 매개 변수를 사용하여 각 모듈의 포트를 설정할 수 있습니다. 나는 MVN의에서 appengine을 실행하면
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<configuration>
<jvmFlags>
<jvmFlag>-Ddatastore.backing_store=${project.basedir}/target/local_db.bin</jvmFlag>
<jvmFlag>-Xdebug</jvmFlag>
<jvmFlag>-Dcom.google.appengine.devappserver_module.analysis.port=8081</jvmFlag>
<jvmFlag>-XX:MaxPermSize=512m</jvmFlag>
<jvmFlag>-agentlib:jdwp=transport=dt_socket,address=8001,server=y,suspend=n</jvmFlag>
</jvmFlags>
<enhancerApi>JPA</enhancerApi>
<fullScanSeconds>2</fullScanSeconds>
</configuration>
</plugin>
: devserver 다음 로그에 해당하는
-Dcom.google.appengine.devappserver_module.{module_name}.port=8081
나는 (내 맞춤형 모듈이 "분석"이라고합니다) 다음과 같은 구성과에서 appengine-받는다는 - 플러그인을 사용 그 모듈은 다음과 같습니다 :
[INFO] INFO: Started [email protected]:8081
[INFO] Jun 10, 2014 10:44:16 AM com.google.appengine.tools.development.JettyContainerService startHotDeployScanner
[INFO] INFO: Full scan of the web app in place every 2s.
[INFO] Jun 10, 2014 10:44:16 AM com.google.appengine.tools.development.AbstractModule startup
[INFO] INFO: Module instance analysis is running at http://localhost:8081/
[INFO] Jun 10, 2014 10:44:16 AM com.google.appengine.tools.development.AbstractModule startup
[INFO] INFO: The admin console is running at http://localhost:8081/_ah/admin
[INFO] Jun 10, 2014 11:44:16 AM com.google.appengine.tools.development.DevAppServerImpl doStart
[INFO] INFO: Dev App Server is now running
나는 그것이 도움이되기를 바랍니다.
모듈의 appengine-web.xml
파일의 시스템 속성을 통해 모듈의 포트를 설정할 수 있습니다. 예를 들면 다음과 같습니다.
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<module>MY_MODULE</module>
<version>v1</version>
<threadsafe>true</threadsafe>
<system-properties>
<property name="com.google.appengine.devappserver_module.MY_MODULE.port"
value="8081"/>
</system-properties>
</appengine-web-app>
- 1. GAE/J 개발 서버의 대화 형 GQL
- 2. GAE 모듈 - 복수 런타임
- 3. GAE 개발 - 개발 환경 설정 (HotSwap)
- 4. 개발 서버의 SVN
- 5. Django 개발 서버의 용량
- 6. GAE 파이썬 - 모듈 이름이 MySQLdb
- 7. Drupal 모듈 개발 사례
- 8. 채팅 모듈 개발
- 9. DotNetNuke 6 모듈 개발
- 10. 자바 무선 모듈 개발
- 11. 드루팔 (drupal) 모듈 개발
- 12. drupal 모듈 개발
- 13. dotnetnuke 모듈 개발
- 14. 아파치 모듈 개발
- 15. Trigger.io : 네이티브 모듈 개발
- 16. DNN 모듈 개발 7.00.04
- 17. 모듈 C 개발
- 18. Python 개발 모듈 경로
- 19. GAE blobstore에 서버의 이미지를 저장 하시겠습니까?
- 20. 개발 서버의 AppEngine 검색 API
- 21. 개발 서버의 Django 미디어 파일
- 22. DNN 모듈 개발 : HTML 모듈 기능 만들기
- 23. dotnetnuke, 설문 조사 모듈 및 모듈 개발
- 24. GAE 데이터 스토어 일관성 (개발 모드)?
- 25. 개발 모드에서 GAE 프로젝트를 실행하면 엔티티는 저장됩니다.
- 26. pure Python의 맞춤법 추천 모듈 (GAE 용)?
- 27. GAE Python 2.7, _io 모듈 없음?
- 28. GAE dev_appserver "모듈 이름이 lxml이 아닙니다"
- 29. Drupal 7 모듈 개발 제안
- 30. 개발 ansible 호출 다른 모듈
구성 설정을 공유 할 수 있습니까? –
어떻게 각 모듈마다 다른 포트를 설정할 수 있었습니까? – Gapipro
이것은 기존의 관행 및 Google 고유의 문서와는 완전히 다른 접근 방식을 제안하므로 유용한 대답은 아닙니다. 가장 좋은 대답은 nomukaiki의 공식 답변으로, 공식 Google 샘플 앱의 기능과 정확히 같습니다. –