Last modified by Pascal Robert on 2023/08/10 22:21

From version 82.1
edited by David Avendasora
on 2010/11/30 00:42
Change comment: There is no comment for this version
To version 89.1
edited by ted_archibald
on 2010/11/29 22:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.avendasora
1 +XWiki.ted_archibald
Content
... ... @@ -30,15 +30,8 @@
30 30  
31 31  {{/info}}
32 32  
33 -=== Bug Fixes to Apple's Versions ===
33 +=== Major Improvements over Apple's versions ===
34 34  
35 -==== JavaMonitor ====
36 -
37 -* Fixes an issue with the Application Delete page
38 -* Selection in Application Detail page is now Ajax and is maintained
39 -
40 -=== Improvements to Apple's versions ===
41 -
42 42  ==== Automatic archive of SiteConfig.xml ====
43 43  
44 44  On every change you make to an application's configuration, a backup of SiteConfig.xml will be created in, by default, /Library/WebObjects/Configuration.
... ... @@ -112,87 +112,49 @@
112 112  
113 113  List of available direct actions :
114 114  
115 -* {{{*}info{*}}} : Returns details (number of deaths, state, etc.), in JavaScript Object Notation (JSON) as specified
116 -##info?##{{{}{*}type=all{*}}}
117 -##info?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
118 -##info?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
108 +* {{{*}info{*}}} : returns the details (number of deaths, state, etc.; see example above), in JavaScript Object Notation (JSON)
109 +** ##**?type=all{**##} : Returns details about all instances of all applications
110 +** ##**?type=app&name=**{##}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}} : Returns details about all instances of a specific application
111 +** ##**?type=ins&name=**{##}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}} : Returns details about one specific instance
112 +* {{{*}running{*}}} : Returns {{{*}YES{*}}} or {{{*}NO{*}}}
113 +** ##**?type=all{**##} : Returns {{{*}YES{*}}} if all instances of all applications are running
114 +** ##**?type=app&name=**{##}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}} : Returns {{{*}YES{*}}} if all instances of the specified application are running
115 +** ##**?type=ins&name=**{##}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}} : Returns {{{*}YES{*}}} if the instance of the specified application is running
116 +* {{{*}stopped{*}}} : return NO if the instance is running, YES if not.
117 +* {{{*}bounce{*}}} : more on it later.
118 +* {{{*}clearDeaths{*}}} : clear the number of deaths (same action as clicking the "Clear deaths" in JavaMonitor)
119 +* {{{*}turnScheduledOn{*}}} : turn scheduling on for an application or instance. Call ///turnScheduledOff// to do the opposite.
120 +* {{{*}turnRefuseNewSessionsOn{*}}} : turn "Refuse new sessions" on, call //turnRefuseNewSessionsOff// to do the opposite.
121 +* {{{*}turnAutoRecoverOn{*}}} : guess what? It activate "Auto recover" And guess again? ///turnAutoRecoverOff// do the opposite
122 +* {{{*}forceQuit{*}}} : force quit an application, might be useful to call it from a monitoring system.
123 +* {{{*}stop{*}}} : stop an application/instance the normal way.
124 +* {{{*}start{*}}} : start an application/instance the normal way.
119 119  
120 -* {{{*}running{*}}} : Returns {{{*}YES{*}}} if **all** of the specified are running, ##NO## if not
121 -##running?##{{{}{*}type=all{*}}}
122 -##running?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
123 -##running?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
126 +##?type=all## : returns details about all applications and instances
127 +##?type=app&name=AppName## : returns details about all instances of a specific application
128 +##?type=ins&name=AppName-InstanceNo## : returns details about one specific instance
124 124  
125 -* {{{*}stopped{*}}} : Returns {{{*}YES{*}}} if **all** the specified is running, {{{*}NO{*}}} if not.
126 -##stopped?##{{{}{*}type=all{*}}}
127 -##stopped?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
128 -##stopped?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
130 +For example, if you want to get details about all instances and applications, you call :
129 129  
130 -* {{{*}bounce{*}}} : Returns {{{*}OK{*}}} after Bouncing (see description above) as specified
131 -##bounce?##{{{}{*}type=all{*}}}
132 -##bounce?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
132 +[[http://monitorhost:port9/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=all]]
133 133  
134 -* {{{*}clearDeaths{*}}} : Returns {{{*}OK{*}}} after clearing deaths as specified
135 -##clearDeaths?##{{{}{*}type=all{*}}}
136 -##clearDeaths?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
134 +To get details about the //AjaxExample// application :
137 137  
138 -* {{{*}turnScheduledOn{*}}} : Returns {{{*}OK{*}}} after turning on scheduling as specified. Call ///turnScheduledOff// to do the opposite.
139 -##turnScheduledOn?##{{{}{*}type=all{*}}}
140 -##turnScheduledOn?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
141 -##turnScheduledOn?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
136 +[[http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=app&name=AjaxExample]]
142 142  
143 -* {{{*}turnRefuseNewSessionsOn{*}}} : Returns {{{*}OK{*}}} after turning on "Refuse new sessions" as specified
144 -##turnRefuseNewSessionsOn?##{{{}{*}type=all{*}}}
145 -##turnRefuseNewSessionsOn?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
146 -##turnRefuseNewSessionsOn?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
138 +And for a specific instance :
147 147  
148 -* {{{*}turnRefuseNewSessionsOff{*}}} : Returns {{{*}OK{*}}} after turning off "Refuse new sessions" as specified
149 -##turnRefuseNewSessionsOn?##{{{}{*}type=all{*}}}
150 -##turnRefuseNewSessionsOn?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
151 -##turnRefuseNewSessionsOn?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
140 +[[http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=ins&name=AjaxExample-1]]
152 152  
153 -* {{{*}turnAutoRecoverOn{*}}} : Returns {{{*}OK{*}}} after turning on "Auto Recover" as specified
154 -##turnAutoRecoverOn?##{{{}{*}type=all{*}}}
155 -##turnAutoRecoverOn?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
156 -##turnAutoRecoverOn?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
157 -
158 -* {{{*}turnAutoRecoverOff{*}}} : Returns {{{*}OK{*}}} after turning off "Auto Recover" as specified
159 -##turnAutoRecoverOn?##{{{}{*}type=all{*}}}
160 -##turnAutoRecoverOn?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
161 -##turnAutoRecoverOn?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
162 -
163 -* {{{*}forceQuit{*}}} : Returns {{{*}OK{*}}} after force quitting as specified. This could be useful to call from a monitoring system.
164 -##forceQuit?##{{{}{*}type=all{*}}}
165 -##forceQuit?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
166 -##forceQuit?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
167 -
168 -* {{{*}stop{*}}} : Returns {{{*}OK{*}}} after calling "Stop" as specified
169 -##stop?##{{{}{*}type=all{*}}}
170 -##stop?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
171 -##stop?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
172 -
173 -* {{{*}start{*}}} : Returns {{{*}OK{*}}} after calling "Start" as specified
174 -##start?##{{{}{*}type=all{*}}}
175 -##start?##{{{}{*}type=app&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}
176 -##start?##{{{}{*}type=ins&name=*{}}}{{color value="maroon"}}{{{}{*}AppName{*}{}}}{{/color}}{{{}*\-*{}}}{{color value="maroon"}}{{{}{*}InstanceNumber{*}{}}}{{/color}}
177 -
178 -To get details about all instances of all applications:
179 -##[[http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=all]]##
180 -
181 -To get details about the **AjaxExample** application:
182 -##[[http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=app&name=AjaxExample]]##
183 -
184 -To get details about instance **1** of the **AjaxExample** application:
185 -##[[http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=ins&name=AjaxExample-1]]##
186 -
187 187  ==== Remote Control via REST Routes ====
188 188  
189 -If the control offered by the Direct Actions isn't enough, JavaMonitor allows additional control via [[REST>>WONDER:ERRest Framework]] calls. Between the two methods (Direct Actions, REST) you have almost full remote-control of JavaMonitor. Just make sure that your JavaMonitor installation is secure Just like with Direct Actions, you need to append ##?pw=XXXX## to the URLs if your JavaMonitor is password protected.
144 +On September 28th 2010, REST routes were added in JavaMonitor. Those routes + the direct actions explained in this document allow you to control almost everything remotely (make sure that your JavaMonitor installation is secure). As the direct actions, append //?pw=XXXX// to the URLs if JavaMonitor is password protected.
190 190  
191 191  Examples of REST calls :
192 192  
193 193  {{code title="Adding a New Host"}}
194 194  
195 -curl -X POST -d "{id: 'otherserver.com',type: 'MHost', osType: 'MACOSX',address: '192.168.20.5', name: 'otherserver.com'}" http://monitorhost:port/apps/WebObjects/JavaMonitor.woa/ra/mHosts.json
150 +curl -X POST -d "{id: 'otherserver.com',type: 'MHost', osType: 'MACOSX',address: '192.168.20.5', name: 'otherserver.com'}" http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mHosts.json
196 196  
197 197  {{/code}}
198 198