Glassfish手动配置domain:部署与jdbc设置详解
在 GlassFish 手工配置 domain 的过程中,一项关键任务是管理数据库连接和数据源。首先,你需要了解并编辑 domain 的配置文件,通常这个文件被称为 `glassfish-domains.xml` 或者 `domain.xml`,具体取决于你的 GlassFish 版本。配置文件中的 `<jdbc-resourcepool>` 和 `<jdbc-connection-pool>` 元素用于定义数据库资源和连接池。 1. 添加 JDBC 资源池配置: - `<jdbc-resourcepool-name>` 标签用于指定资源池的名称,例如 "szgas_pool",这是在应用程序中引用数据库连接时使用的 JNDI 名称。 - `<jdbc-connection-pool>` 标签定义了具体的连接池,比如指定数据源类名为 `com.mysql.jdbc.jdbc2.optional.MysqlDataSource`,这代表使用 MySQL 数据库。 - 配置属性如 `<property>` 对应数据库连接的参数,例如 `User`(用户名)、`Password`(密码)、`ServerName`(服务器地址)、`Port`(端口号)和 `DatabaseName`(数据库名)。确保这些值与实际数据库环境匹配。 2. 连接池设置: - `AutoReconnectForPools` 属性控制在连接断开时是否自动重连,将其设置为 "false" 可能表示不自动重连。 - `LoggerClassName` 和 `Logger` 属性用于配置日志级别和日志类,确保可以记录数据库操作的详细信息。 - `PreparedStatementCacheSqlLimit` 设置预编译语句缓存的大小,有助于性能优化。 3. 安全选项: - `NullNamePatternMatchesAll` 控制空字符串或 NULL 是否匹配所有模式,一般设置为 "true"。 - `AllowPublicKeyRetrieval` 用于允许从远程服务器检索公钥,设置为 "false" 可提高安全性。 - `AllowLoadLocalInfile` 是一个 MySQL 特性,允许从本地文件导入数据,如果不需要,可以关闭。 4. 手动部署 web 应用: 除了数据库配置,如果你正在手工部署 web 应用,还需要在 GlassFish 的 `web.xml` 文件或应用的部署描述符中配置应用程序相关的资源,如 servlets、EJBs 和静态资源路径。 5. 验证和测试: 在完成配置后,重启 GlassFish domain 并通过 JMX 或其他管理工具进行验证,确保数据库连接池正常工作,应用能够正确加载和访问数据库。 手工配置 GlassFish domain 包括了对数据库连接池的详细设置和应用程序的部署,确保每个环节都准确无误才能确保系统的稳定性和性能。在实际操作中,务必根据你的具体需求调整配置,遵循最佳实践以避免潜在的问题。
//配置数据库和连接池
<jdbc-resource pool-name="szgas_pool" jndi-name="szgas"></jdbc-resource>
<jdbc-connection-pool datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" res-type="javax.sql.DataSource" name="szgas_pool">
<property name="User" value="****"></property>
<property name="AutoReconnectForPools" value="false"></property>
<property name="LoggerClassName" value="com.mysql.jdbc.log.StandardLogger"></property>
<property name="ServerName" value="localhost"></property>
<property name="Port" value="3306"></property>
<property name="DatabaseName" value="****"></property>
<property name="NullNamePatternMatchesAll" value="true"></property>
<property name="AllowPublicKeyRetrieval" value="false"></property>
<property name="Password" value="****"></property>
<property name="AllowLoadLocalInfile" value="true"></property>
<property name="PreparedStatementCacheSqlLimit" value="256"></property>
<property name="Logger" value="com.mysql.jdbc.log.StandardLogger"></property>
<property name="PrepStmtCacheSize" value="25"></property>
<property name="AlwaysSendSetIsolation" value="true"></property>
<property name="ClientCertificateKeyStoreType" value="JKS"></property>
<property name="CallableStmtCacheSize" value="100"></property>
<property name="CapitalizeTypeNames" value="true"></property>
<property name="LocatorFetchBufferSize" value="1048576"></property>
<property name="UseSSL" value="false"></property>
<property name="JdbcCompliantTruncationForReads" value="true"></property>
<property name="TcpRcvBuf" value="0"></property>
<property name="UseSSPSCompatibleTimezoneShift" value="false"></property>
<property name="CacheCallableStatements" value="false"></property>
<property name="DefaultFetchSize" value="0"></property>
<property name="UseCompression" value="false"></property>
<property name="GenerateSimpleParameterMetadata" value="false"></property>
<property name="GetProceduresReturnsFunctions" value="true"></property>
<property name="DefaultAuthenticationPlugin" value="com.mysql.jdbc.authentication.MysqlNativePasswordPlugin"></property>
<property name="CacheServerConfiguration" value="false"></property>
<property name="AutoDeserialize" value="false"></property>
<property name="MaxRows" value="-1"></property>
<property name="UseLocalTransactionState" value="false"></property>
<property name="SecondsBeforeRetryMaster" value="30"></property>
<property name="ReplicationEnableJMX" value="false"></property>
<property name="UseUnicode" value="true"></property>
<property name="SlowQueryThresholdMillis" value="2000"></property>
<property name="TcpTrafficClass" value="0"></property>
<property name="NetTimeoutForStreamingResults" value="600"></property>
<property name="DynamicCalendars" value="false"></property>
<property name="AllowMasterDownConnections" value="false"></property>
<property name="IncludeThreadNamesAsStatementComment" value="false"></property>
<property name="TcpKeepAlive" value="true"></property>
<property name="NoDatetimeStringSync" value="false"></property>
<property name="EmulateUnsupportedPstmts" value="true"></property>
<property name="NullCatalogMeansCurrent" value="true"></property>
<property name="ExplainSlowQueries" value="false"></property>
<property name="UseStreamLengthsInPrepStmts" value="true"></property>
<property name="ConnectTimeout" value="0"></property>
<property name="EmptyStringsConvertToZero" value="true"></property>
<property name="FailOverReadOnly" value="true"></property>
<property name="MaxQuerySizeToLog" value="2048"></property>
<property name="SocksProxyPort" value="1080"></property>
<property name="IsInteractiveClient" value="false"></property>
<property name="LoadBalanceEnableJMX" value="false"></property>
<property name="DontCheckOnDuplicateKeyUpdateInSQL" value="false"></property>
剩余7页未读,继续阅读
- 粉丝: 4
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦