[英]In which cases should I use destroy-method of DataSource?
我知道destroy-method用於要求spring調用特定方法進行清理。 來源 。 我在代碼中使用Spring Transaction Manager。 我想知道使用此屬性是否有用。 如果可以,該如何使用? 如果沒有,什么時候有用?
我知道Spring會自動調用該方法,但是什么時候應該使用它呢? Spring不需要處理哪些部分,我需要這種方法?
數據源屬性
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
...
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
服務
@Service
public MyServiceImpl implements MyService{
@Transactional
public void saveData(MyData data){
...
}
@Transactional(readOnly = true)
public List<MyData) readData(long id){
...
}
}
知識庫
@Repository
public MyReposImpl implements MyRepos{
@Autowired
SessionFactory sessionFactory;
public void saveData(MyData data) throws HibernateException{
sessionFactory.getCurrentSession().save(data);
}
public List<MyData> readData(long id) throws HibernateException{
...
}
你不叫destroy
。 你告訴春方法的名稱,以便它可以調用方法時在bean不再使用,即需要被銷毀。 對於單例,這在Spring容器停止時發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.