Olá,
conforme arquivo spring-xml abaixo tenho duvida como configurar a parte dataSource
para pegar as informações de um arquivo properties (url,username,passaword,driver)
Se não for pedir muito poderia enviar um exemplo via resposta pois recebi alguns
link ou url mas onde trabalho não tenho acesso (firewall trava).
Mais uma duvida como trato o erro se houver por exemplo o banco fora do ar
tem algum exception pra isso o que tenho que fazer pois no metodo trato com throws DAOException está certo
ou tem outra forma de tratar (HELP…HElp…)???
abs
<!-- Datasource JDBC para o banco de dados -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@199.1.30.247:1521:XXXXXX
</value>
</property>
<property name="username">
<value>des</value>
</property>
<property name="password">
<value>des</value>
</property>
</bean>
--arquivo spring-config.xml
<context:property-placeholder location="br/com/xxxxxx/nl/nfs/util/jdbc.properties"/>
<!-- DAO de USUARIO -->
<bean id="usuarioDAO"
class="br.com.xxxxxx.nl.nfs.dao.impl.PubUsuarioDAOImpl">
<property name="sessionFactory" ref="automacaoSessionFactory"/>
</bean>
<!-- DAO de NIVEL -->
<bean id="nivelDAO"
class="br.com.xxxxxx.nl.nfs.dao.impl.PubNivelDAOImpl">
<property name="sessionFactory" ref="automacaoSessionFactory"/>
</bean>
<!-- DAO de FILIAL -->
<bean id="filialDAO"
class="br.com.xxxxxx.nl.nfs.dao.impl.PubFilialDAOImpl">
<property name="sessionFactory" ref="automacaoSessionFactory"/>
</bean>
<!-- Datasource JDBC para o banco de dados -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@128.1.30.247:1521:ATMDES
</value>
</property>
<property name="username">
<value>nfs_des</value>
</property>
<property name="password">
<value>nfs</value>
</property>
</bean>
<!-- SessionFactory Spring -->
<bean id="automacaoSessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.connection.release_mode">after_transaction</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<property name="annotatedClasses">
<list>
<value>br.com.xxxxxx.nl.nfs.bean.PubUsuario</value>
<value>br.com.xxxxxx.nl.nfs.bean.PubFilial</value>
<value>br.com.xxxxxx.nl.nfs.bean.PubNivel</value>
</list>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
/>
<tx:annotation-driven/>
<aop:aspectj-autoproxy proxy-target-class="true"/>
-- o DAO que está associado ao Spring
public class BaseDAO extends HibernateDaoSupport implements DAO {
private static Logger logger = Logger.getLogger(BaseDAO.class);
public BaseDAO(){
}
@SuppressWarnings("unchecked")
public <T> T find(Class<T> classe, Serializable id) throws DAOException {
logger.info("Listando Id="+id);
return (T) getHibernateTemplate().get(classe, id);
}
public <T> void merge(T entity) throws DAOException {
logger.info("Salvando ou atualizando " + entity);
getHibernateTemplate().saveOrUpdate(entity);
}
public <T> void persist(T entity) throws DAOException {
logger.info("salvando " + entity);
getHibernateTemplate().save(entity);
}
public <T> void remove(T entity) throws DAOException {
logger.info("Deletando " + entity);
getHibernateTemplate().delete(entity);
}
}