[
https://issues.jboss.org/browse/LOGMGR-54?page=com.atlassian.jira.plugin....
]
Rico Neubauer edited comment on LOGMGR-54 at 11/20/12 10:39 AM:
----------------------------------------------------------------
proposed patch
Idea is to poll() the queue and therefore recognize when it is empty and invoke a flush.
Then call take() to wait for the next record
{code:java}
} else {
rec = recordQueue.poll();
if (rec == null) {
// queue ran empty, so let's do a flush on the handlers
// this way ExtHandlers usually do not need autoflush=true
flush();
// wait for next entry in queue
rec = recordQueue.take();
}
}
{code}
was (Author: MrEasy):
proposed patch
Idea is to poll() the queue and therefore recognize when it is empty and invoke a flush.
Then call take() to wait for the next record
} else {
rec = recordQueue.poll();
if (rec == null) {
// queue ran empty, so let's do a flush on the handlers
// this way ExtHandlers usually do not need autoflush=true
flush();
// wait for next entry in queue
rec = recordQueue.take();
}
}
org.jboss.logmanager.handlers.AsyncHandler.AsyncTask should call
flush when queue runs empty
--------------------------------------------------------------------------------------------
Key: LOGMGR-54
URL:
https://issues.jboss.org/browse/LOGMGR-54
Project: JBoss Log Manager
Issue Type: Enhancement
Security Level: Public(Everyone can see)
Components: core
Affects Versions: 1.3.2.Final, 1.4.0.Beta1
Reporter: Rico Neubauer
Assignee: David Lloyd
Attachments: jboss-logmanager_master.patch
When using the org.jboss.logmanager.handlers.AsyncHandler in combination with handlers
that use autoFlush=false it happens that output stalls when queue runs empty.
A workaround is to set autoflush=true, however this introduces a flush always, even if
there are more records in the queue, which render the flush useless.
An optimization is to invoke flush() on the handlers if the AsyncTask's queue ran
empty - since then there is nothing else to do anyhow.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira