1
최대 절전 모드를 사용하여 maven 애플리케이션을 개발 중이다.세션 팩토리 생성에 처음로드하는 데 많은 시간이 걸린다.
처음으로 응용 프로그램을로드하는 동안 세션 팩토리를로드하는 데 많은 시간이 걸리지 만 (약 3-4 분), 후속 세션 팩토리가 즉시 생성됩니다. 시간 지연을 줄이기 위해 내가해야 할 변화가 무엇인지 알아낼 수 있습니까?
package com.infosys.common.util;
import java.util.logging.Logger;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
/*import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;*/
// TODO: Auto-generated Javadoc
/**
* The Class HibernateUtilities.
*/
public class HibernateUtilities {
/** The Constant CONFIGURATION_LOCATION. */
private static final String CONFIGURATION_LOCATION = "com/infosys/common/util/hibernate.cfg.xml";
private static final Logger LOGGER = Logger.getLogger(HibernateUtilities.class.getName());
/** The session factory. */
private static SessionFactory sessionFactory = null;
/** The service registry. */
private static ServiceRegistry serviceRegistry;
/**
* Gets the session factory.
*
* @return the session factory
*/
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
/**
* Creates the session factory.
*
* @return the session factory
* @throws Exception
* the exception
*/
public synchronized static SessionFactory createSessionFactory() throws Exception {
if (sessionFactory == null)
{
try {
LOGGER.info("Logger Name: " + LOGGER.getName());
// Step1 : Loading the configuration details from
// hibernate.cfg.xml
Configuration configuration = new Configuration().configure(CONFIGURATION_LOCATION);
configuration.
setProperty("hibernate.temp.use_jdbc_metadata_defaults","false");
// Step2 : Creating ServiceRegistry using the
// StandardServiceRegistryBuilder and Configuration defined in
// Step 1
serviceRegistry = new StandardServiceRegistryBuilder().configure(CONFIGURATION_LOCATION).build();
// Step3 : Creating the SessionFactory using the Configuration
// and serviceRegistry.
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
} catch (Exception e) {
throw e;
}
}
return sessionFactory;
}
/**
* Close session factory.
*/
public static void closeSessionFactory()
{
if(sessionFactory!=null)
{
sessionFactory.close();
}
}
}
매우 적은 시간이 소요되는 동일한 최대 절전 모드 방법을 사용하는 다른 프로그램을 보았습니다. 내 코드에서 할 수있는 변경 사항이 있습니까 ?? –
로컬 네트워크에 데이터베이스가 있습니까? 나쁜 네트워크 연결로 인해 지연된 시작이 발생할 수 있습니다. –
우리 팀은 우리 회사 네트워크에서 MySQL Workbench를 사용하고 있습니다. –