搜索
首页数据库mysql教程5种方法访问GlassFish资源

方法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;

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在MySQL中使用视图的局限性是什么?在MySQL中使用视图的局限性是什么?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)他们不使用Supportallsqloperations,限制DatamanipulationThroughViewSwithJoinSorsubqueries.2)他们canimpactperformance,尤其是withcomplexcomplexclexeriesorlargedatasets.3)

确保您的MySQL数据库:添加用户并授予特权确保您的MySQL数据库:添加用户并授予特权May 14, 2025 am 12:09 AM

porthusermanagementInmysqliscialforenhancingsEcurityAndsingsmenting效率databaseoperation.1)usecReateusertoAddusers,指定connectionsourcewith@'localhost'or@'%'。

哪些因素会影响我可以在MySQL中使用的触发器数量?哪些因素会影响我可以在MySQL中使用的触发器数量?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers,butacticalfactorsdeterminetheireffactective:1)serverConfiguration impactactStriggerGermanagement; 2)复杂的TriggerSincreaseSySystemsystem load; 3)largertablesslowtriggerperfermance; 4)highConconcConcrencerCancancancancanceTigrignecentign; 5); 5)

mysql:存储斑点安全吗?mysql:存储斑点安全吗?May 14, 2025 am 12:07 AM

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

mySQL:通过PHP Web界面添加用户mySQL:通过PHP Web界面添加用户May 14, 2025 am 12:04 AM

通过PHP网页界面添加MySQL用户可以使用MySQLi扩展。步骤如下:1.连接MySQL数据库,使用MySQLi扩展。2.创建用户,使用CREATEUSER语句,并使用PASSWORD()函数加密密码。3.防止SQL注入,使用mysqli_real_escape_string()函数处理用户输入。4.为新用户分配权限,使用GRANT语句。

mysql:blob和其他无-SQL存储,有什么区别?mysql:blob和其他无-SQL存储,有什么区别?May 13, 2025 am 12:14 AM

mysql'sblobissuitableForStoringBinaryDataWithInareLationalDatabase,而alenosqloptionslikemongodb,redis和calablesolutionsoluntionsoluntionsoluntionsolundortionsolunsolunsstructureddata.blobobobsimplobissimplobisslowderperformandperformanceperformancewithlararengelitiate;

mySQL添加用户:语法,选项和安全性最佳实践mySQL添加用户:语法,选项和安全性最佳实践May 13, 2025 am 12:12 AM

toaddauserinmysql,使用:createUser'username'@'host'Indessify'password'; there'showtodoitsecurely:1)choosethehostcarecarefullytocon trolaccess.2)setResourcelimitswithoptionslikemax_queries_per_hour.3)usestrong,iniquepasswords.4)Enforcessl/tlsconnectionswith

MySQL:如何避免字符串数据类型常见错误?MySQL:如何避免字符串数据类型常见错误?May 13, 2025 am 12:09 AM

toAvoidCommonMistakeswithStringDatatatPesInMysQl,CloseStringTypenuances,chosethirtightType,andManageEngencodingAndCollat​​ionsEttingsefectery.1)usecharforfixed lengengters lengengtings,varchar forbariaible lengength,varchariable length,andtext/blobforlabforlargerdata.2 seterters seterters seterters seterters

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热门文章

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具