मैं अपने जावा विकेट ऐप को चलाने के लिए अमेज़ॅन ईसी 2 का उपयोग कर रहा हूं और मेरे पास एप्लिकेशन के लिए अमेज़ॅन माईएसक्यूएल इंस्टेंस चल रहा है। सभी ठीक काम करते हैं, लेकिन 8 घंटे के बाद मेरा डेटाबेस कनेक्शन खो जाता है। मैंने c3p0 सेटिंग्स को कॉन्फ़िगर करने का प्रयास किया है ताकि ऐसा न हो। मैंने MySQL सेटिंग्स को अपडेट करने का भी प्रयास किया है, लेकिन कोई मदद नहीं।MySQL कनेक्शन और हाइबरनेट c3p0 सेटिंग्स, 8 घंटे के बाद टाइमआउट?
यहाँ मेरी persitence.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<persistence xmlns="xyz">
<persistence-unit name="mysqldb-ds" transaction-type="RESOURCE_LOCAL">
<description>Persistence Unit</description>
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="XXXXX"/>
<property name="hibernate.connection.password" value="YYYYY"/>
<property name="hibernate.connection.url" value="jdbc:mysql://xxxx.yyyyy.us-east-1.rds.amazonaws.com:3306/paaluttaja"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="connection.pool_size" value="1" />
<property name="cache.provider_class" value="org.hibernate.cache.NoCacheProvider" />
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.max_size" value="20" />
<property name="hibernate.c3p0.timeout" value="300" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.idle_test_period" value="3000" />
</properties>
</persistence-unit>
</persistence>
है मैं इस तरह की क्वेरी बनाने की कर रहा हूँ:
@Service
public class LoginServiceImpl implements LoginService{
@Override
public Customer login(String username, String password) throws LSGeneralException {
EntityManager em = EntityManagerUtil.getEm();
TypedQuery<Customer> query = em.createQuery("SELECT c FROM Customer c "
+ "WHERE c.username = '" + username + "' "
+ "AND c.password = '" + password + "'", Customer.class);
Customer customer = null;
try {
customer = (Customer) query.getSingleResult();
}catch(Exception e){
if(e instanceof NoResultException){
throw new LSGeneralException("login.failed.wrong.credentials", e);
}else{
throw new LSGeneralException("failure", e);
}
}
customer.setLogged(true);
return customer;
}
}
सभी मदद की सराहना की जाएगी।
मैंने अपनी कॉन्फ़िगरेशन में कुछ बदलाव किए हैं और अब हम प्रतीक्षा करते हैं और सर्वश्रेष्ठ के लिए आशा करते हैं। निगरानी से पता चलता है कि hibernate.c3p0.min_size = 5 प्रभावी हो गया है, यह केवल 1 था। निगरानी छवि: http://oi49.tinypic.com/35hipee.jpg – TuomasSaranen
हाय स्टीव, क्या आप मेरे हालिया प्रश्न पर एक नज़र डाल सकते हैं, यह कुछ हद तक संबंधित है: http://stackoverflow.com/questions/19664878/configure-c3p0 -टू-क्लोज-हाइबरनेट-सत्र-कब-कनेक्शन-डाउन-डाउन? धन्यवाद – amphibient