başlamak bağlantı havuza veri kaynağıNullpointer Birlikte hazırda bekleme kullanıyorum işlem
<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
<property name="connectionCachingEnabled" value="true" />
<property name="URL">
<value>${jdbc.url}</value>
</property>
<property name="user">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
<property name="connectionCacheProperties">
<value>
MinLimit:10
MaxLimit:75
InitialLimit:10
ConnectionWaitTimeout:120
InactivityTimeout:180
ValidateConnection:true
MaxStatementsLimit:0
</value>
</property>
</bean>
<bean id="hibernatePropertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="hibernate.properties"/>
</bean>
<!-- Database Property -->
<bean id="hibernatePropertiesPearl"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.cache.provider_class">MyCacheProvider</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.max_fetch_depth">0</prop>
<prop key="hibernate.jdbc.batch_size">0</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</prop>
<prop key="hibernate.connection.autocommit">false</prop>
<prop key="hibernate.transaction.manager_lookup_class">
org.hibernate.transaction.JBossTransactionManagerLookup
</prop>
<prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop>
<prop key="hibernate.transaction.auto_close_session">false</prop>
</props>
</property>
</bean>
Görebildiğim
, bağlantıları veritabanında başarıyla açılır ve bu ok çalışıyor olduğunu ancak Bir süre sonra, aşağıdaki hata iletisini günlüklerde alıyorum ve sunucu sadece ölüyor:
21:48:20,700 ERROR [RentalAgreementServlet] Generic exception occurred
java.lang.NullPointerException
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
at HibernateUtil.currentSession(HibernateUtil.java:116)
Veritabanı içindeki bağlantı sayısı doğru görünüyor. Maksimum 75, ama neredeyse hiç bitmez 20. JBOSS 4.2'de uygulanan uygulama. Nullpointer yürütme gerçekleştiğinde bellek de tamam gibi görünüyor. Sanki bir şey sızıyor, ama ne olduğunu bilmiyorum. Bağlantı havuzunun 75 seans olduğunu ve bunu artırmaya çalıştığını düşünüyoruz - aynı zamanda db sunucusunda sadece 20 bağlantı var mı?
Bunu geliştirme ortamında çoğaltmadım. Oturumları öldürmeyi/kesmeyi, ağ bağlantılarını kesmeyi denedim. Farklı istisnalar aldım, ama nullpointerexception yok. Herkes, nelere odaklanacağımı araştırmam için bana bir ipucu verebilir mi?
@Boris Pavlović - Bence yorumunuz yorumunuzu anlamsız kılıyor mu? :) – willcodejavaforfood
Boris - referansı kaldırsa bile, yorumda firmanın adını tekrar ettiniz! – CodeClimber
Teşekkürler. Referansı kaldırdım – HamoriZ