2012-09-04 10 views
5

मैं वसंत के लिए जावा कॉन्फ़िगरेशन में कुछ मौजूदा xml कॉन्फ़िगरेशन पर आगे बढ़ रहा हूं। इस प्रक्रिया के दौरान, मुझे कुछ स्थानांतरित जावा कोड का सामना करना पड़ा है जो एक चेक Exception फेंकता है।मुझे स्प्रिंग के जावा कॉन्फिग में चेक अपवादों को कैसे संभालना चाहिए?

@Bean 
public PoolDataSource myDataSource() 
{ 
    final PoolDataSource dataSource = PoolDataSourceFactory.getPoolDataSource(); 
    dataSource.setConnectionPoolName("myDataSourcePoolName"); // throws SQLException 
    return dataSource; 
} 

मैं सोच रहा था कि कैसे मैं इसे संभाल चाहिए, और चाहे या नहीं वसंत डेवलपर्स किसी भी 'सर्वोत्तम प्रथाएं' मन में था।

मैं एक throws खंड के साथ विधि को चिह्नित करना चाहिए (जो किसी भी @Import श्रृंखला का प्रचार होता है) या मैं इसे विधि एक try साथ संभाल चाहिए - catch ब्लॉक?

उत्तर

6

एक सामान्य नियम के रूप में, आपको विधि में @Bean विधि के किसी भी चेक अपवाद की घोषणा करनी चाहिए।

मुझे यकीन नहीं है कि आप "@Import श्रृंखला का प्रचार" के संबंध में क्या संदर्भ दे रहे हैं; throws क्लॉज निश्चित रूप से किसी भी निर्भर @Bean विधियों की आवश्यकता होगी ताकि बदले में throws खंड घोषित किया जा सके, लेकिन जब कंटेनर बूटस्ट्रैप समय पर वास्तविक अपवाद प्रसार की बात आती है, तो अपवाद को वसंत कंटेनर द्वारा उसी तरह से संभाला जाएगा स्प्रिंग एक्सएमएल में कॉन्फ़िगर किए गए सेम से फेंकने वाले अपवादों को संभाला जाता है। @Import यहां एक ऑर्थोगोनल चिंता होनी चाहिए।

+0

सीधे डेवलपर से खुद। धन्यवाद, आपने मेरे प्रश्न का पर्याप्त उत्तर दिया है। ऐसा नहीं, ऐसा करने का कोई 'सही' तरीका नहीं है। –

संबंधित मुद्दे