Oracle 连接池类

2024-04-29

我想在 Helper 类中为 Oracle DB 设置连接池。

public class DbConnection {

// Data source for the pooled connection
private static OracleDataSource dataSource;

// Host
private static final String dbHost = "bla";

// Port
private static final String dbPort = "1521";

// DBname
private static final String database = "orcl";

// DBuser
private static final String dbUser = "bla";

// DBpassword
private static final String dbPassword = "bla";

static {
    OracleConnectionPoolDataSource opds;
    try {
        opds = new OracleConnectionPoolDataSource();
        opds.setURL("jdbc:oracle:thin:@" + dbHost + ":" + dbPort + ":"
                + database);
        opds.setUser(dbUser);
        opds.setPassword(dbPassword);
        dataSource = opds;
    } catch (SQLException e1) {
        System.err.println("Connection failed!");
    }
    try {
        // Load driver
        Class.forName("oracle.jdbc.driver.OracleDriver");

    } catch (ClassNotFoundException e) {
        System.out.println("Driver not found!");
    }
}

public static Connection getConnection() throws SQLException {
    return dataSource.getConnection();
}
}

这是有效的,但它不是很快,所以我认为我错过了一些让池工作的东西。有什么建议么?

所以我的外部类只调用 getConnection() 方法......

Connection conn = DbConnection.getConnection();
...
conn.close();

你不应该使用ConnectionPoolDataSource直接地。它旨在供应用程序服务器中的连接池使用。它本身不提供连接池。也可以看看https://stackoverflow.com/a/12651163/466862 https://stackoverflow.com/a/12651163/466862

换句话说:您需要使用实际的连接池,例如 DBCP、c3p0 或 BoneCP,或 UCP(通用连接池)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle 连接池类 的相关文章

  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • “源兼容性”和“目标兼容性”有什么区别?

    之间有什么关系 区别sourceCompatibility and targetCompatibility 当它们设置为不同的值时会发生什么 根据工具链和兼容性 https docs gradle org current userguide
  • java程序有多少种结束方式?

    我知道使用 System exit 0 可以结束一个java程序 例如 如果我有一个JFrame窗口 它会关闭并结束程序 但我想知道还有多少其他方法 可以关闭它并结束程序 包括发生错误时 程序会被关闭 JFrame也会被关闭吗 添加到其他答
  • 如何在 Android 应用程序中隐藏 Flutterwave API 密钥

    我正在构建一个 Android 应用程序 目前正在将 Flutterwave 集成到我的应用程序中以进行支付 建议我永远不要将 Flutterwave API 密钥放在我的应用程序上 那么我该如何隐藏这些键呢 我正在使用 Retrofit
  • 通过Zuul上传大文件

    我在通过 zuul 上传大文件时遇到问题 我正在使用 apache commons 文件上传 https commons apache org proper commons fileupload https commons apache o
  • 为什么用scala写的代码比用java写的慢6倍?

    我不确定我在编写 scala 代码时是否犯了一些错误 问题是 The four adjacent digits in the 1000 digit number that have the greatest product are 9 9
  • 使用 OkHttp 下载损坏的文件

    我编写的下载文件的方法总是会产生损坏的文件 public static String okDownloadToFileSync final String link final String fileName final boolean te
  • 在 Spring 中为 @Pathvariable 添加类级别验证

    在发布这个问题之前 我已经做了很多研究并尝试了很多可用的解决方案 这是我陷入的棘手情况 我有一个 Spring 控制器 它有多个请求映射 它们都有 PathVariables 控制器如下所示 Controller EnableWebMvc
  • Mockito 和 Hamcrest:如何验证 Collection 参数的调用?

    我遇到了 Mockito 和 Hamcrest 的泛型问题 请假设以下界面 public interface Service void perform Collection
  • 为什么在将 String 与 null 进行比较时会出现 NullPointerException?

    我的代码在以下行中出现空指针异常 if stringVariable equals null 在此语句之前 我声明了 stringVariable 并将其设置为数据库字段 在这个声明中 我试图检测该字段是否有null值 但不幸的是它坏了 有
  • 数据库中的持久日期不等于检索日期

    我有一个具有 Date 属性的简单实体类 此属性对应于 MySQL 日期时间列 Entity public class Entity Column name start date Temporal TemporalType TIMESTAM
  • 类更改(例如字段添加或删除)是否保持 Serialized 的向后兼容性?

    我有一个关于 Java 序列化的问题 在这种情况下 您可能需要修改可序列化类并保持向后兼容性 我有丰富的 C 经验 所以请允许我将 Java 与 NET 进行比较 在我的Java场景中 我需要使用Java的运行时序列化机制序列化一个对象 并
  • 如何向页面添加 HTML 页眉和页脚?

    如何使用 itext 从 html 源添加标题到 pdf 目前 我们已经扩展了 PdfPageEventHelper 并重写了这些方法 工作正常 但当我到达 2 个以上页面时 它会抛出 RuntimeWorkerException Over
  • Spring Data Rest 多对多 POST

    首先 让我解释一下我的用例 这非常简单 有一个用户实体和一个服务实体 我使用 UserService 作为连接实体 连接表 在用户和服务之间建立多对多关联最初 会有一些用户集和一些服务集 用户可以在任何时间点订阅任何服务 在这种情况下 将向
  • 在 Java 中通过 D-Bus MPRIS 访问 Clementine 实例

    我使用 Clementine 作为音乐播放器 它可以通过 D Bus 命令进行控制 在命令行上 使用 qdbus 我可以 Start Stop 暂停播放器 强制它跳过播放列表中的歌曲 检查播放列表的长度 检查播放列表中当前播放的曲目及其元数
  • 使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

    是否可以建立从 Java 到 php 文件的桥梁 我有一个用 Java 编写的应用程序 我需要执行http piwik org http piwik org 这是用 PHP 编写的 在服务器中 我正在运行 PHP 但无法从浏览器访问 php
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • Selenium 单击在 Internet Explorer 11 上不起作用

    我尝试在 Internet Explorer 上单击 selenium 但它不起作用 我努力了element click moveToElement element click build perform javascript没事了 事实上
  • Java 的“&&”与“&”运算符

    我使用的示例来自 Java Herbert Schildt 的完整参考文献 第 12 版 Java 是 14 他给出了以下 2 个示例 如果阻止 第一个是好的 第二个是错误的 因此发表评论 public class PatternMatch
  • 在会话即将到期之前调用方法

    我的网络应用程序有登录的用户 有一个超时 在会话过期之前 我想执行一个方法来清理一些锁 我已经实现了sessionListener但一旦我到达public void sessionDestroyed HttpSessionEvent eve

随机推荐

  • AngularJS 条件 ng-disabled 不会重新启用

    给定一个有条件禁用的文本输入字段 使用ng disabled truthy scope variable AngularJS 禁用该字段第一次范围变量被伪造 但不会在后续更改中启用它 结果 该字段保持禁用状态 我只能假设出了问题 但控制台日
  • 由于使用 Bulma 和 Buefy (nuxt-buefy) 时 PostCSS 出现问题,无法构建 Nuxt

    使用以下配置 一切正常npm run dev 但是当我们这样做时npm run build 有一个错误 assets scss main scss 中的错误 node modules nuxt postcss8 node modules c
  • 解释暴力算法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从下到上显示垂直进度条

    我需要帮助 当 window onload 时 我怎样才能制作进度条 它必须从下到上填充 在这段代码中它的工作原理相反 function move var elem document getElementById myBar var hei
  • 这个结构 (int) { 1 } 是如何调用的?

    构造如何 int 1 用C调用 猜测是 匿名常量 但这在谷歌上没有显示出任何帮助 作为旁注 您可以使用此构造来告诉 ioctl 您想要使用值为 1 的变量 ioctl int 1 它被称为 复合文字 http drdobbs com 184
  • R Plotly 为条形图设置自定义颜色

    我有一个plotly我的 Shiny 应用程序中的条形图 我想在生成的条形图中设置每列的特定颜色 Here s some reproducible data df data frame Month c Jan Feb Mar Apr May
  • Obj-C 中的错误:预期标识符或“(”

    我正在尝试制作一个带有按钮 得分计数器和计时器的简单应用程序 但出现了一些错误 import
  • 将文本传递给可能包含单引号的 JavaScript 函数

    我有一个动态创建的链接 如下所示 a href Edit a 使用编辑功能 然后获取传入的值并将其放入雅虎富文本编辑器中 除非传递的文本中有单引号 否则这种方法效果很好 明显的问题是链接看起来像这样 a href Edit a 对我能做什么
  • dispatch_time 和dispatch_walltime 之间有什么区别?在什么情况下最好使用其中之一?

    我知道dispatch time是根据设备时钟的时间 如果设备进入睡眠状态 时钟也会睡眠 另一方面dipatch walltime是根据挂钟的时间 它永远不会睡觉 我的问题是 在不同情况下使用其中一种或另一种 在性能方面或其他方面有什么区别
  • 产生独特的价值

    我想创建一个C程序生成 0 到 999999 之间的数字 请记住生成的数字不应包含任何重复的数字 例如 123 是一个可接受的值 但不是 121 as the 1 被重复 我已经找到了其他程序代码来检查整数是否有重复的数字 检查整数是否有重
  • 如何调用 less.js 函数

    我什至不太确定如何问这个问题 LESS CSS框架包含几个操作颜色的函数 我想知道如何自己调用这些函数来修改颜色 问题是这些函数位于另一个函数内部并定义如下 function tree tree functions darken funct
  • 将多个堆栈导航器中常见的所有屏幕放在哪里? - 反应导航 v5

    以下是我的应用程序导航器的层次结构 appNavigator 底部选项卡导航器 feed 堆栈导航器 后详细信息屏幕 页面详细信息屏幕 个人资料详情屏幕 其他屏幕 通知 堆栈导航器 个人资料详情屏幕 页面详细信息屏幕 发布详情屏幕 其他屏幕
  • 根据列标题将数据从一个工作簿转移到另一个工作簿

    我下面的代码将列值从一个特定工作簿 Activeworkbook 列 O AH 和 I 转置到另一个工作簿 loader file xls 列 A B C 它非常适合我的需求 Sub PullTrackerInfo Pull info fr
  • 如何使用开放的XML SDK基于C#中每行的列读取xlsx?

    我正在尝试使用 open xml sdk 读取一些 xlsx 文件 但我真的很难找到任何好的示例 我想要做的是读取整个 XLSX 文件并循环所有行并从我指定的列中提取单元格值 单元格文本 就像下面这样 GetCellText rowId C
  • updatepanel (JavaScript) 回发后,jQuery 可排序不起作用

    我对 jQuery 的可排序功能有疑问 当我的页面使用更新面板进行回发时 动态表的排序不再起作用 当按下图像按钮时会触发回发 当按下图像按钮时 会出现一个新行 其中有一个子表 我尝试了这 3 个 JavaScript 代码 但它们似乎都是第
  • 比较 std::functions 是否相等?

    如何比较两个 C 11std functions with operator 并返回true如果两者都说functions 引用同一个函数指针吗 你实际上可以让它工作 target template
  • BNF 可以处理远期消费吗?

    最近我发现了 python 模块pyparsing 一个通过编写来解析数据的绝佳工具grammar 而不是解析器 我对上下文无关语法的概念很陌生 所以请纠正这个问题中的任何错误假设 Pyparsing 可以实现 BNF 巴科斯 诺尔范式 h
  • F# 中序列的递归函数

    这是一个相当微不足道的问题 但快速的谷歌搜索并没有给我答案 为序列编写递归函数的标准方法是什么 对于列表 您可以使用空列表和头 尾模式进行模式匹配 序列的等效项是什么 没有标准的方法可以做到这一点 因为您很少为序列编写递归函数 您应该查看各
  • Mongoose:find() 忽略重复值

    我有一只 聊天 猫鼬Schema它具有以下属性 const schema mongoose Schema recipient type mongoose Types ObjectId required true ref User sende
  • Oracle 连接池类

    我想在 Helper 类中为 Oracle DB 设置连接池 public class DbConnection Data source for the pooled connection private static OracleData