Why would you need source=1.6? The only binary incompatibility between 1.5
and 1.6 that I'm aware of is that in 1.6 you can use @Override for overridden
methods of an interface where 1.5 you can't. What is it about Java 1.6 that
you require it for compilation? If it's just API, then you can still use
source=1.5.
Jake
On Wed, 28 Sep 2011 23:29:16 -0700
Ralph Goers <[email protected]> wrote:
On Sep 19, 2011, at 1:44 AM, Joern Huxhorn wrote:
On 19.09.2011, at 09:36, Ralph Goers wrote:
On Sep 18, 2011, at 4:56 PM, Joern Huxhorn wrote:
On 19.09.2011, at 01:29, Ralph Goers wrote:
On Sep 18, 2011, at 3:01 PM, Joern Huxhorn wrote:
Sorry, I was confused and mixed something up...
I *planned* to implement a thread-specific sequence number but never did so.
I also considered logging the ThreadGroup-hierarchy but didn't do so, yet,
because of the expected performance impact.
Which reminds me, completely off-topic, of another idea concerning a custom
Message implementation:
A ThreadDumpMessage that would not get any parameter at all and would
consist of a ThreadDump if it is actually logged, including the ThreadGroup
info etc..
This would have helped me immensely in the past. Instead, I had to trigger
thread dumps via SIG_QUIT at a random points of execution.
Such a Message wouldn't be used in production under normal circumstances but
could be enabled in case of strange concurrency issues...
I added it, but as I said, I wish I knew how to include the locks.
FWIW, I could have used this 2 days ago when we were trying to debug just
such a concurrency issue.
I think
http://download.oracle.com/javase/6/docs/api/java/lang/management/ThreadMXBean.html
could be what you are looking for.
Haven't given it a try, yet.
Unfortunately, all the good lock information was added in 1.6.
Yes, it is calling for some reflection magic.
You'd have to reimplement LockInfo and MonitorInfo, though...
I believe I've solved this with the minimum amount of reflection. However,
it now requires that Log4j 2 be compiled with Java 6. It should still be able
to run on Java 5. I tried to declare that in the compiler plugin but it
throws an exception if source = 1.6 and target = 1.5. I believe the enforcer
plugin would do it though.
Ralph
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]