41.5. adminmain工具

从Apusic应用服务器4.0版开始,为增加管理和配置服务器的自动化功能,提供基于命令行的管理工具。通过命令行管理工具可以完成通过图形管理工具的管理和配置功能,可对服务器中的服务进行配置,并可察看各配置项的帮助信息。

Apusic应用服务器在运行时包含多个服务,每个服务包含一些可配置项,性能参数和管理操作。管理命令行管理工具提供通过命令行对应用服务器进行远程察看性能参数,修改可配置项,调用管理操作的方式。

41.5.1. 选项

  • -s 本选项用于指定管理工具连接的主机名,默认为localhost:6888

  • -p 本选项用于指定被连接主机的管理员密码,默认为admin

41.5.2. 用法

在Apusic安装目录的bin目录下($APUSIC_HOME/bin),执行下面所述的命令完成相关任务。

  • 显示指定服务器当前可用的服务列表

    AdminMain -s <主机名:端口> -p <管理员密码> list

    例如:

    AdminMain -s localhost:6888 -p admin list

    将返回本机监听6888端口的服务器的服务列表

  • 显示指定服务的可配置项,性能参数和管理操作列表

    AdminMain -s <主机名:端口> -p <管理员密码> list <服务名>

    例如:

    AdminMain -s localhost:6888 -p admin list http

    将返回http服务包含的可配置项

  • 将显示指定服务的配置项的描述和参数信息

    AdminMain -s <主机名:端口> -p <管理员密码> list <服务名> <配置项名>

    例如:

    AdminMain -s localhost:6888 -p admin list http MaxClients

    将返回http服务MaxClients条目的描述和参数信息

  • 察看性能参数,修改配置项值或者调用管理操作

    AdminMain -s <主机名:端口> -p <管理员密码> <服务名> <配置项名> <[参数1]...>

    例如:

    • 使用如下命令显示可配置项的当前值,如下

      AdminMain -s localhost:6888 -p admin http MaxClients

      将显示http服务中MaxClients配置项的值

    • 如命令行根据可配置项的说明指定了参数列表,则修改当前可配置项的值为参数列表中指定的值,如下

      AdminMain -s localhost:6888 -p admin http MaxClients 200

      将修改http服务中 MaxClients 的值为200,并在修改后显示当前 MaxClients 的值

    • 使用如下命令调用管理操作

      AdminMain -s localhost:6888 -p admin http restart

      将重新起动http服务,管理操作的调用类似于查询可配置项,不同的是查询配置项仅仅返回配置项的值,而管理操作的调用将使服务执行管理操作指定的行为

41.5.3. 关于服务的说明

  • 服务的运行、停止和重启动

    大多数服务涉及运行和停止状态,因此,在对服务配置之前,需要先调用stop管理操作,并且在修改服务配置之后,调用start管理操作以启动服务,以免带来服务配置在运行状态中被修改带来的逻辑不一致的问题。

  • 关于JDBC连接池的数据源属性

    JDBC数据源的多数配置均通过设置数据源的属性进行,可以通过调用指定数据源的 setProperty, getProperty, removeProperty 对数据源进行配置。Apusic支持的数据源属性有如下:

    • user

      指定数据源访问数据库所使用的数据库用户名

    • password

      指定数据源访问数据库所使用的数据库用户密码

    • charset-fixup

      如果使用Oracle数据库,在存储中文时存在问题,可使用此属性,指定中文字符集名称以修正此问题,如"gbk"或"gb2312"

    • stmt-cache-size

      用于指定数据源能够在缓存中保存的SQL语句数

    • test-before-reused

      在连接池将曾经出错的连接返回客户请求之前,是否对连接进行测试,值为true或false

    • test-command

      如果test-before-reused的值为true,则连接池使用此属性指定的SQL语句对连接进行测试

  • 关于动态资源

    Apusic服务包含很多动态资源,如消息队列,数据源等等,因此,在使用管理命令行时,动态资源的名字通常会在其名称之前,包含所属服务名,两者之间使用“/”分隔,对动态资源的配置和管理,与对服务的配置和管理没有区别。