Changes for page Wonder JavaMonitor and wotaskd
Last modified by Pascal Robert on 2023/08/10 22:21
From version 185.2
edited by David Avendasora
on 2023/11/13 11:56
on 2023/11/13 11:56
Change comment:
Updated the relative links.
To version 176.1
edited by Maik Musall
on 2013/04/23 11:54
on 2013/04/23 11:54
Change comment:
There is no comment for this version
Summary
-
Page properties (4 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
-
Objects (0 modified, 0 added, 4 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,0 @@ 1 -Deployment - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. avendasora1 +XWiki.mmusall - Tags
-
... ... @@ -1,1 +1,0 @@ 1 -favourite|deployment - Content
-
... ... @@ -1,7 +1,5 @@ 1 1 [[image:attach:WonderJavaMonitor.png]] 2 2 3 - 4 - 5 5 {{toc/}} 6 6 7 7 === Introduction === ... ... @@ -14,17 +14,12 @@ 14 14 15 15 === Where To Get Them === 16 16 17 -You can either download them pre-built from [[Wonder's Jenkins build server>>url:http://jenkins.wocommunity.org/job/Wonder 7/lastSuccessfulBuild/||shape="rect"]] or build them from the source code.15 +You can either download them pre-built from [[Wonder's Jenkins build server>>url:http://jenkins.wocommunity.org/job/Wonder/lastSuccessfulBuild/||shape="rect"]] or build them from the source code. 18 18 19 -To build them from the [[Wonder source code>>doc:WEB. Home.GettingStarted.Getting the Wonder Source Code.WebHome]], simply run the following command from the Wonder directory at the root of the Wonder source.17 +To build them from the [[Wonder source code>>doc:WEB.Getting the Wonder Source Code]], simply run the following command from the Wonder directory at the root of the Wonder source. 20 20 21 -{{code}} 22 -ant frameworks deployment.tools -Ddeployment.standalone=true 23 -{{/code}} 19 +{{code}}ant frameworks deployment.tools -Ddeployment.standalone=true{{/code}} 24 24 25 -(% class="auto-cursor-target" %) 26 -\\ 27 - 28 28 {{info title="What this command does:"}} 29 29 * **ant**: calls Apache Ant. It is assumed that you have this already installed. 30 30 * **frameworks**: tells Ant to build the "frameworks" target. This may not be needed if you already have Wonder built and installed in a location Ant can find automatically. ... ... @@ -62,7 +62,7 @@ 62 62 63 63 ==== Statistics ==== 64 64 65 -If you call [[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics>>url:http://monitorhostport||shape="rect"]]{{code language="none"}}{{/code}}, JavaMonitor will send you back statistics, in serialized Property List format, about instances, per application. 58 +If you call [[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics>>url:http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics||shape="rect"]]{{code language="none"}}{{/code}}, JavaMonitor will send you back statistics, in serialized Property List format, about instances, per application. 66 66 67 67 {{code title="Statistics Example Results" 0="none"}} 68 68 ... ... @@ -103,15 +103,9 @@ 103 103 104 104 {{/code}} 105 105 106 -(% class="auto-cursor-target" %) 107 -\\ 108 - 109 109 {{info}} 110 110 If JavaMonitor is configured with a password, and I hope you do, pass //pw=monitorpassword// as a argument to the query : 111 111 112 -(% class="auto-cursor-target" %) 113 -\\ 114 - 115 115 {{code}} 116 116 117 117 http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics?pw=monitorpassword ... ... @@ -119,9 +119,6 @@ 119 119 wget http://monitorhost:56789/cgi-bin/WebObjects/JavaMonitor.woa/admin/stop?type=app&name=InstanceName&pw=yourPassword 120 120 121 121 {{/code}} 122 - 123 -(% class="auto-cursor-target" %) 124 -\\ 125 125 {{/info}} 126 126 127 127 ==== Direct Actions in JavaMonitor for Management Tasks ==== ... ... @@ -131,139 +131,107 @@ 131 131 List of available direct actions : 132 132 133 133 * **info**{{code language="none"}}{{/code}} : Returns details (number of deaths, state, etc.), in JavaScript Object Notation (JSON) as specified 134 -{{code language="none"}}info?{{/code}}**type=all**{{code language="none"}}{{/code}} 135 -{{code language="none"}}info?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 136 -{{code language="none"}}info?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 118 + {{code language="none"}}info?{{/code}}**type=all**{{code language="none"}}{{/code}} 119 + {{code language="none"}}info?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 120 + {{code language="none"}}info?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 137 137 138 138 * **running**{{code language="none"}}{{/code}} : Returns **YES**{{code language="none"}}{{/code}} if **all** of the specified are running, {{code language="none"}}NO{{/code}} if not 139 -{{code language="none"}}running?{{/code}}**type=all**{{code language="none"}}{{/code}} 140 -{{code language="none"}}running?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 141 -{{code language="none"}}running?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 123 + {{code language="none"}}running?{{/code}}**type=all**{{code language="none"}}{{/code}} 124 + {{code language="none"}}running?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 125 + {{code language="none"}}running?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 142 142 143 143 * **stopped**{{code language="none"}}{{/code}} : Returns **YES**{{code language="none"}}{{/code}} if **all** the specified is running, **NO**{{code language="none"}}{{/code}} if not. 144 -{{code language="none"}}stopped?{{/code}}**type=all**{{code language="none"}}{{/code}} 145 -{{code language="none"}}stopped?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 146 -{{code language="none"}}stopped?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 128 + {{code language="none"}}stopped?{{/code}}**type=all**{{code language="none"}}{{/code}} 129 + {{code language="none"}}stopped?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 130 + {{code language="none"}}stopped?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 147 147 148 148 * **bounce**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after Bouncing (see description above) as specified 149 -{{code language="none"}}bounce?{{/code}}**type=all**{{code language="none"}}{{/code}} 150 -{{code language="none"}}bounce?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}} 133 + {{code language="none"}}bounce?{{/code}}**type=all**{{code language="none"}}{{/code}} 134 + {{code language="none"}}bounce?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}} 151 151 152 152 * **clearDeaths**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after clearing deaths as specified 153 -{{code language="none"}}clearDeaths?{{/code}}**type=all**{{code language="none"}}{{/code}} 154 -{{code language="none"}}clearDeaths?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}} 137 + {{code language="none"}}clearDeaths?{{/code}}**type=all**{{code language="none"}}{{/code}} 138 + {{code language="none"}}clearDeaths?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}} 155 155 156 156 * **turnScheduledOn**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning on scheduling as specified. Call ///turnScheduledOff// to do the opposite. 157 -{{code language="none"}}turnScheduledOn?{{/code}}**type=all**{{code language="none"}}{{/code}} 158 -{{code language="none"}}turnScheduledOn?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 159 -{{code language="none"}}turnScheduledOn?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 141 + {{code language="none"}}turnScheduledOn?{{/code}}**type=all**{{code language="none"}}{{/code}} 142 + {{code language="none"}}turnScheduledOn?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 143 + {{code language="none"}}turnScheduledOn?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 160 160 161 161 * **turnRefuseNewSessionsOn**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning on "Refuse new sessions" as specified 162 -{{code language="none"}}turnRefuseNewSessionsOn?{{/code}}**type=all**{{code language="none"}}{{/code}} 163 -{{code language="none"}}turnRefuseNewSessionsOn?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 164 -{{code language="none"}}turnRefuseNewSessionsOn?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 146 + {{code language="none"}}turnRefuseNewSessionsOn?{{/code}}**type=all**{{code language="none"}}{{/code}} 147 + {{code language="none"}}turnRefuseNewSessionsOn?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 148 + {{code language="none"}}turnRefuseNewSessionsOn?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 165 165 166 166 * **turnRefuseNewSessionsOff**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning off "Refuse new sessions" as specified 167 -{{code language="none"}}turnRefuseNewSessionsOff?{{/code}}**type=all**{{code language="none"}}{{/code}} 168 -{{code language="none"}}turnRefuseNewSessionsOff?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 169 -{{code language="none"}}turnRefuseNewSessionsOff?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 151 + {{code language="none"}}turnRefuseNewSessionsOff?{{/code}}**type=all**{{code language="none"}}{{/code}} 152 + {{code language="none"}}turnRefuseNewSessionsOff?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 153 + {{code language="none"}}turnRefuseNewSessionsOff?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 170 170 171 171 * **turnAutoRecoverOn**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning on "Auto Recover" as specified 172 -{{code language="none"}}turnAutoRecoverOn?{{/code}}**type=all**{{code language="none"}}{{/code}} 173 -{{code language="none"}}turnAutoRecoverOn?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 174 -{{code language="none"}}turnAutoRecoverOn?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 156 + {{code language="none"}}turnAutoRecoverOn?{{/code}}**type=all**{{code language="none"}}{{/code}} 157 + {{code language="none"}}turnAutoRecoverOn?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 158 + {{code language="none"}}turnAutoRecoverOn?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 175 175 176 176 * **turnAutoRecoverOff**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning off "Auto Recover" as specified 177 -{{code language="none"}}turnAutoRecoverOn?{{/code}}**type=all**{{code language="none"}}{{/code}} 178 -{{code language="none"}}turnAutoRecoverOn?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 179 -{{code language="none"}}turnAutoRecoverOn?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 161 + {{code language="none"}}turnAutoRecoverOn?{{/code}}**type=all**{{code language="none"}}{{/code}} 162 + {{code language="none"}}turnAutoRecoverOn?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 163 + {{code language="none"}}turnAutoRecoverOn?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 180 180 181 181 * **forceQuit**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after force quitting as specified. This could be useful to call from a monitoring system. 182 -{{code language="none"}}forceQuit?{{/code}}**type=all**{{code language="none"}}{{/code}} 183 -{{code language="none"}}forceQuit?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 184 -{{code language="none"}}forceQuit?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 166 + {{code language="none"}}forceQuit?{{/code}}**type=all**{{code language="none"}}{{/code}} 167 + {{code language="none"}}forceQuit?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 168 + {{code language="none"}}forceQuit?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 185 185 186 186 * **stop**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after calling "Stop" as specified 187 -{{code language="none"}}stop?{{/code}}**type=all**{{code language="none"}}{{/code}} 188 -{{code language="none"}}stop?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 189 -{{code language="none"}}stop?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 171 + {{code language="none"}}stop?{{/code}}**type=all**{{code language="none"}}{{/code}} 172 + {{code language="none"}}stop?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 173 + {{code language="none"}}stop?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 190 190 191 191 * **start**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after calling "Start" as specified 192 -{{code language="none"}}start?{{/code}}**type=all**{{code language="none"}}{{/code}} 193 -{{code language="none"}}start?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 194 -{{code language="none"}}start?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 176 + {{code language="none"}}start?{{/code}}**type=all**{{code language="none"}}{{/code}} 177 + {{code language="none"}}start?{{/code}}**type=app&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%) 178 + {{code language="none"}}start?{{/code}}**type=ins&name=**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**AppName**{{code language="none"}}{{/code}}(%%)**-**{{code language="none"}}{{/code}}(% style="color: maroon;" %)**InstanceNumber**{{code language="none"}}{{/code}} 195 195 196 196 To get details about all instances of all applications: 197 -[[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=all>>url:http://monitorhostport||shape="rect"]]{{code language="none"}}{{/code}} 181 + [[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=all>>url:http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=all||shape="rect"]]{{code language="none"}}{{/code}} 198 198 199 199 To get details about the **AjaxExample** application: 200 -[[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=app&name=AjaxExample>>url:http://monitorhostport||shape="rect"]]{{code language="none"}}{{/code}} 184 + [[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=app&name=AjaxExample>>url:http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=app&name=AjaxExample||shape="rect"]]{{code language="none"}}{{/code}} 201 201 202 202 To get details about instance **1** of the **AjaxExample** application: 203 -[[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=ins&name=AjaxExample-1>>url:http://monitorhostport||shape="rect"]]{{code language="none"}}{{/code}} 187 + [[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=ins&name=AjaxExample-1>>url:http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=ins&name=AjaxExample-1||shape="rect"]]{{code language="none"}}{{/code}} 204 204 205 205 ==== Remote Control via REST Routes (for JavaMonitor) ==== 206 206 207 -If the control offered by the Direct Actions isn't enough, JavaMonitor allows additional control via [[REST>>doc: documentation.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 {{code language="none"}}?pw=XXXX{{/code}} to the URLs if your JavaMonitor is password protected.191 +If the control offered by the Direct Actions isn't enough, JavaMonitor allows additional control via [[REST>>doc: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 {{code language="none"}}?pw=XXXX{{/code}} to the URLs if your JavaMonitor is password protected. 208 208 209 -Be careful with these. This allows to do illegal stuff, that the UI wouldn't allow, for example, create two applications with the same name. 210 - 211 211 Examples of REST calls : 212 212 213 213 {{code title="Adding a New Host" 0="none"}} 214 - 215 215 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 197 +{{/code}} 216 216 217 -{{/code}} 218 - 219 -(% class="auto-cursor-target" %) 220 -\\ 221 - 222 222 {{code title="Fetching Details for All Applications" 0="none"}} 223 - 224 224 curl -X GET http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications.json 201 +{{/code}} 225 225 226 -{{/code}} 227 - 228 -(% class="auto-cursor-target" %) 229 -\\ 230 - 231 231 {{code title="Adding a New Application" 0="none"}} 232 - 233 233 curl -X POST -d "{id: 'AjaxExample',type: 'MApplication', name: 'AjaxExample',unixOutputPath: '/opt/Local/Library/WebObjects/Logs', unixPath: '/opt/Local/Library/WebObjects/Applications/AjaxExample.woa/AjaxExample'}" http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications.json 205 +{{/code}} 234 234 235 -{{/code}} 236 - 237 -(% class="auto-cursor-target" %) 238 -\\ 239 - 240 240 {{code title="Delete an Application" 0="none"}} 241 - 242 242 curl -X DELETE http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample.json 209 +{{/code}} 243 243 244 -{{/code}} 245 - 246 -(% class="auto-cursor-target" %) 247 -\\ 248 - 249 249 {{code title="Adding a New Instance" 0="none"}} 212 +curl -X GET http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/addInstance&host=localhost 213 +{{/code}} 250 250 251 -curl -X GET http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/addInstance?host=localhost 252 - 253 -{{/code}} 254 - 255 -(% class="auto-cursor-target" %) 256 -\\ 257 - 258 258 {{code title="Delete an Instance" 0="none"}} 259 - 260 260 curl -X GET http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/deleteInstance?id=1 217 +{{/code}} 261 261 262 -{{/code}} 263 - 264 -(% class="auto-cursor-target" %) 265 -\\ 266 - 267 267 {{code title="Configuring the Site" 0="none"}} 268 268 269 269 curl -X PUT -d "{woAdaptor:'www.mydomain.com'}" http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mSiteConfig.json ... ... @@ -276,217 +276,98 @@ 276 276 277 277 Starting on August 10th 2012, wotaskd also have REST routes. By using them, you can do most of the tasks using REST and you might not even need JavaMonitor. Just like the JavaMonitor REST and Direct Actions, you need to append {{code language="none"}}?pw=XXXX{{/code}} to the URLs if wotaskd is password protected. 278 278 279 -Unfortunately, all changes you make in {{code language="none"}}wotaskd{{/code}} via this API will not be picked up by an already running {{code language="none"}}JavaMonitor{{/code}}, making all the modification endpoints here mostly useless. 280 - 281 -\\ 282 - 283 283 {{code title="Fetching Details for All Applications" 0="none"}} 284 - 285 285 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications.json 233 +{{/code}} 286 286 287 -{{/code}} 288 - 289 -(% class="auto-cursor-target" %) 290 -\\ 291 - 292 292 {{code title="Adding a New Application" 0="none"}} 293 - 294 294 curl -X POST -d "{id: 'AjaxExample',type: 'MApplication', name: 'AjaxExample',unixOutputPath: '/opt/Local/Library/WebObjects/Logs', unixPath: '/opt/Local/Library/WebObjects/Applications/AjaxExample.woa/AjaxExample'}" http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications.json 237 +{{/code}} 295 295 296 -{{/code}} 297 - 298 -(% class="auto-cursor-target" %) 299 -\\ 300 - 301 301 {{code title="Delete an Application" 0="none"}} 302 - 303 303 curl -X DELETE http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample.json 241 +{{/code}} 304 304 305 -{{/code}} 306 - 307 -(% class="auto-cursor-target" %) 308 -\\ 309 - 310 310 {{code title="Adding a New Instance" 0="none"}} 244 +curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/addInstance&host=localhost 245 +{{/code}} 311 311 312 -curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/addInstance?host=localhost 313 - 314 -{{/code}} 315 - 316 -(% class="auto-cursor-target" %) 317 -\\ 318 - 319 319 {{code title="Delete an Instance" 0="none"}} 320 - 321 321 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/deleteInstance?id=1 249 +{{/code}} 322 322 323 -{{/code}} 324 - 325 -(% class="auto-cursor-target" %) 326 -\\ 327 - 328 328 {{code title="Configuring the Site" 0="none"}} 329 - 330 330 curl -X PUT -d "{woAdaptor:'www.mydomain.com'}" http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mSiteConfig.json 253 +{{/code}} 331 331 332 -{{/code}} 333 - 334 -(% class="auto-cursor-target" %) 335 -\\ 336 - 337 337 {{code title="Starting all applications" 0="none"}} 338 - 339 339 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/start 257 +{{/code}} 340 340 341 -{{/code}} 342 - 343 -(% class="auto-cursor-target" %) 344 -\\ 345 - 346 346 {{code title="Starting a specific application (AjaxExample in this example)" 0="none"}} 347 - 348 348 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/start 261 +{{/code}} 349 349 350 -{{/code}} 351 - 352 -(% class="auto-cursor-target" %) 353 -\\ 354 - 355 355 {{code title="Starting a specific instance of an application (instance 1 of AjaxExample in this example)" 0="none"}} 356 - 357 357 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/start?id=1 265 +{{/code}} 358 358 359 -{{/code}} 360 - 361 -(% class="auto-cursor-target" %) 362 -\\ 363 - 364 364 {{code title="Stopping all applications" 0="none"}} 365 - 366 366 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/stop 269 +{{/code}} 367 367 368 -{{/code}} 369 - 370 -(% class="auto-cursor-target" %) 371 -\\ 372 - 373 373 {{code title="Stopping a specific application (AjaxExample in this example)" 0="none"}} 374 - 375 375 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/stop 273 +{{/code}} 376 376 377 -{{/code}} 378 - 379 -(% class="auto-cursor-target" %) 380 -\\ 381 - 382 382 {{code title="Stopping a specific instance of an application (instance 1 of AjaxExample in this example)" 0="none"}} 383 - 384 384 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/stop?id=1 277 +{{/code}} 385 385 386 -{{/code}} 387 - 388 -(% class="auto-cursor-target" %) 389 -\\ 390 - 391 391 {{code title="Force quit all applications" 0="none"}} 392 - 393 393 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/forceQuit 281 +{{/code}} 394 394 395 -{{/code}} 396 - 397 -(% class="auto-cursor-target" %) 398 -\\ 399 - 400 400 {{code title="Force quit a specific application (AjaxExample in this example)" 0="none"}} 401 - 402 402 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/forceQuit 285 +{{/code}} 403 403 404 -{{/code}} 405 - 406 -(% class="auto-cursor-target" %) 407 -\\ 408 - 409 409 {{code title="Force quit a specific instance of an application (instance 1 of AjaxExample in this example)" 0="none"}} 410 - 411 411 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/forceQuit?id=1 289 +{{/code}} 412 412 413 -{{/code}} 414 - 415 -(% class="auto-cursor-target" %) 416 -\\ 417 - 418 418 {{code title="Information about all applications" 0="none"}} 419 - 420 420 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/info 293 +{{/code}} 421 421 422 -{{/code}} 423 - 424 -(% class="auto-cursor-target" %) 425 -\\ 426 - 427 427 {{code title="Information about a specific application (AjaxExample in this example)" 0="none"}} 428 - 429 429 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/info 297 +{{/code}} 430 430 431 -{{/code}} 432 - 433 -(% class="auto-cursor-target" %) 434 -\\ 435 - 436 436 {{code title="Information about a specific instance of an application (instance 1 of AjaxExample in this example)" 0="none"}} 437 - 438 438 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/info?id=1 301 +{{/code}} 439 439 440 -{{/code}} 441 - 442 -(% class="auto-cursor-target" %) 443 -\\ 444 - 445 445 {{code title="Check if all applications are running" 0="none"}} 446 - 447 447 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/isRunning 305 +{{/code}} 448 448 449 -{{/code}} 450 - 451 -(% class="auto-cursor-target" %) 452 -\\ 453 - 454 454 {{code title="Check if a specific application is running (AjaxExample in this example)" 0="none"}} 455 - 456 456 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/isRunning 309 +{{/code}} 457 457 458 -{{/code}} 459 - 460 -(% class="auto-cursor-target" %) 461 -\\ 462 - 463 463 {{code title="Check if a specific instance of an application is running (instance 1 of AjaxExample in this example)" 0="none"}} 464 - 465 465 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/isRunning?id=1 313 +{{/code}} 466 466 467 -{{/code}} 468 - 469 -(% class="auto-cursor-target" %) 470 -\\ 471 - 472 472 {{code title="Check if all applications are stopped" 0="none"}} 473 - 474 474 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/isStopped 317 +{{/code}} 475 475 476 -{{/code}} 477 - 478 -(% class="auto-cursor-target" %) 479 -\\ 480 - 481 481 {{code title="Check if a specific application is stopped (AjaxExample in this example)" 0="none"}} 482 - 483 483 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/isStopped 321 +{{/code}} 484 484 485 -{{/code}} 486 - 487 -(% class="auto-cursor-target" %) 488 -\\ 489 - 490 490 {{code title="Check if a specific instance of an application is stopped (instance 1 of AjaxExample in this example)" 0="none"}} 491 491 492 492 curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/isStopped?id=1 ... ... @@ -495,4 +495,4 @@ 495 495 496 496 === Troubleshooting === 497 497 498 -If JavaMonitor won't start up check the [[troubleshooting deployment>>doc: documentation.Home.Deployment.Troubleshooting.TroubleshootingDeployment.WebHome]] section. In particular pay attention to the [[WOTaskd Didn't Start>>doc:documentation.Home.Deployment.Troubleshooting.TroubleshootingDeployment.WebHome]] Q&A.331 +If JavaMonitor won't start up check the [[troubleshooting deployment>>doc:Troubleshooting Deployment]] section. In particular pay attention to the [[WOTaskd Didn't Start>>doc:Troubleshooting Deployment]] Q&A.
- WonderJavaMonitor.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.XWikiGuest - Size
-
... ... @@ -1,1 +1,0 @@ 1 -32.7 KB - Content
- XWiki.XWikiComments[0]
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.dholt - Comment
-
... ... @@ -1,3 +1,0 @@ 1 -In Misc it says that wotaskd and JavaMonitor are not built fully embedded. Is this still true? I thought with the move to Hudson, that the Applications were fully embedded at this location: [[http:~~/~~/webobjects.mdimension.com/hudson/job/Wonder54/lastSuccessfulBuild/artifact/dist/>>url:http://webobjects.mdimension.com/hudson/job/Wonder54/lastSuccessfulBuild/artifact/dist/||rel="nofollow" shape="rect" class="external-link"]] 2 - 3 -Can anyone confirm this so that we remove this information if incorrect? - Date
-
... ... @@ -1,1 +1,0 @@ 1 -2010-11-26 19:47:32.0
- XWiki.XWikiComments[1]
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.probert - Comment
-
... ... @@ -1,3 +1,0 @@ 1 -The wotaskd/Monitor builds on webobjects.mdimension.com are fully embedded, but if you build them yourself, they are not fully embedded unless you use the "-Ddeployment.standalone=true" argument. 2 - 3 -And I just saw that the Wonder-latest-Applications* archive doesn't exist anymore in Hudson, but wotaskd and JavaMonitor are available as downloads and they are fully embedded. - Date
-
... ... @@ -1,1 +1,0 @@ 1 -2010-11-26 20:40:32.0
- XWiki.XWikiComments[2]
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.dholt - Comment
-
... ... @@ -1,1 +1,0 @@ 1 -I have updated that section. Thanks Pascal. - Date
-
... ... @@ -1,1 +1,0 @@ 1 -2010-11-26 21:48:35.0
- XWiki.XWikiComments[3]
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.tedpet - Comment
-
... ... @@ -1,3 +1,0 @@ 1 -On a Centos VM that I just created I tried to build both wotaskd/Monitor. There were errors until I told ant where the frameworks lived. 2 - 3 -ant -Dwo.system.frameworks=/opt/WO/Library/Frameworks frameworks deployment.tools -Ddeployment.standalone=true - Date
-
... ... @@ -1,1 +1,0 @@ 1 -2016-07-01 08:21:16.993