본문 바로가기

Cloud/GAE

Eclipse + GAE class hot deploy 개발환경: JDK1.6.0_24 + Eclipse Helios SR2 + appengine-java-sdk-1.5.0 + Googel App Engine for Eclipe 서블릿 클래스를 아무리 변경해도 반영이 안되고 서버를 재시작해야 반영이 되었다. 분명 클래스의 변경은 서버 재시작과 상관이 없다고 했거늘.... 그런데 서버를 시작하는 방법이 이상했다. 많은 곳에서 서버를 시작할 때 [Debug As]로 실행하는 것이 아닌가? 나는 Debug는 안할 거니 [Run As]로 실행했다. 이런! 바로 이 차이가 서블릿 클래스의 변화를 감지하지 못하는 원인이 었다. 즉, Debug As로 서버를 시작해야 서블릿 클래스 등 클래스의 변화를 감지하여 서버 재시작과 무관하게 되는 것이 었다. 결론: GAE는 De.. 더보기
GAE/J(Google App Engine for Java)에서 JPA를 사용할 때 지원되지 않는 것들 GAE/J와 DataStore(DataNuclues)를 접한지 일주일이 되었다. 처음엔 Maven을 적용하나라 고생했고 다음엔 Spring + Struts2를 적용하느라 삽질하고 이제좀 적응되려나 싶었는데 JPA때문에 또 힘들어 졌다. Unsupported Features of JPAThe following features of the JPA interface are not supported by the App Engine implementation: Owned many-to-many relationships, andunowned relationships. You can implement unowned relationships usingexplicit Key values, though type check.. 더보기
Struts 2 ONGL issue on Google App Engine GAE/J(Google App Engine for Java)는 매우 높은 보안 환경을 제공하고 있어서 struts2를 사용할 때 OgnlRuntime security manager를 변경해줘야 한다. 아래는 보안관리자때문에 속성을 설정하려고 할때 메소드에 접근할 수 없다는 예외가 발생한 결과를 보여주고 있다. ognl.MethodFailedException: Method "setNameCardId" failed for object kr.nextree.ncbcrm.action.NameCardController@14e40da [java.lang.IllegalAccessException: Method [public void kr.nextree.ncbcrm.action.NameCardController.setN.. 더보기
GAE/J runserver : java.lang.NoClassDefFoundError: javax/jdo/metadata/TypeMetadata GAE/J(Google App Engine for Java) + maven2 + spring + struts2 를 이용하여 프로젝트를 진행하는 도중에 제목과 같은 에러를 만나 더이상 진행하기 어려웠다. 의외로 해결방법은 간단했다. http://www.jpox.org/servlet/forum/viewthread_thread,5723#30932 에서 그 해결방법을 찾을 수 있으며 그 내용은 아래와 같다. use jdo2-api-2.3-eb javax.jdo jdo2-api 2.3-eb from http://www.datanucleus.org/downloads/maven2/ 더보기