Discussion about fixing deprecation in jdk.hotspot.agent

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Mar 30 12:14:44 UTC 2020


No opinions on this?

/Magnus

On 2020-03-25 23:34, Magnus Ihse Bursie wrote:
> Hi everyone,
>
> As a follow-up to the ongoing review for JDK-8241618, I have also 
> looked at fixing the deprecation warnings in jdk.hotspot.agent. These 
> fall in three broad categories:
>
> * Deprecation of the boxing type constructors (e.g. "new Integer(42)").
>
> * Deprecation of java.util.Observer and Observable.
>
> * The rest (mostly Class.newInstance(), and a few number of other odd 
> deprecations)
>
> The first category is trivial to fix. The last category need some 
> special discussion. But the overwhelming majority of deprecation 
> warnings come from the use of Observer and Observable. This really 
> dwarfs anything else, and needs to be handled first, otherwise it's 
> hard to even spot the other issues.
>
> My analysis of the situation is that the deprecation of Observer and 
> Observable seems a bit harsh, from the PoV of jdk.hotspot.agent. Sure, 
> it might be limited, but I think it does exactly what is needed here. 
> So the migration suggested in Observable (java.beans or 
> java.util.concurrent) seems overkill. If there are genuine threading 
> issues at play here, this assumption might be wrong, and then maybe 
> going the j.u.c. route is correct.
>
> But if that's not, the main goal should be to stay with the current 
> implementation. One way to do this is to sprinkle the code with 
> @SuppressWarning. But I think a better way would be to just implement 
> our own Observer and Observable. After all, the classes are trivial.
>
> I've made a mock-up of this solution, were I just copied the 
> java.util.Observer and Observable, and removed the deprecation 
> annotations. The only thing needed for the rest of the code is to make 
> sure we import these; I've done this for three arbitrarily selected 
> classes just to show what the change would typically look like. Here's 
> the mock-up:
>
> http://cr.openjdk.java.net/~ihse/hotspot-agent-observer/webrev.01
>
> Let me know what you think.
>
> /Magnus



More information about the serviceability-dev mailing list