Open GoogleCodeExporter opened 9 years ago
I will answer first about the exceptions in flushBuffer(), and that part was
also reported in the users' group at:
https://groups.google.com/d/topic/javamelody/kX31sRTFrHE/discussion
As I said in the group for the exceptions in flushBuffer():
I think that it is either an issue in IBM Liberty Profile or an issue in Apache
CXF. Note that it is reproduced only in IBM Liberty Profile, and not in other
app servers and not even in IBM Full Profile 8.5.0.
The issue is that L.P. does not accept that flush is called on an already
closed stream, but Apache CXF closes stream and flushes response.
I suggest that you contact your IBM support.
For information:
1) an important part of your stack-trace is
Caused by: java.io.IOException: Stream is closed
at com.ibm.wsspi.http.HttpOutputStream.validate(HttpOutputStream.java:187) ~[na:na]
at com.ibm.wsspi.http.HttpOutputStream.flush(HttpOutputStream.java:555) ~[na:na]
at com.ibm.ws.webcontainer.osgi.response.WCOutputStream.flush(WCOutputStream.java:213) ~[na:na]
at net.bull.javamelody.FilterServletOutputStream.flush(FilterServletOutputStream.java:52) ~[na:1.47.0]
at net.bull.javamelody.FilterServletResponseWrapper.flushBuffer(FilterServletResponseWrapper.java:146) ~[na:1.47.0]
at org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.close(AbstractHTTPDestination.java:729) ~[na:2.7.6]
2) See the CXF v2.7.10 code at
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf/cxf-rt-transports
-http/2.7.10/org/apache/cxf/transport/http/AbstractHTTPDestination.java#Abstract
HTTPDestination.WrappedOutputStream.close%28%29
Original comment by evernat@free.fr
on 7 Jun 2014 at 9:07
For the HtmlJavaInformationsReport change, in writeServerInfoAndContextPath,
you have added:
if (serverInfo.contains("SMF WebContainer")) {
serverInfo = "Websphere Liberty Profile";
applicationServerIconName = "ibm.png";
}
It's not the goal of javamelody to change the name (server info) of the
application server from "SMF WebContainer" to "Websphere Liberty Profile" and
to say that this comes from IBM.
It should be the goal of IBM to know how they have named the application server
and to spell it correctly.
You can again contact your IBM support.
That part will not be merged.
Original comment by evernat@free.fr
on 7 Jun 2014 at 10:31
The files which you have given in this issue are not diff files and are for a
previous version of javamelody.
Not stopping at that, I think that I have successfully merged your patch in my
IDE. So I have extracted a patch as a diff file (attached) for the current
version of javamelody. This patch includes changes for JDBC monitoring and for
exceptions because of closed stream.
And I have also added 3 TODO comments about probably unnecessary changes. I
suggest that you read this TODO comments and test new javamelody changes in
your liberty profile server. Then please send a new patch/diff file, if my TODO
comments are right.
Original comment by evernat@free.fr
on 9 Jun 2014 at 10:51
Attachments:
Given that:
- the exceptions on closed stream is an IBM liberty profile issue, which should
be fixed by IBM (we don't want to swallow exceptions just because of them), and
merging the JDBC monitoring changes from the patch is useless if IBM does not
fix exceptions first,
- the server info is also an IBM liberty profile issue,
- and there are TODO comments in the patch, unanswered at the moment,
then the patch can't be merged for now. So changing priority of the issue to
"low".
While waiting for IBM fixes and for your new patch answering TODO comments,
other users can use the attached "issue411_v0.1.patch" file to merge locally
with sources and recompile javamelody
(https://code.google.com/p/javamelody/wiki/DevGuide). The result is of course
not supported here, because of TODO comments.
Original comment by evernat@free.fr
on 9 Jun 2014 at 11:07
Original issue reported on code.google.com by
jahes...@gmail.com
on 27 May 2014 at 12:22Attachments: