0
我編寫了JavaFX應用程序並將其連接到我的Windows PC中的本地數據庫。一切正常,但當我將數據庫複製到遠程服務器並嘗試連接時,應用程序變得更慢。 我試圖嗅探PC和服務器之間的MySql會話,並決定它不是網絡問題,因爲PC查詢和服務器響應最後一個數據包到達之間的時間僅爲0.2秒,而應用程序需要4-5秒才能顯示事件的結果。 我知道更好的方法是在遠程服務器上運行Web服務,但在更改應用程序之前,我需要知道,爲什麼應用程序變得更慢?爲什麼我的數據庫放到遠程服務器時,我的java應用程序變慢了?
這裏是休眠CFG文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://serverURLhere:3306/second_attempt_hibernate</property>
<property name="connection.username">usernameHere</property>
<property name="connection.password">passwHere</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hibernate.connection.autocommit">false</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="models.Employee"/>
<mapping class="models.Documents"/>
<mapping class="models.DocTypes"/>
<mapping class="models.DocStatuses"/>
<mapping class="models.MailOrder"/>
<mapping class="models.MailOrderStatuses"/>
</session-factory>
</hibernate-configuration>
非常感謝!我已經做到了!你的建議幫助了我! – Rinat
我發現每次打開某個應用程序窗口時,它都會將SELECT查詢發送到數據庫。我將我的ObservableList類型字段移動到WindowController超類,並將它們設置爲靜態。現在,它們只在應用程序啓動時初始化一次。從WindowController超類繼承的每個窗口都可以檢索此ObservableLists並將項目設置爲組合框。 – Rinat