PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Apache Cayenne / PostgreSQL:zbyt wiele klientów już wystąpiło błąd

Ze śladu stosu i przykładu kodu wygląda na to, że nie używasz ponownie stosu Cayenne (obiekt ServerRuntime), zamiast tego za każdym razem tworzysz nowy. Oprócz powolnego działania powoduje to również wyciek zasobów. Każdy ServerRuntime posiada własną pulę połączeń, której nie można zamknąć. Więc prędzej czy później serwer PostreSQL zostanie przepełniony otwartymi połączeniami.

Rozwiązaniem jest przekształcenie ServerRuntime w singleton o zasięgu aplikacji (np. uczynienie go statyczną zmienną AccountsDBRuntime) i ponowne użycie go za każdym razem, gdy potrzebujesz nowego ObjectContext.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy SQLAlchemy ma funkcję agregującą bool_and?

  2. Spring Data JPA Auditing nie działa dla metody aktualizacji JpaRepository z adnotacją @Modifying, dlaczego?

  3. Błąd niezgodności danych Laravela podczas używania \PDO::ATTR_EMULATE_PREPARES => true

  4. Jak połączyć na zewnątrz dwie tabele (główną i podrzędną wiele do jednego), aby uzyskać tylko JEDEN element z drugiej tabeli?

  5. Wyświetlanie danych PostGIS za pomocą Leafletjs