2009-12-17 2 views
3

저는 스프링 MVC와 주석을 사용하여 GAE에서 애플리케이션을 개발 중입니다. 응용 프로그램은 처음로드하는 데 오랜 시간이 걸리고 응용 프로그램에 액세스하는 한 제대로 동작합니다. 그런데 잠시 동안 응용 프로그램을 종료 한 다음 다시 액세스하면 시간이 많이 걸립니다. 비슷한 문제가있는 ppl을 읽었지만 해결책에 대해 이야기하지 않았습니다. 누구든지이 문제가 있었고 그것을 고칠 수 있었습니까?Google App Engine의 속도 문제 + Spring MVC + Annotations

하나의 해결책은 내가 마지막으로 선택하고자하는 주석을 제거하는 것이 었습니다.

감사합니다.

답변

1

GAE는 아무도 클릭하지 않으면 앱을 죽입니다.

+0

나는 그것을 알았지 만 그렇게하지 않는 해결책이 있는지 알기를 원하지 않습니다. – Oceandrive

+0

cron.xml을 사용하여 1 분마다 핑 (ping)을합니까? – irreputable

+0

크론 (Cron)은 훌륭한 해결책이 아닙니다. 구글이 모든 사람들과 싸우는 것처럼 일시적인 효과가있을 것이기 때문입니다. 왜냐하면 다른 사람들을 위해 비용을 낮추기를 원할 때 그렇습니다. –

1

다소 속도를 높이기 위해 사용할 수있는 최신 버전에는 사전 컴파일 가능 속성이 있습니다. 이유에 대해서는 this article을 참조하십시오. 그것은 런타임 시작 문제를 해결할 수는 없지만 주석이 컴파일 타임이되기를 바라고 있습니다.

당신은 사전 컴파일을 지원 에 추가하여 응용 프로그램 이 기능을 활성화 할 수 있습니다에서 appengine-web.xml에 :하는 것입니다 봄의 초기 로딩 속도를 방법

<precompilation-enabled>true</precompilation-enabled> 
+0

이 작업을 시도했지만 문제가 해결되지 않았습니다 – Oceandrive

5

하나 springapp-servlet.xml의 <context:component-scan base-package="app.controllers" /> 행을 비활성화하고 다음과 같이 애플리케이션의 모든 컨트롤러를 수동으로 지정하십시오.

<bean id="rootController" class="app.controllers.RootController" ></bean> 
<bean id="otherController" class="app.controllers.OtherController" ></bean> 

Google App Engine에서 Spring MVC를 사용 중이며 ~ 3 초 동안 요청을로드하고 있습니다.

+0

카일, 기본적으로 어떤 구성 요소 스캔도하지 마십시오. 대략 얼마나 많은 컨트롤러가 3 초입니까? – stivlo