دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: مدیریت ویرایش: 1 نویسندگان: J. Steven Perry سری: ISBN (شابک) : 9780596002459, 0596002459 ناشر: O'Reilly Media سال نشر: 2002 تعداد صفحات: 300 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 3 مگابایت
در صورت تبدیل فایل کتاب Java Management Extensions به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب برنامه های افزودنی مدیریت جاوا نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این راهنمای عملی عملی برای استفاده از API های JMX توسط یک توسعه دهنده نرم افزار برای توسعه دهندگان دیگر به عنوان درمان کاملی از معماری JMX نوشته شده است.
This practical hands-on guide to using the JMX APIs was written by a software developer for other developers as a complete treatment of the JMX architecture.
Table of Content......Page 2
Preface......Page 3
Audience......Page 4
Organization......Page 5
Comments and Questions......Page 6
Acknowledgments......Page 7
1.1 Introducing JMX......Page 8
1.2.1 The Instrumentation Level......Page 9
1.2.1.1 What is an MBean?......Page 10
1.2.1.2 Standard MBeans......Page 11
Example 1-2. The GenericResource managed bean......Page 13
Figure 1-2. UML diagram showing the relationships between the dynamic MBean metadata classes......Page 14
1.2.1.4 Model MBeans......Page 15
Figure 1-3. Model MBean metadata classes......Page 16
1.2.1.5 Open MBeans......Page 17
Figure 1-6. UML diagram showing the relationships between the open MBean metadata classes......Page 19
1.2.1.6 JMX notifications......Page 20
Figure 1-7. UML diagram showing the relationships between the entities that participate in the JMX notification model......Page 21
1.2.2.1 The MBean server......Page 22
1.2.2.2 The M-Let service......Page 23
1.2.2.3 Monitoring services......Page 24
1.2.2.4 The timer service......Page 25
1.2.2.5 The relation service......Page 26
1.2.3.1 Protocol adaptors and connectors......Page 27
Figure 1-8. The remote MBean server concept......Page 28
1.3.1 Design......Page 29
Figure 1-10. UML diagram showing the implementation of the pattern in the form of the application......Page 30
1.3.2 Source Code......Page 31
Example 1-5. Selected portions of the Ant build file for the application, build.xml......Page 32
Figure 1-11. Running the build/run batch file for standard MBeans......Page 35
Figure 1-12. The management view of the application in Internet Explorer......Page 36
Figure 1-13. The management view of the Queue object......Page 37
Figure 1-14. The management view of Controller showing the createWorker() operation......Page 38
Figure 1-15. The screen we see once createWorker() has successfully been invoked......Page 39
Figure 1-16. The management view of the Queue after starting a second Consumer thread......Page 40
2.1 What Is a Management Interface?......Page 41
Table?2-1. Attributes exposed for management on the Queue class......Page 42
2.2.1 Describing the Management Interface......Page 43
2.2.1.1 Pattern #1: Defining, naming, and implementing the MBean interface......Page 44
2.2.1.2 Pattern #2: Provide at least one public constructor......Page 45
2.2.1.3 Pattern #3: Attributes and how to name their getters and setters......Page 46
Example 2-1. The QueueMBean interface......Page 47
2.2.2 Standard MBean Inheritance Patterns......Page 48
2.2.2.2 Pattern #2: Simple inheritance......Page 49
Example 2-3. WorkerMBean management interface definition......Page 50
Figure 2-3. UML notation for pattern #3......Page 51
Figure 2-5. UML notation for a more complicated derivative of pattern #4......Page 52
Figure 2-6. UML notation for pattern #5......Page 53
2.2.3.2 Mistake #2: Wrong return value type......Page 54
2.2.3.3 Mistake #3: Wrong number of parameters......Page 56
Figure 2-7. UML notation for the application classes used in this chapter......Page 57
Example 2-4. Full source listing for Basic class......Page 58
2.2.5 Throwing Exceptions from Your MBeans......Page 61
2.2.6 The Driver Program: Controller.main()......Page 62
2.2.6.1 The ObjectName class......Page 63
2.2.6.2 Registering the MBean with the MBean server......Page 64
Figure 2-8. The Adaptor in action......Page 66
Figure 2-9. Attributes exposed for management on the HTMLAdaptorServer; scroll down to view the operations......Page 67
Figure 2-10. Operations exposed for management on the HTMLAdaptorServer......Page 68
2.3 Downloading and Installing the JMX Reference Implementation......Page 69
3.2 How Do Dynamic MBeans Work?......Page 70
Example 3-1. The DynamicMBean interface......Page 71
3.2.1 Describing the Management Interface......Page 72
3.2.1.1 MBeanAttributeInfo......Page 73
Table?3-1. type parameter values for attributes whose values are of a fundamental type......Page 75
Using TYPE for Fundamental Types......Page 76
Table?3-2. Class name strings for arrays of fundamental types......Page 77
3.2.1.2 MBeanParameterInfo......Page 80
3.2.1.3 MBeanConstructorInfo......Page 82
Example 3-2. Exposing a specific constructor......Page 83
3.2.1.4 MBeanOperationInfo......Page 86
3.2.1.5 MBeanNotificationInfo......Page 91
3.2.1.6 MBeanInfo......Page 93
Example 3-3. Creating an instance of MBeanInfo......Page 95
3.2.2.1 Attribute......Page 97
3.2.2.2 AttributeList......Page 98
3.2.2.3 getAttribute()......Page 99
3.2.2.4 setAttribute()......Page 101
3.2.2.5 getAttributes()......Page 102
3.2.2.6 setAttributes()......Page 103
3.2.2.7 invoke()......Page 104
Figure 3-2. UML diagram showing a possible inheritance scenario for the sample application......Page 105
3.3.1 Explicit Superclass Exposure......Page 106
Example 3-4. Creating metadata classes to expose attributes and operations from Queue's parent class, Basic, through explicit superclass exposure......Page 108
3.3.1.1 getAttribute()......Page 109
3.3.1.2 setAttribute()......Page 110
3.3.1.3 invoke()......Page 111
Example 3-5. Creating metadata classes to expose attributes and operations from Queue's parent class, Basic, through superclass delegation......Page 112
3.3.2.2 setAttribute()......Page 114
3.3.2.3 invoke()......Page 115
3.3.3 Mixing It Up......Page 116
4.1 Why Use Model MBeans?......Page 117
4.2.1 Model MBean Descriptors......Page 118
Example 4-1. The Descriptor interface......Page 119
4.2.1.2 currencyTimeLimit......Page 120
4.2.1.4 descriptorType......Page 121
4.2.1.8 logFile......Page 122
4.2.1.11 persistPolicy......Page 123
Table?4-1. Predefined severity values and meanings......Page 124
4.2.1.17 Other fields......Page 125
4.2.2 Describing the Management Interface......Page 129
Figure 4-2. UML diagram showing the relationships between ModelMBeanInfoSupport and the other model MBean metadata classes......Page 130
Example 4-2. The significant constructors of ModelMBeanAttributeInfo......Page 131
Example 4-3. The significant constructors of ModelMBeanConstructorInfo......Page 134
4.2.2.3 ModelMBeanOperationInfo......Page 136
Example 4-4. The significant constructors of ModelMBeanOperationInfo......Page 137
Example 4-5. The significant constructors of ModelMBeanNotificationInfo......Page 139
Example 4-6. The significant constructors of ModelMBeanInfoSupport......Page 141
4.2.2.6 DescriptorAccess......Page 142
4.2.3.1 ModelMBean......Page 144
4.3 Instrumenting Resources as Model MBeans......Page 145
5.1.1 Basic Types......Page 150
5.1.1.2 SimpleType......Page 151
5.1.1.3 Other basic types......Page 152
5.1.2.1 CompositeType......Page 153
Example 5-1. Describing a complex data type using CompositeType......Page 154
5.1.2.2 CompositeData......Page 155
Table?5-1. Attribute values for new CompositeDataSupport instance......Page 158
Example 5-2. Creating a CompositeData object using CompositeDataSupport......Page 159
5.1.2.4 TabularType......Page 160
5.1.2.5 TabularData......Page 161
Table?5-2. Rows of tabular data for our example......Page 162
5.1.2.6 TabularDataSupport......Page 166
5.2 Open MBean Metadata Classes......Page 167
5.2.1 OpenMBeanParameterInfo......Page 168
5.2.2 OpenMBeanParameterInfoSupport......Page 170
5.2.3 OpenMBeanAttributeInfo......Page 174
5.2.4 OpenMBeanAttributeInfoSupport......Page 175
5.2.5 OpenMBeanConstructorInfo......Page 178
5.2.6 OpenMBeanConstructorInfoSupport......Page 179
5.2.7 OpenMBeanOperationInfo......Page 181
5.2.8 OpenMBeanOperationInfoSupport......Page 182
5.2.10 OpenMBeanInfo......Page 183
5.2.11 OpenMBeanInfoSupport......Page 184
6.1 What Is the MBean Server?......Page 187
6.2 Obtaining a Reference to the MBean Server......Page 188
6.2.1 Creating the MBean Server......Page 189
Figure 6-1. The management view of the MBean server when the no-argument version of createMBeanServer() is used......Page 190
Figure 6-2. The management view of the MBean server when a domain name is supplied to createMBeanServer()......Page 191
6.2.2 Finding the MBean Server......Page 192
6.3 The MBeanServer Interface......Page 193
Example 6-2. The MBeanServer interface......Page 194
6.3.1.1 Instantiating an MBean......Page 197
6.3.1.2 Registering an MBean......Page 199
6.3.1.3 Combining the instantiation and registration of an MBean......Page 201
6.3.1.4 Removing a registered MBean from the MBean server......Page 203
6.3.2 Indirect MBean Manipulation......Page 204
6.3.3 Notification......Page 205
6.3.4 Query......Page 208
6.3.5 Utility......Page 211
6.4 Controlling MBean Registration......Page 215
6.5 MBeanServerDelegate......Page 216
6.5.1 MBean Server Information......Page 217
6.5.2 MBean Server Notifications......Page 218
7.1 The JMX Notification Model......Page 220
Figure 7-1. UML diagram showing the relationships between the various components of the JMX notification model......Page 221
7.2.1 Notification......Page 223
7.2.2 NotificationFilter......Page 225
7.2.3 The Handback Object......Page 227
7.2.4 NotificationBroadcaster......Page 228
Example 7-1. A simple implementation of addNotificationListener()......Page 229
7.2.5 NotificationListener......Page 233
8.1.1 The M-Let Service......Page 236
8.1.2 The M-Let File......Page 237
8.1.2.4 ARCHIVE......Page 238
8.1.2.6 NAME (optional)......Page 239
8.1.2.8 ARG......Page 240
8.1.3 Loading MBeans Without an M-Let File......Page 241
8.2.1 getMBeansFromURL()......Page 242
Figure 9-1. UML diagram showing the classes that make up the monitoring services......Page 249
9.1 The MonitorNotification Class......Page 253
9.1.1 Error Conditions......Page 254
9.1.3 Gauge Monitor Notification Types......Page 255
9.2 Counter Monitors......Page 256
Example 9-1. Typical listener implementation......Page 258
9.3 Gauge Monitors......Page 259
9.4 String Monitors......Page 261
9.5 Other Issues......Page 263
Figure 10-1. UML diagram showing the relationships between the timer service classes......Page 264
Example 10-1. The TimerMBean interface......Page 265
10.2 Using the Timer Service......Page 272
Example 10-2. Partial source listing of the Scheduler class......Page 273
Example 10-3. The scheduler.properties file......Page 274
10.2.1 Handling the Controller Start Notification......Page 275
10.2.2 Handling the Message Queue Flush Notification......Page 276
11.1 Introduction......Page 278
11.2.1 RoleInfo......Page 279
11.2.2 RelationType......Page 281
11.2.4 RoleList......Page 282
11.2.5 RelationService......Page 283
11.2.7 RelationSupport......Page 285
11.3 Using the Relation Service......Page 287
Example 11-1. Creating an internal relation......Page 289
11.4 Using the Relation Service Support Classes......Page 290
11.5 Modifying a Role......Page 295
Figure 11-1. Invoking the createWorker() method to create a new Consumer thread with a work factor of 100......Page 296
Example 11-3. Source code for createWorker()......Page 297
Figure 11-3. When we attempt to add a third Consumer MBean to the relation, the relation service throws an exception......Page 298
Colophon......Page 299