[jboss-jira] [JBoss JIRA] Resolved: (AS7-1685) Management layer doesn't reflect true handler attributes

James Perkins (JIRA) jira-events at lists.jboss.org
Tue Sep 13 20:42:26 EDT 2011


     [ https://issues.jboss.org/browse/AS7-1685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Perkins resolved AS7-1685.
--------------------------------

    Resolution: Done


> Management layer doesn't reflect true handler attributes
> --------------------------------------------------------
>
>                 Key: AS7-1685
>                 URL: https://issues.jboss.org/browse/AS7-1685
>             Project: Application Server 7
>          Issue Type: Bug
>          Components: Logging
>    Affects Versions: 7.0.1.Final
>            Reporter: Stan Silvert
>            Assignee: James Perkins
>
> In the logging subsystem, the management operations are defined in LoggingSubsystemProviders.java.
> The attributes defined for each handler type don't always reflect the real attributes that are available.  
> For example, if I go into the CLI and ask to read the resource description for an async handler, I get:
> {code}
> [standalone at localhost:9999 async-handler=ASYNC] :read-resource-description
> {
>     "outcome" => "success",
>     "result" => {
>         "description" => "Defines a handler which writes to the sub-handlers in an asynchronous thread. Used for handlers which introduce a substantial amount of lag.",
>         "attributes" => {
>             "name" => {
>                 "type" => STRING,
>                 "description" => "The handler's name.",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             },
>             "level" => {
>                 "type" => STRING,
>                 "description" => "The log level specifying which message levels will be logged by this. Message levels lower than this value will be discarded.",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             },
>             "encoding" => {
>                 "type" => STRING,
>                 "description" => "The character encoding used by this Handler.",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             },
>             "filter" => {
>                 "type" => STRING,
>                 "description" => "Defines a simple filter type.",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             },
>             "formatter" => {
>                 "type" => STRING,
>                 "description" => "Defines a formatter.",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             },
>             "autoflush" => {
>                 "type" => BOOLEAN,
>                 "description" => "Automatically flush after each write.",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             },
>             "handler" => {
>                 "type" => LIST,
>                 "value-type" => STRING,
>                 "description" => "The Handlers associated with this Logger.",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             },
>             "queue-length" => {
>                 "type" => STRING,
>                 "description" => "The queue length to use before flushing writing",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             },
>             "overflow-action" => {
>                 "type" => STRING,
>                 "description" => "Specify what action to take when the overflowing.  The valid options are 'block' and 'discard'",
>                 "access-type" => "read-only",
>                 "storage" => "configuration"
>             }
>         }
>     }
> }
> {code}
> Clearly, an async handler doesn't accept all of those attributes.  If I add the autoflush attribute to my standalone.xml then I will get an error on startup.
> {code:xml}
> <async-handler name="ASYNC" autoflush="true">
>    <level name="INFO"/>
>    <queue-length value="512"/>
>    <overflow-action value="BLOCK"/>
> </async-handler>
> {code}
> Furthermore, there is a discrepancy in which attributes are required.  Looking at autoflush again, LoggingSubsystemProviders.java says that this attribute is not required.  But if I try to create a console handler without this attribute I will get an exception.
> {code}
> [standalone at localhost:9999 console-handler=MYCONSOLE] :add(name=MYCONSOLE,level=INFO)
> {
>     "outcome" => "failed",
>     "failure-description" => "Operation handler failed: java.lang.IllegalArgumentException",
>     "rolled-back" => true
> }
> [standalone at localhost:9999 console-handler=MYCONSOLE] :add(name=MYCONSOLE,level=INFO,autoflush=true)
> {"outcome" => "success"}
> {code}
> So each attribute needs to be checked to see if it is really required or not.  Once this is fixed in LoggingSubsystemProviders.java I can go in and fix this in the console.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list