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

From version 176.1
edited by Maik Musall
on 2013/04/23 11:54
Change comment: There is no comment for this version
To version 183.1
edited by Pascal Robert
on 2023/11/13 11:54
Change comment: Renamed back-links.

Summary

Details

Page properties
Parent
... ... @@ -1,0 +1,1 @@
1 +Deployment
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.mmusall
1 +XWiki.probert
Tags
... ... @@ -1,0 +1,1 @@
1 +favourite|deployment
Content
... ... @@ -1,5 +1,7 @@
1 1  [[image:attach:WonderJavaMonitor.png]]
2 2  
3 +
4 +
3 3  {{toc/}}
4 4  
5 5  === Introduction ===
... ... @@ -12,12 +12,17 @@
12 12  
13 13  === Where To Get Them ===
14 14  
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.
17 +You can either download them pre-built from [[Wonder's Jenkins build server>>url:http://jenkins.wocommunity.org/job/Wonder7/lastSuccessfulBuild/||shape="rect"]] or build them from the source code.
16 16  
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.
19 +To build them from the [[Wonder source code>>doc:WEB.Home.Getting Started.Getting the Wonder Source Code.WebHome]], simply run the following command from the Wonder directory at the root of the Wonder source.
18 18  
19 -{{code}}ant frameworks deployment.tools -Ddeployment.standalone=true{{/code}}
21 +{{code}}
22 +ant frameworks deployment.tools -Ddeployment.standalone=true
23 +{{/code}}
20 20  
25 +(% class="auto-cursor-target" %)
26 +\\
27 +
21 21  {{info title="What this command does:"}}
22 22  * **ant**: calls Apache Ant. It is assumed that you have this already installed.
23 23  * **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.
... ... @@ -55,7 +55,7 @@
55 55  
56 56  ==== Statistics ====
57 57  
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.
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.
59 59  
60 60  {{code title="Statistics Example Results" 0="none"}}
61 61  
... ... @@ -96,9 +96,15 @@
96 96  
97 97  {{/code}}
98 98  
106 +(% class="auto-cursor-target" %)
107 +\\
108 +
99 99  {{info}}
100 100  If JavaMonitor is configured with a password, and I hope you do, pass //pw=monitorpassword// as a argument to the query :
101 101  
112 +(% class="auto-cursor-target" %)
113 +\\
114 +
102 102  {{code}}
103 103  
104 104  http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/wa/statistics?pw=monitorpassword
... ... @@ -106,6 +106,9 @@
106 106  wget http://monitorhost:56789/cgi-bin/WebObjects/JavaMonitor.woa/admin/stop?type=app&name=InstanceName&pw=yourPassword
107 107  
108 108  {{/code}}
122 +
123 +(% class="auto-cursor-target" %)
124 +\\
109 109  {{/info}}
110 110  
111 111  ==== Direct Actions in JavaMonitor for Management Tasks ====
... ... @@ -115,107 +115,139 @@
115 115  List of available direct actions :
116 116  
117 117  * **info**{{code language="none"}}{{/code}} : Returns details (number of deaths, state, etc.), in JavaScript Object Notation (JSON) as specified
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}}
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}}
121 121  
122 122  * **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
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}}
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}}
126 126  
127 127  * **stopped**{{code language="none"}}{{/code}} : Returns **YES**{{code language="none"}}{{/code}} if **all** the specified is running, **NO**{{code language="none"}}{{/code}} if not.
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}}
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}}
131 131  
132 132  * **bounce**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after Bouncing (see description above) as specified
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}}
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}}
135 135  
136 136  * **clearDeaths**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after clearing deaths as specified
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}}
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}}
139 139  
140 140  * **turnScheduledOn**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning on scheduling as specified. Call ///turnScheduledOff// to do the opposite.
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}}
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}}
144 144  
145 145  * **turnRefuseNewSessionsOn**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning on "Refuse new sessions" as specified
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}}
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}}
149 149  
150 150  * **turnRefuseNewSessionsOff**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning off "Refuse new sessions" as specified
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}}
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}}
154 154  
155 155  * **turnAutoRecoverOn**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning on "Auto Recover" as specified
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}}
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}}
159 159  
160 160  * **turnAutoRecoverOff**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after turning off "Auto Recover" as specified
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}}
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}}
164 164  
165 165  * **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.
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}}
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}}
169 169  
170 170  * **stop**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after calling "Stop" as specified
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}}
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}}
174 174  
175 175  * **start**{{code language="none"}}{{/code}} : Returns **OK**{{code language="none"}}{{/code}} after calling "Start" as specified
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}}
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}}
179 179  
180 180  To get details about all instances of all applications:
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}}
197 +[[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=all>>url:http://monitorhostport||shape="rect"]]{{code language="none"}}{{/code}}
182 182  
183 183  To get details about the **AjaxExample** application:
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}}
200 +[[http:~~/~~/monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/admin/info?type=app&name=AjaxExample>>url:http://monitorhostport||shape="rect"]]{{code language="none"}}{{/code}}
185 185  
186 186  To get details about instance **1** of the **AjaxExample** application:
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}}
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}}
188 188  
189 189  ==== Remote Control via REST Routes (for JavaMonitor) ====
190 190  
191 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.
192 192  
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 +
193 193  Examples of REST calls :
194 194  
195 195  {{code title="Adding a New Host" 0="none"}}
214 +
196 196  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}}
198 198  
217 +{{/code}}
218 +
219 +(% class="auto-cursor-target" %)
220 +\\
221 +
199 199  {{code title="Fetching Details for All Applications" 0="none"}}
223 +
200 200  curl -X GET http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications.json
201 -{{/code}}
202 202  
226 +{{/code}}
227 +
228 +(% class="auto-cursor-target" %)
229 +\\
230 +
203 203  {{code title="Adding a New Application" 0="none"}}
232 +
204 204  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}}
206 206  
235 +{{/code}}
236 +
237 +(% class="auto-cursor-target" %)
238 +\\
239 +
207 207  {{code title="Delete an Application" 0="none"}}
241 +
208 208  curl -X DELETE http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample.json
209 -{{/code}}
210 210  
244 +{{/code}}
245 +
246 +(% class="auto-cursor-target" %)
247 +\\
248 +
211 211  {{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}}
214 214  
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 +
215 215  {{code title="Delete an Instance" 0="none"}}
259 +
216 216  curl -X GET http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/deleteInstance?id=1
217 -{{/code}}
218 218  
262 +{{/code}}
263 +
264 +(% class="auto-cursor-target" %)
265 +\\
266 +
219 219  {{code title="Configuring the Site" 0="none"}}
220 220  
221 221  curl -X PUT -d "{woAdaptor:'www.mydomain.com'}" http://monitorhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mSiteConfig.json
... ... @@ -228,98 +228,217 @@
228 228  
229 229  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.
230 230  
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 +
231 231  {{code title="Fetching Details for All Applications" 0="none"}}
284 +
232 232  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications.json
233 -{{/code}}
234 234  
287 +{{/code}}
288 +
289 +(% class="auto-cursor-target" %)
290 +\\
291 +
235 235  {{code title="Adding a New Application" 0="none"}}
293 +
236 236  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}}
238 238  
296 +{{/code}}
297 +
298 +(% class="auto-cursor-target" %)
299 +\\
300 +
239 239  {{code title="Delete an Application" 0="none"}}
302 +
240 240  curl -X DELETE http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample.json
241 -{{/code}}
242 242  
305 +{{/code}}
306 +
307 +(% class="auto-cursor-target" %)
308 +\\
309 +
243 243  {{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}}
246 246  
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 +
247 247  {{code title="Delete an Instance" 0="none"}}
320 +
248 248  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/deleteInstance?id=1
249 -{{/code}}
250 250  
323 +{{/code}}
324 +
325 +(% class="auto-cursor-target" %)
326 +\\
327 +
251 251  {{code title="Configuring the Site" 0="none"}}
329 +
252 252  curl -X PUT -d "{woAdaptor:'www.mydomain.com'}" http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mSiteConfig.json
253 -{{/code}}
254 254  
332 +{{/code}}
333 +
334 +(% class="auto-cursor-target" %)
335 +\\
336 +
255 255  {{code title="Starting all applications" 0="none"}}
338 +
256 256  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/start
257 -{{/code}}
258 258  
341 +{{/code}}
342 +
343 +(% class="auto-cursor-target" %)
344 +\\
345 +
259 259  {{code title="Starting a specific application (AjaxExample in this example)" 0="none"}}
347 +
260 260  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/start
261 -{{/code}}
262 262  
350 +{{/code}}
351 +
352 +(% class="auto-cursor-target" %)
353 +\\
354 +
263 263  {{code title="Starting a specific instance of an application (instance 1 of AjaxExample in this example)" 0="none"}}
356 +
264 264  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/start?id=1
265 -{{/code}}
266 266  
359 +{{/code}}
360 +
361 +(% class="auto-cursor-target" %)
362 +\\
363 +
267 267  {{code title="Stopping all applications" 0="none"}}
365 +
268 268  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/stop
269 -{{/code}}
270 270  
368 +{{/code}}
369 +
370 +(% class="auto-cursor-target" %)
371 +\\
372 +
271 271  {{code title="Stopping a specific application (AjaxExample in this example)" 0="none"}}
374 +
272 272  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/stop
273 -{{/code}}
274 274  
377 +{{/code}}
378 +
379 +(% class="auto-cursor-target" %)
380 +\\
381 +
275 275  {{code title="Stopping a specific instance of an application (instance 1 of AjaxExample in this example)" 0="none"}}
383 +
276 276  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/stop?id=1
277 -{{/code}}
278 278  
386 +{{/code}}
387 +
388 +(% class="auto-cursor-target" %)
389 +\\
390 +
279 279  {{code title="Force quit all applications" 0="none"}}
392 +
280 280  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/forceQuit
281 -{{/code}}
282 282  
395 +{{/code}}
396 +
397 +(% class="auto-cursor-target" %)
398 +\\
399 +
283 283  {{code title="Force quit a specific application (AjaxExample in this example)" 0="none"}}
401 +
284 284  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/forceQuit
285 -{{/code}}
286 286  
404 +{{/code}}
405 +
406 +(% class="auto-cursor-target" %)
407 +\\
408 +
287 287  {{code title="Force quit a specific instance of an application (instance 1 of AjaxExample in this example)" 0="none"}}
410 +
288 288  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/forceQuit?id=1
289 -{{/code}}
290 290  
413 +{{/code}}
414 +
415 +(% class="auto-cursor-target" %)
416 +\\
417 +
291 291  {{code title="Information about all applications" 0="none"}}
419 +
292 292  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/info
293 -{{/code}}
294 294  
422 +{{/code}}
423 +
424 +(% class="auto-cursor-target" %)
425 +\\
426 +
295 295  {{code title="Information about a specific application (AjaxExample in this example)" 0="none"}}
428 +
296 296  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/info
297 -{{/code}}
298 298  
431 +{{/code}}
432 +
433 +(% class="auto-cursor-target" %)
434 +\\
435 +
299 299  {{code title="Information about a specific instance of an application (instance 1 of AjaxExample in this example)" 0="none"}}
437 +
300 300  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/info?id=1
301 -{{/code}}
302 302  
440 +{{/code}}
441 +
442 +(% class="auto-cursor-target" %)
443 +\\
444 +
303 303  {{code title="Check if all applications are running" 0="none"}}
446 +
304 304  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/isRunning
305 -{{/code}}
306 306  
449 +{{/code}}
450 +
451 +(% class="auto-cursor-target" %)
452 +\\
453 +
307 307  {{code title="Check if a specific application is running (AjaxExample in this example)" 0="none"}}
455 +
308 308  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/isRunning
309 -{{/code}}
310 310  
458 +{{/code}}
459 +
460 +(% class="auto-cursor-target" %)
461 +\\
462 +
311 311  {{code title="Check if a specific instance of an application is running (instance 1 of AjaxExample in this example)" 0="none"}}
464 +
312 312  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/isRunning?id=1
313 -{{/code}}
314 314  
467 +{{/code}}
468 +
469 +(% class="auto-cursor-target" %)
470 +\\
471 +
315 315  {{code title="Check if all applications are stopped" 0="none"}}
473 +
316 316  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/isStopped
317 -{{/code}}
318 318  
476 +{{/code}}
477 +
478 +(% class="auto-cursor-target" %)
479 +\\
480 +
319 319  {{code title="Check if a specific application is stopped (AjaxExample in this example)" 0="none"}}
482 +
320 320  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/isStopped
321 -{{/code}}
322 322  
485 +{{/code}}
486 +
487 +(% class="auto-cursor-target" %)
488 +\\
489 +
323 323  {{code title="Check if a specific instance of an application is stopped (instance 1 of AjaxExample in this example)" 0="none"}}
324 324  
325 325  curl -X GET http://wotaskdhost:port/cgi-bin/WebObjects/JavaMonitor.woa/ra/mApplications/AjaxExample/isStopped?id=1
WonderJavaMonitor.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiGuest
Size
... ... @@ -1,0 +1,1 @@
1 +32.7 KB
Content
XWiki.XWikiComments[0]
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.dholt
Comment
... ... @@ -1,0 +1,3 @@
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,0 +1,1 @@
1 +2010-11-26 19:47:32.0
XWiki.XWikiComments[1]
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.probert
Comment
... ... @@ -1,0 +1,3 @@
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,0 +1,1 @@
1 +2010-11-26 20:40:32.0
XWiki.XWikiComments[2]
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.dholt
Comment
... ... @@ -1,0 +1,1 @@
1 +I have updated that section. Thanks Pascal.
Date
... ... @@ -1,0 +1,1 @@
1 +2010-11-26 21:48:35.0
XWiki.XWikiComments[3]
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.tedpet
Comment
... ... @@ -1,0 +1,3 @@
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,0 +1,1 @@
1 +2016-07-01 08:21:16.993