01: package org.tanukisoftware.wrapper.jmx;
02:
03: /*
04: * Copyright (c) 1999, 2006 Tanuki Software Inc.
05: *
06: * Permission is hereby granted, free of charge, to any person
07: * obtaining a copy of the Java Service Wrapper and associated
08: * documentation files (the "Software"), to deal in the Software
09: * without restriction, including without limitation the rights
10: * to use, copy, modify, merge, publish, distribute, sub-license,
11: * and/or sell copies of the Software, and to permit persons to
12: * whom the Software is furnished to do so, subject to the
13: * following conditions:
14: *
15: * The above copyright notice and this permission notice shall be
16: * included in all copies or substantial portions of the Software.
17: *
18: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19: * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20: * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21: * NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22: * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23: * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24: * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25: * OTHER DEALINGS IN THE SOFTWARE.
26: */
27:
28: /**
29: * This MBean interface provides access to a number of actions which can be
30: * useful for testing how well an application responds to JVM crashes. It
31: * has been broken out frtom the WrapperManagerMBean interface so system
32: * administrators can easily disable the testing functions.
33: *
34: * @author Leif Mortenson <leif@tanukisoftware.com>
35: */
36: public interface WrapperManagerTestingMBean {
37: /**
38: * Causes the WrapperManager to go into a state which makes the JVM appear
39: * to be hung when viewed from the native Wrapper code. Does not have
40: * any effect when the JVM is not being controlled from the native
41: * Wrapper.
42: */
43: void appearHung();
44:
45: /**
46: * Cause an access violation within native JNI code. This currently causes
47: * the access violation by attempting to write to a null pointer.
48: */
49: void accessViolationNative();
50:
51: /**
52: * Tells the native wrapper that the JVM wants to shut down and then
53: * promptly halts. Be careful when using this method as an application
54: * will not be given a chance to shutdown cleanly.
55: *
56: * @param exitCode The exit code that the Wrapper will return when it exits.
57: */
58: void stopImmediate(int exitCode);
59: }
|