2012-09-04 14 views
5

Paso de una configuración xml existente a la configuración de Java para Spring. Durante este proceso, he encontrado algún código Java transferido que arroja un Exception marcado.¿Cómo debo manejar las excepciones comprobadas en JavaConfig de Spring?

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

Me preguntaba cómo debería manejarlo, y si o no los desarrolladores de Spring tenían ningún 'mejores prácticas' en mente.

¿Debo marcar el método con una cláusula throws (que sería propagar hasta cualquier cadena @Import) o debería manejarlo método con una try - bloque catch?

Respuesta

6

Como regla general, simplemente debe declarar cualquier excepción marcada en la cláusula throws del método @Bean.

No estoy seguro de a qué se refiere con respecto a "propagar cualquier cadena @Import"; la cláusula throws requerirá, por supuesto, cualquier método @Bean dependiente para declarar una cláusula throws que contenga esa excepción, pero cuando se trata de la propagación de excepción real en el tiempo de arranque del contenedor, la excepción será manejada por el contenedor Spring de la misma manera que se manejan las excepciones lanzadas desde los beans configurados en Spring XML. @Import debería ser una preocupación ortogonal aquí.

+0

Directamente del desarrollador mismo. Gracias, has respondido suficientemente mi pregunta. Que no, no hay una forma "correcta" de hacerlo. –

Cuestiones relacionadas