Sun GlassFish Enterprise Server v3 发行说明

部署 specj 应用程序后,asadmin get --monitor=true "server.*" 会导致 I/O 错误(问题 11163)

描述

命令 asadmin get -m "server.*" 会返回与该服务器有关的所有监视数据。在部署很多应用程序后,数据量很大,可能需要很长的时间才能返回。客户端可能超时且出现以下客户端错误:


./asadmin get --monitor=true "server.*"
I/O Error: Read timed out
Command get failed.

有关更多信息,请参见问题报告

解决方法

尽可能地减少返回至客户端的数据量。

  1. 运行 asadmin list -m "server.*" 命令以返回顶层元素。

  2. 选择需要详细信息的顶层元素,并将其用作过滤器。例如:


    > ./asadmin list -m "server.*"
    ...
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-cache
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.
    create-int-int-[Lorg\.spec\.jappserver\.supplier\.helper\.ComponentOrder
    
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.
    findByPrimaryKey-java\.lang\.Integer
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.generateXml
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.getEJBLocalHome
    ...
    
    >./asadmin get -m
    "server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.*"
    ...
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.remove.
    methodstatistic-name
    = MethodStatistic
    server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.remove.
    methodstatistic-starttime
    = 1259604209775
    ...