DataSource Examples
Here are some examples of setting up a DataSource in JNDI for various databases.
These examples all correspond to a <resource-ref> in web.xml like:
<resource-ref>
<description>My DataSource Reference</description>
<res-ref-name>jdbc/DSTest</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
For convenience, we will assume that all of the datasources are declared at the jvm scope, but you can of course use other scopes, as discussed here.
Don't forget that all JNDI resources can be configured in a jetty.xml file or in a WEB-INF/jetty-env.xml file, or a context xml file. More information on that can be found on the page on JNDI.
Pooling DataSources
Enables connection pooling.
Connection pooling is basically re-using existing connections instead of creating a new connection to the database.
This would be highly efficient in terms of memory allocation and speed of the request to the database.
In production, this is highly recommended.
c3p0 (connection pooling)
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="com.mchange.v2.c3p0.ComboPooledDataSource">
<Set name="driverClass">org.some.Driver</Set>
<Set name="jdbcUrl">jdbc.url</Set>
<Set name="user">jdbc.user</Set>
<Set name="password">jdbc.pass</Set>
</New>
</Arg>
</New>
dbcp (connection pooling)
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="org.apache.commons.dbcp.BasicDataSource">
<Set name="driverClassName">org.some.Driver</Set>
<Set name="url">jdbc.url</Set>
<Set name="username">jdbc.user</Set>
<Set name="password">jdbc.pass</Set>
</New>
</Arg>
</New>
Atomikos 3.3.2+ (connection pooling + XA transactions)
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="com.atomikos.jdbc.AtomikosDataSourceBean">
<Set name="minPoolSize">2</Set>
<Set name="maxPoolSize">50</Set>
<Set name="xaDataSourceClassName">com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</Set>
<Set name="UniqueResourceName">DSTest</Set>
<Get name="xaProperties">
<Call name="setProperty">
<Arg>url</Arg>
<Arg>jdbc:mysql://localhost:3306/databasename</Arg>
</Call>
<Call name="setProperty">
<Arg>user</Arg>
<Arg>some_username</Arg>
</Call>
<Call name="setProperty">
<Arg>password</Arg>
<Arg>some_password</Arg>
</Call>
</Get>
</New>
</Arg>
</New>
Non-pooling DataSources
If you're deploying in production environment, use the Pooling DataSources instead.
MySQL
implements javax.sql.DataSource, javax.sql.ConnectionPoolDataSource
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
<Set name="Url">jdbc:mysql://localhost:3306/databasename</Set>
<Set name="User">user</Set>
<Set name="Password">pass</Set>
</New>
</Arg>
</New>
SQL Server 2000
implements javax.sql.DataSource, javax.sql.ConnectionPoolDataSource
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="net.sourceforge.jtds.jdbcx.JtdsDataSource">
<Set name="User">user</Set>
<Set name="Password">pass</Set>
<Set name="DatabaseName">dbname</Set>
<Set name="ServerName">localhost</Set>
<Set name="PortNumber">1433</Set>
</New>
</Arg>
</New>
Oracle 9i/10g
implements javax.sql.DataSource, javax.sql.ConnectionPoolDataSource
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="oracle.jdbc.pool.OracleConnectionPoolDataSource">
<Set name="URL">jdbc:oracle:thin:@localhost:1521:orcl</Set>
<Set name="User">user</Set>
<Set name="Password">pass</Set>
</New>
</Arg>
</New>
PostgreSQL
implements javax.sql.DataSource
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="org.postgresql.ds.PGSimpleDataSource">
<Set name="User">user</Set>
<Set name="Password">pass</Set>
<Set name="DatabaseName">dbname</Set>
<Set name="ServerName">localhost</Set>
<Set name="PortNumber">5432</Set>
</New>
</Arg>
</New>
implements javax.sql.ConnectionPoolDataSource
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="org.postgresql.ds.PGConnectionPoolDataSource">
<Set name="User">user</Set>
<Set name="Password">pass</Set>
<Set name="DatabaseName">dbname</Set>
<Set name="ServerName">localhost</Set>
<Set name="PortNumber">5432</Set>
</New>
</Arg>
</New>
Sybase
implements javax.sql.DataSource
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="com.sybase.jdbc2.jdbc.SybDataSource">
<Set name="DatabaseName">dbname</Set>
<Set name="User">user</Set>
<Set name="Password">pass</Set>
<Set name="ServerName">servername</Set>
<Set name="PortNumber">5000</Set>
</New>
</Arg>
</New>
DB2
implements javax.sql.DataSource
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="com.ibm.db2.jcc.DB2SimpleDataSource">
<Set name="DatabaseName">dbname</Set>
<Set name="User">user</Set>
<Set name="Password">pass</Set>
<Set name="ServerName">servername</Set>
<Set name="PortNumber">50000</Set>
</New>
</Arg>
</New>
implements javax.sql.ConnectionPoolDataSource
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="com.ibm.db2.jcc.DB2ConnectionPoolDataSource">
<Set name="DatabaseName">dbname</Set>
<Set name="User">user</Set>
<Set name="Password">pass</Set>
<Set name="ServerName">servername</Set>
<Set name="PortNumber">50000</Set>
</New>
</Arg>
</New>
分享到:
相关推荐
例如,如果你引入了 `spring-boot-starter-data-jpa`,那么 Spring Boot 就会自动配置 JPA 相关的组件,包括 EntityManager、DataSource 等。 2. **起步依赖(Starter POMs)** 起步依赖是 Spring Boot 用来简化...
Examples 48. What to Read Next V. Spring Boot Actuator: Production-ready features 49. Enabling Production-ready Features 50. Endpoints 50.1. Enabling Endpoints 50.2. Exposing Endpoints 50.3. Securing...
Guitar Pro 8
nginx安装包-win和linux-最新稳定版,2025年1.26.3
基于DBSCAN密度聚类的风电-负荷场景生成与削减模型研究:创新性与场景模型代表性分析,基于DBSCAN密度聚类的风电与负荷场景生成与削减模型研究,[1]关键词:密度聚类 场景削减 DBSCAN 场景生成与削减; k-mean聚类 [2]参考文档:《氢能支撑的风-燃气耦合低碳微网容量优化配置研究》第3章 [3]主要内容:代码主要做的是一个基于DBSCAN密度聚类的风电-负荷场景生成与削减模型,首先,采集风电、电负荷历史数据。 然后,通过采用 DBSCAN 密度聚类的数据预处理消除异常或小概率电负荷、风电数据。 之后,针对风电波动性与电负荷时序性、周期性特点,将场景提取分为电负荷场景提取和风电场景提取。 不同于传统的Kmeans方法,此方法更加具有创新性,场景模型与提取更具有代表性,代码非常nice ,关键词:DBSCAN;密度聚类;场景生成与削减;风电场景提取;电负荷场景提取;k-mean聚类;创新性;容量优化配置。,基于DBSCAN与k-means的密度聚类模型在风电与负荷场景生成与削减的应用
JavaScript高级:函数与对象高级特性文档解析
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
内容概要:本文全面阐述了计算机网络的基础概念和关键技术,尤其强调了因特网的功能与架构。首先介绍了计算机网络在现代社会的重要地位,然后逐步深入到因特网的定义、发展阶段、接入机制、标准化组织以及构成组件。接下来探讨了三种基本交换技术——电路交换、报文交换和分组交换的特点及其应用场景。最后讨论了计算机网络的分类方式和技术参数如速率、吞吐量与时延。通过对ISO与TCP/IP这两种主要体系结构特点的比较,进一步明确了TCP/IP模型在实际应用中的优势,并讲解了计算机网络各层的功能以及它们如何共同作用于主机间的信息传输过程。 适用人群:计算机科学专业学生、网络工程师、技术人员和其他对计算机网络感兴趣的读者。 使用场景及目标:适用于初次接触计算机网络的学员理解和掌握基本概念和技术要点;对于有一定基础知识的人士,则可以加深理解不同网络结构的工作机制和发展趋势。 其他说明:本文件详细描述了从简单联机直到构建全球化互联网所需的知识,为深入了解计算机网络提供了良好的起点。
全面的通信调试能力:支持串口、USB、网络(包含 TCP、UDP 及网络服务器模式)、蓝牙等多种通信方式调试。开发人员可灵活配置通信参数,对数据收发进行实时监视与记录,能快速排查各类通信问题,确保不同通信场景下数据传输的稳定与准确。 丰富的数据处理功能:具备进制转换、编码转换以及数据校验等功能,能有效处理不同格式的数据,保障数据在传输和存储过程中的准确性与兼容性。同时,还支持音频文件转 C 代码、GIF 转 BMP 及二维码生成等特色操作,满足多样化开发需求。 高效的代码生成与配置:C51 代码向导允许用户对定时器、中断、串口等关键参数进行精细设置,自动生成相应代码,并可输出为 C 文件或 Keil 工程,大幅提高代码编写效率,降低开发难度。 便捷的图形处理能力:提供图片取模和点阵生成功能,可将常见图片格式转换为适合单片机处理的形式,满足在显示屏上显示图形和文字的需求,为界面设计与显示开发提供便利。 操作简便且功能集成度高:各功能模块操作界面友好,用户可轻松上手。将多种调试和开发工具集成于一体,避免开发人员在不同软件间频繁切换,节省开发时间与精力。
2023-04-06-项目笔记-第四百一十九阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.417局变量的作用域_417- 2025-02-24
《Potrace算法:位图到矢量图的转化技术,C++与C#源码解析》,基于Potrace算法的位图矢量化:C++与C#语言实现源码详解,Potrace算法,位图矢量化,C++ C#源码 ,Potrace算法; 位图矢量化; C++源码; C#源码,Potrace算法:位图矢量化技术及其C++ C#源码
国家商标战略的实施旨在提升中国商标保护水平,促进经济高质量发展。这一战略的实施包括多个方面,如加强商标注册管理、完善商标法律体系、提高商标审查效率等。通过实施国家商标战略,中国已经取得了显著的成效,包括商标保护环境的优化、创新主体权益的保障以及国际竞争力的提升等。 推进“质量强国”,以提高自主创新能力和核心竞争力为目标,这对于充分发挥商标引领作用,推动供给结构和需求结构升级,推动中国经济由过去的粗放型扩张转向新阶段下的“品牌型”高质量发展模式,具有重要的理论价值和现实意义。 本数据参考刘胜和许榕鑫(2024)的做法,利用双重差分法来识别国家商标战略实施示范区建设的冲击效果。Treat表示地区虚拟变量,若为示范区则为1,否则为0;Post的识别年份为2010年。Treat×Post则表示该地区在当年是否已推动国家商标战略实施示范区建设。 数据名称:国家商标战略实施DID 数据年份:2007-2023年 数据来源:中国县域统计年鉴 参考文献:[1]刘胜,徐榕鑫,陈秀英.通向“质量强国”之路:国家商标战略实施的准自然实验[J].经济学报,2024,11(04):249-273.
内容概要:本文档涵盖了200道Python面试题目及其解答,题目涵盖了广泛的Python知识点和技术应用,包括但不限于语法特性、解释器、编码规范、常见用法、数据类型、文件操作、异常处理、数据库操作、面向对象编程、高阶函数和装饰器等内容。通过对这些问题的回答,开发者可以深入了解Python的高级特性和最佳实践,同时也为准备面试的程序员提供了有价值的参考资料。每一题都针对性很强,帮助读者深刻理解每一个知识点及其应用场景。 适合人群:希望深入理解Python编程语言的开发人员,尤其是准备Python技术面试的人士。 使用场景及目标:适用于面试准备、自学提高或教学培训,目标是通过实战问答的方式提升开发者的技术水平和面试成功率。 其他说明:本文档不仅仅是面试题集锦,更是对Python编程语言核心功能的深度解析,帮助程序员在工作中更加高效地利用Python的强大功能进行开发。文档中的例子和解析非常详尽,涵盖了大部分日常编程会遇到的实际问题,实用性极强。
毕业设计
基于Tent混沌映射与自适应权重改进的天鹰算法优化支持向量机SVM的惩罚系数与核函数新策略研究,基于Tent混沌映射与自适应权重改进的天鹰优化算法对SVM参数精准调整的新方法,Tent混沌映射和自适应权重改进的天鹰优化算法IAO优化支持向量机SVM的惩罚系数和核函数。 以自适应惯性权重更新种群可加速算法收敛,增强脱离局部最优的能力,2021年改进的新算法,适合写paper ,Tent混沌映射; 自适应权重; 天鹰优化算法IAO; 优化支持向量机SVM; 惩罚系数; 核函数; 惯性权重更新种群; 算法收敛,基于Tent混沌映射与自适应权重改进的IAO算法优化SVM参数研究