$.DataSourceConf.java Source code

Java tutorial

Introduction

Here is the source code for $.DataSourceConf.java

Source

    /**
     * Copyright ou  ou Copr. Ministre de l'Europe et des Affaires trangres (2017)
     * <p/>
     * pole-architecture.dga-dsi-psi@diplomatie.gouv.fr
     * <p/>
     * Ce logiciel est un programme informatique servant  faciliter la cration d'applications Web conformment
     * aux rfrentiels gnraux franais : RGI, RGS et RGAA
     * <p/>
     * Ce logiciel est rgi par la licence CeCILL soumise au droit franais et respectant les principes de
     * diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous les
     * conditions de la licence CeCILL telle que diffuse par le CEA, le CNRS et l'INRIA sur le site
     * "http://www.cecill.info".
     * <p/>
     * En contrepartie de l'accessibilit au code source et des droits de copie, de modification et de
     * redistribution accords par cette licence, il n'est offert aux utilisateurs qu'une garantie limite. Pour
     * les mmes raisons, seule une responsabilit restreinte pse sur l'auteur du programme, le titulaire des
     * droits patrimoniaux et les concdants successifs.
     * <p/>
     * A cet gard l'attention de l'utilisateur est attire sur les risques associs au chargement, 
     * l'utilisation,  la modification et/ou au dveloppement et  la reproduction du logiciel par l'utilisateur
     * tant donn sa spcificit de logiciel libre, qui peut le rendre complexe  manipuler et qui le rserve
     * donc  des dveloppeurs et des professionnels avertis possdant des connaissances informatiques
     * approfondies. Les utilisateurs sont donc invits  charger et tester l'adquation du logiciel  leurs
     * besoins dans des conditions permettant d'assurer la scurit de leurs systmes et ou de leurs donnes et,
     * plus gnralement,  l'utiliser et l'exploiter dans les mmes conditions de scurit.
     * <p/>
     * Le fait que vous puissiez accder  cet en-tte signifie que vous avez pris connaissance de la licence
     * CeCILL, et que vous en avez accept les termes.
     * <p/>
     * <p/>
     * Copyright or  or Copr. Ministry for Europe and Foreign Affairs (2017)
     * <p/>
     * pole-architecture.dga-dsi-psi@diplomatie.gouv.fr
     * <p/>
     * This software is a computer program whose purpose is to facilitate creation of web application in
     * accordance with french general repositories : RGI, RGS and RGAA.
     * <p/>
     * This software is governed by the CeCILL license under French law and abiding by the rules of distribution
     * of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL
     * license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
     * <p/>
     * As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by
     * the license, users are provided only with a limited warranty and the software's author, the holder of the
     * economic rights, and the successive licensors have only limited liability.
     * <p/>
     * In this respect, the user's attention is drawn to the risks associated with loading, using, modifying
     * and/or developing or reproducing the software by the user in light of its specific status of free software,
     * that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for
     * developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged
     * to load and test the software's suitability as regards their requirements in conditions enabling the
     * security of their systems and/or data to be ensured and, more generally, to use and operate it in the same
     * conditions as regards security.
     * <p/>
     * The fact that you are presently reading this means that you have had knowledge of the CeCILL license and
     * that you accept its terms.
     *
     */
    #set($symbol_pound='#')#set($symbol_dollar='$')#set($symbol_escape='\')
package ${package}.integration.conf;

    import javax.sql.DataSource;

    import org.apache.commons.dbcp.BasicDataSource;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;

    /**
     * @author MEAE - Ministre de l'Europe et des Affaires trangres
     */
    @Configuration
    @PropertySource("classpath:jdbc.properties")
    public class DataSourceConf {

        @Value("${symbol_dollar}{jdbc.driver}")
        private String driverClassName;

        @Value("${symbol_dollar}{jdbc.url}")
        private String url;

        @Value("${symbol_dollar}{jdbc.username}")
        private String username;

        @Value("${symbol_dollar}{jdbc.password}")
        private String password;

        @Value("${symbol_dollar}{jdbc.validationQuery}")
        private String validationQuery;

        @Value("${symbol_dollar}{jdbc.maxActive}")
        private int maxActive;

        @Value("${symbol_dollar}{jdbc.maxIdle}")
        private int maxIdle;

        @Value("${symbol_dollar}{jdbc.maxWait}")
        private long maxWait;

        @Value("${symbol_dollar}{jdbc.testOnBorrow}")
        private boolean testOnBorrow;

        @Value("${symbol_dollar}{jdbc.testWhileIdle}")
        private boolean testWhileIdle;

        @Value("${symbol_dollar}{jdbc.timeBetweenEvictionRunsMillis}")
        private long timeBetweenEvictionRunsMillis;

        @Value("${symbol_dollar}{jdbc.numTestsPerEvictionRun}")
        private int numTestsPerEvictionRun;

        @Value("${symbol_dollar}{jdbc.removeAbandoned}")
        private boolean removeAbandoned;

        @Value("${symbol_dollar}{jdbc.removeAbandonedTimeout}")
        private int removeAbandonedTimeout;

        @Value("${symbol_dollar}{jdbc.logAbandoned}")
        private boolean logAbandoned;

        @Bean
        public DataSource dataSource() {
            final BasicDataSource dataSource = new BasicDataSource();
            dataSource.setDriverClassName(driverClassName);
            dataSource.setUrl(url);
            dataSource.setUsername(username);
            dataSource.setPassword(password);
            dataSource.setValidationQuery(validationQuery);
            dataSource.setMaxActive(maxActive);
            dataSource.setMaxIdle(maxIdle);
            dataSource.setMaxWait(maxWait);
            dataSource.setTestOnBorrow(testOnBorrow);
            dataSource.setTestWhileIdle(testWhileIdle);
            dataSource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
            dataSource.setNumTestsPerEvictionRun(numTestsPerEvictionRun);
            dataSource.setRemoveAbandoned(removeAbandoned);
            dataSource.setRemoveAbandonedTimeout(removeAbandonedTimeout);
            dataSource.setLogAbandoned(logAbandoned);
            return dataSource;
        }

    }