12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.jfr.api.flightrecorder;
27
28 import jdk.jfr.FlightRecorder;
29 import jdk.jfr.Recording;
30 import jdk.jfr.RecordingState;
31
32 /*
33 * @test
34 * @key jfr
35 * @library /test/lib /test/jdk
36 * @run main/othervm jdk.jfr.api.flightrecorder.TestAddListenerTwice
37 */
38 public class TestAddListenerTwice {
39
40 public static void main(String[] args) throws Throwable {
41 MyListener listener = new MyListener();
42
43 FlightRecorder.addListener(listener);
44 FlightRecorder.addListener(listener);
45
46 Recording r1 = new Recording();
47 r1.start();
48 listener.verifyState(2, RecordingState.RUNNING);
49
50 FlightRecorder.removeListener(listener); // Should still get callback to one listener.
51 r1.stop();
52 listener.verifyState(3, RecordingState.STOPPED);
53 r1.close();
54 listener.verifyState(4, RecordingState.CLOSED);
|
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.jfr.api.flightrecorder;
27
28 import jdk.jfr.FlightRecorder;
29 import jdk.jfr.Recording;
30 import jdk.jfr.RecordingState;
31
32 /**
33 * @test
34 * @key jfr
35 * @requires vm.hasJFR
36 * @library /test/lib /test/jdk
37 * @run main/othervm jdk.jfr.api.flightrecorder.TestAddListenerTwice
38 */
39 public class TestAddListenerTwice {
40
41 public static void main(String[] args) throws Throwable {
42 MyListener listener = new MyListener();
43
44 FlightRecorder.addListener(listener);
45 FlightRecorder.addListener(listener);
46
47 Recording r1 = new Recording();
48 r1.start();
49 listener.verifyState(2, RecordingState.RUNNING);
50
51 FlightRecorder.removeListener(listener); // Should still get callback to one listener.
52 r1.stop();
53 listener.verifyState(3, RecordingState.STOPPED);
54 r1.close();
55 listener.verifyState(4, RecordingState.CLOSED);
|