方法1,通过管理控制台
首先,先通过管理控制台来创建一个连接池mypool。在浏览器的输入管理控制台地址:localhost:4848。采用缺省的用户名“admin”及其密码“adminadmin”登录。成功登录后,在左边的树型菜单中,展开“资源”-“JDBC”-“连接池”。
在主面板中,点击“新建”。在面板“新建 JDBC 连接池(步骤 1,共 2 步)”中,输入“名称”为mypool,“资源类型”选为“javax.sql.DataSource”,“数据库供应商”选为“JavaDB”。在接下来的“新建 JDBC 连接池(步骤 2,共 2 步)”中,可以看到数据库连接池的各项缺省设置。将在“池设置”一栏中的“空闲超时”值由缺省的300改为777。 点击“完成”。至此,我们通过管理控制台完成了对数据库连接池mypook的创建,并修改了其空闲超时的值。
方法2,通过命令行工具asadmin
接下来,我们通过命令行的asadmin来查看这一资源。
asadmin list server.resource*
运行结果如下:
undefined
undefined
server.resource
-
ref
.jdbc
/
__CallFlowPool server.resource
-
ref
.jdbc
/
__TimerPool server.resource
-
ref
.jdbc
/
__default server.resources server.resources.jdbc
-
connection
-
pool.DerbyPool server.resources.jdbc
-
connection
-
pool.__CallFlowPool server.resources.jdbc
-
connection
-
pool.__TimerPool server.resources.jdbc
-
connection
-
pool.mypool server.resources.jdbc
-
resource.jdbc
/
__CallFlowPool server.resources.jdbc
-
resource.jdbc
/
__TimerPool server.resources.jdbc
-
resource.jdbc
/
__default
这里列出的MBean是用GlassFish自己的DottedName来标识的。接着通过asadmin的子命令get来查看对象mypool的属性:
asadmin get server.resources.jdbc-connection-pool.mypool.*
或者进一步查看空闲超时(idle-timeout-in-seconds)的属性值。
asadmin get server.resources.jdbc-connection-pool.mypool.idle-timeout-in-seconds
结果如下:
server.resources.jdbc-connection-pool.mypool.idle-timeout-in-seconds = 777
至此,我们完成了使用命令行的管理工具asadmin对mypool的访问。这里asadmin通过GlassFish扩展的Dotted Name命名方式来访问MBean的。Dotted Name是GlassFish命令行工具asadmin定义的一套约定。在这套约定的支持下,asadmin的三个子命令(list、set和get )可以通过一个由“.”分隔的字串寻址到GlassFish中的MBean。
方法3,通过第三方工具JConsole
接下来,我们要通过JConsole来访问对象mypool。
在JConsole的登录面板中,选择远处进程:localhost:8686(8686是GlassFish缺省的管理端口),用户名同样为admin,密码adminadmin。登录进来后所看到的是关于GlassFish应用服务器运行时的信息,点击“MBean”。展开树型结构“com.sun.aperv” - “jdbc-connection-pool” - “my pool” - “config” - “属性”。
可以
看到我们所关心的连接池mypool的信息。属性idle-timeout-in-seconds的值为777。修改777为888。
在回到管理控制台或命令行工具asadmin同样可以看到刚才在JConsole所作的修改已经生效。
以上说明三种工具对GlassFish资源的修改是等效的。
接下来通过编程的方式来访问数据库连接池mypool。
方法4,通过标准的JMX编程方式
标准的JMX方式的代码如下:(以下为演示代码。为突出重点,未作异常处理。)
undefined
undefined
import javax.management.
*
; import javax.management.remote.
*
;
public
class
JMX_demo {
public
JMX_demo() throws Exception {
//
创建JMX 的URL
JMXServiceURL url
=
new
JMXServiceURL(
"
service:jmx:rmi:///jndi/rmi://localhost:8686/jmxrmi
"
); java.util.Map env
=
new
java.util.Hashtable();
//
缺省用户名和其口令
String[] creds
=
{
"
admin
"
,
"
adminadmin
"
}; env.put(JMXConnector.CREDENTIALS,creds);
//
建立连接
JMXConnector connector
=
JMXConnectorFactory.connect(url,env); MBeanServerConnection mbsc
=
connector.getMBeanServerConnection();
//
要访问的MBean的Object Name
ObjectName mbeanName
=
new
ObjectName(
"
com.sun.appserv:type=jdbc-connection-pool,name=mypool,category=config
"
);
//
所要访问的属性idle-timeout-in-seconds
System.
out
.println(
"
Using JMX, jdbc pool idle timeout:
"
+
mbsc.getAttribute(mbeanName,
"
idle-timeout-in-seconds
"
)); }
public
static
void
main( final String[] args ) throws Exception{
new
JMX_demo(); } }
运行结果如下: Using JMX, jdbc pool idle timeout:888
undefined
undefined
public
class
AMX_demo {
public
AMX_demo() throws Exception {
//
Domain Admin Server的机器名或IP地址
final String host
=
"
localhost
"
;
//
JMX管理端口,缺省8686。
final
int
port
=
8686
;
//
管理员名
final String user
=
"
admin
"
;
//
管理员密码
final String password
=
"
adminadmin
"
; TLSParams tlsParams
=
null
;
//
连接到JMX server
AppserverConnectionSource conn
=
new
AppserverConnectionSource( AppserverConnectionSource.PROTOCOL_RMI, host, port, user, password, tlsParams,
null
); conn.getJMXConnector(
true
);
//
DomainRoot和JDBCConnectionPoolConfig就是所说的DCP组件 DomainRoot mDomainRoot = conn.getDomainRoot();
//
获取JDBCConnectionPool的列表
Map pools
=
mDomainRoot.getDomainConfig().getJDBCConnectionPoolConfigMap(); JDBCConnectionPoolConfig mypool
=
(JDBCConnectionPoolConfig)pools.
get
(
"
mypool
"
); System.
out
.println(
"
Using DCP, jdbc pool idle timeout:
"
+
mypool.getIdleTimeoutInSeconds()); }
public
static
void
main( final String[] args ) throws Exception{
new
AMX_demo(); } }方法5,通过AMX编程方式
AMX方式的代码如下:
undefined
undefined
import com.sun.appserv.management.DomainRoot; import com.sun.appserv.management.client.AppserverConnectionSource; import com.sun.appserv.management.client.TLSParams; import com.sun.appserv.management.util.misc.ExceptionUtil; import com.sun.appserv.management.config.
*
; import java.ConnectException; import java.util.Map;

如何有效监控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。1.使用mysqladmin查看连接数。2.用SHOWGLOBALSTATUS查看查询数。3.PMM提供详细性能数据和图形化界面。4.MySQLEnterpriseMonitor提供丰富的监控功能和报警机制。

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显着差异,选择时需考虑项目规模和未来扩展性。

在需要高可用性、高级安全性和良好集成性的企业级应用场景下,应选择SQLServer而不是MySQL。1)SQLServer提供企业级功能,如高可用性和高级安全性。2)它与微软生态系统如VisualStudio和PowerBI紧密集成。3)SQLServer在性能优化方面表现出色,支持内存优化表和列存储索引。

mySqlManagesCharacterSetsetSandCollationsyutusututf-8asthEdeFault,允许ConfigurationAtdataBase,table和columnlevels,AndrequiringCarefullageLignmentToavoidMismatches.1)setDefeaultCharactersetTercharactersetEtCollacterSeteTandColletationForAdataBase.2)conformentcollecharactersettersetertersetcollatertersetcollationcollation

MySQL触发器是与表相关联的自动执行的存储过程,用于在特定数据操作时执行一系列操作。1)触发器定义与作用:用于数据校验、日志记录等。2)工作原理:分为BEFORE和AFTER,支持行级触发。3)使用示例:可用于记录薪资变更或更新库存。4)调试技巧:使用SHOWTRIGGERS和SHOWCREATETRIGGER命令。5)性能优化:避免复杂操作,使用索引,管理事务。

在MySQL中创建和管理用户账户的步骤如下:1.创建用户:使用CREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';2.分配权限:使用GRANTSELECT,INSERT,UPDATEONmydatabase.TO'newuser'@'localhost';3.修正权限错误:使用REVOKEALLPRIVILEGESONmydatabase.FROM'newuser'@'localhost';然后重新分配权限;4.优化权限:使用SHOWGRA

MySQL适合快速开发和中小型应用,Oracle适合大型企业和高可用性需求。1)MySQL开源、易用,适用于Web应用和中小型企业。2)Oracle功能强大,适合大型企业和政府机构。3)MySQL支持多种存储引擎,Oracle提供丰富的企业级功能。

MySQL相比其他关系型数据库的劣势包括:1.性能问题:在处理大规模数据时可能遇到瓶颈,PostgreSQL在复杂查询和大数据处理上表现更优。2.扩展性:水平扩展能力不如GoogleSpanner和AmazonAurora。3.功能限制:在高级功能上不如PostgreSQL和Oracle,某些功能需要更多自定义代码和维护。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver Mac版
视觉化网页开发工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中