2012-11-26 8 views
5

Cloudfoundry'da, veritabanı olarak H2 ile başarıyla çalışan bir sınıf uygulamasına sahibim. Şimdi postgresql'e geçmek istiyorum. Uygulamayı postgreSQL'e karşı yerel olarak çalıştırdığımda her şey beklendiği gibi çalışır.Cloudfoundry üzerinde PostgreSQL, PSQLException'ı atar: FATAL: yönetici komutundan dolayı bağlantıyı sonlandırır

Cloudfoundry örneğinde bir arka plan görevi olarak gerçekleştirdiğim oldukça uzun bir çalışma analizi sırasında bir istisna yapıyorum (grails executor plugin kullanarak).

2012-11-26 10:27:38,319 [pool-2-thread-1] ERROR interceptor.TransactionInterceptor - Application exception overridden by rollback exception 
org.springframework.dao.DataAccessResourceFailureException: Hibernate operation: could not execute query; SQL [select this_.id as id8_0_, this_.version as version8_0_, this_.language as language8_0_, this_.url as url8_0_ from sonar_adapter_configuration this_]; FATAL: terminating connection due to administrator command; nested exception is org.postgresql.util.PSQLException: FATAL: terminating connection due to administrator command 
    at myapp.adapters.sonar.SonarAdapterService.loadSonarConfig(SonarAdapterService.groovy:184) 
    at myapp.adapters.sonar.SonarAdapterService.determineArtefactSizes(SonarAdapterService.groovy:145) 
    at myapp.project.AnalysisService.analyzeProject(AnalysisService.groovy:46) 
    at myapp.project.ProjectController$_analyzeProject_closure2.doCall(ProjectController.groovy:69) 
    at grails.plugin.executor.PersistenceContextRunnableWrapper$_run_closure1.doCall(PersistenceContextRunnableWrapper.groovy:34) 
    at grails.plugin.executor.PersistenceContextWrapper.wrap(PersistenceContextWrapper.groovy:35) 
    at grails.plugin.executor.PersistenceContextRunnableWrapper.run(PersistenceContextRunnableWrapper.groovy:34) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Caused by: org.postgresql.util.PSQLException: FATAL: terminating connection due to administrator command 
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102) 
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835) 
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273) 
    ... 13 more 

Herhangi fikir ne bu neden olabilir: Bu asenkron görev

def future = executorService.submit({ 
    return analysisService.analyzeProject(model, project) 
}) 

ben veritabanından aşağıdaki istisna almak içinde?

+0

sonuçlarını özetlemek etmektir otomatik olarak eklendi. Daha fazla bilgi için [SSS] sayfasını okuyun (http://stackoverflow.com/faq#signatures). – Artemix

cevap

3

Uzun süre çalışan bağlantılar için yapılandırılmış zaman aşımına giriyorsunuz (eğer hatalı değilse, değiştirilemez, çünkü sunucu tüm cpu/io tüketen kötü biçimlendirilmiş sorgulardan korunur) kullanıcı karttır -

ne denemek isteyebilirsiniz küçük sorguları içine uzun süren bir sorguyu ölçüte (o eğer bir seçim)

Gönderiminizin imzayı dahil gerekmez
+0

Farklı servisler arayan ve böylece db oturumunu açık bırakan bir servis çağrısı (sanırım). Hazırda bekletme oturumunu el ile çalıştırmayı denedim, ancak bu yardımcı olmadı. Daha küçük işlemler de çözüm değildi. Başka fikir var mı? – user1853147

+0

Belirtilen zaman aşımının belgelendiği bir bağlantınız var mı? – user1853147

+0

Bu cevabı doğrulayabileceğim bir kaynağım olmamasına rağmen, mantıklı. Teşekkürler! – user1853147