JDK-6387340 : Remove javax.management.timer.TimerAlarmClockNotification from the public API
  • Type: Bug
  • Component: core-svc
  • Sub-Component: javax.management
  • Affected Version: 6
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-02-17
  • Updated: 2017-05-16
  • Resolved: 2006-04-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6 b81Fixed
The javax.management.timer.TimerAlarmClock package-private class is referenced to from the constructor of public javax.management.timer.TimerAlarmClockNotification class:

Constructor Summary
TimerAlarmClockNotification(javax.management.timer.TimerAlarmClock source)
          Deprecated. Constructor.

EVALUATION This class is unusable by code outside the package it is defined in, because its only visible constructor has a parameter whose type is a non-public class. If you call that constructor with a null parameter, you get an immediate exception. Therefore, exceptionally, this public class can safely be deleted from the Java SE API.

EVALUATION We're aware of this problem. We considered fixing it in the JMX 1.2 timeframe (back in late 2002) but the consensus at that time was that this was strictly speaking a signature change. However it wasn't a very strong consensus and I think we could revisit the decision. The fact that this constructor has a parameter of a private class, and that a null value produces an exception, means that the constructor can never usefully be called so removing it would not break any existing code.