ドルイドを使用してjavaliteデータベース接続プールの構成

  • ポンポンファイルで導入されたJarパッケージ
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
  • web.xmlに組み込まDuridフィルタDruidWebStatFilter
  <filter>
      <filter-name>DruidWebStatFilter</filter-name>
      <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
      <init-param>
          <param-name>exclusions</param-name>
          <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
      </init-param>
      <init-param>
          <param-name>profileEnable</param-name>
          <param-value>true</param-value>
      </init-param>
      <init-param>
          <param-name>principalCookieName</param-name>
          <param-value>USER_COOKIE</param-value>
      </init-param>
      <init-param>
          <param-name>principalSessionName</param-name>
          <param-value>USER_SESSION</param-value>
      </init-param>
 </filter>
 <filter-mapping>
      <filter-name>DruidWebStatFilter</filter-name>
      <url-pattern>/*</url-pattern>
 </filter-mapping>

このフィルタが配置されるべきであることに留意されたいorg.javalite.activeweb.RequestDispatcher入口がactiveWebを要求しているため、上記要求が最初にあった場合、このフィルタでありするRequestDispatcher捕捉は、適切な静的ページまたは要求結果に直接戻ります。この場合、APIをキャプチャすることはできません。

そしてまた、中のweb.xmlアドオンでドルイドサーブレット、これはクライアントのIP用のユーザー名とパスワードが必要であることを注意して、静的なページの監視を提示するため、一般のアクセスのみ、より詳細な構成のリファレンスにマシンを設定し
StatViewServletコンフィギュレーション

  • ではapp.config.DbConfigのコンフィギュレーションデータソースクラス

プロジェクトはので、ここで、豆の自動管理を実現するために、スプリング導入しないので、我々が所有する必要com.alibaba.druid.pool.DruidDataSource新しい新しいアウトを以下のように、対応する属性は、達成するためのJavaコードで構成されています。

    public void init(AppContext context) {
        String password = context.get("config_password", String.class);
        System.setProperty("druid.wall.logViolation", "true");      //对被认为是攻击的SQL进行LOG.error输出,设置为true表示输入日志
        System.setProperty("druid.wall.throwException", "false");   //对被认为是攻击的SQL抛出SQLException 设置为false表示不抛出异常
        Properties properties = new Properties();
        try {
            properties.load(DbConfig.class.getClassLoader().getResourceAsStream("druidConfig.properties"));
        } catch (IOException e) {
            logger.error("读取druid配置失败");
        }
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setPassword(password);                           // 这里的密码使用的是config.txt中的密码
        dataSource.configFromPropety(properties);
        dataSource.setConnectionProperties("druid.stat.mergeSql=true");            // 相似的sql语句自动融合
        
        environment("development").dataSource(dataSource);
        environment("development").testing().dataSource(dataSource);
        environment("production").dataSource(dataSource);
    }

コード読取druidConfig.propertiesのプロファイル、および値DruidDataSourceにプロファイル・セットを、この文書は次の通りであります

druid.url = jdbc:mysql://192.168.2.113:3306/jhbims?useSSL=false&useUnicode=true&characterEncoding=UTF-8&amp;autoReconnect=true
druid.username = jhbims
druid.password = jhbims
druid.driverClassName = com.mysql.jdbc.Driver

druid.initialSize = 5
druid.minIdle = 3
druid.maxActive = 100
drud.maxWait = 1000
druid.testOnBorrow = true
druid.filters = stat,wall

もっと見る、このファイルを設定する属性の構成リストをDruidDataSource

ブログ記事複数のプラットフォームからこの記事OpenWriteリリース!

おすすめ

転載: www.cnblogs.com/theone67/p/12204657.html