1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
|
@echo off
REM Scopes the variables to the current batch file
REM setlocal
rem Preserve values that might contain exclamation marks before
rem enabling delayed expansion
set TDP0=%~dp0
REM setlocal enabledelayedexpansion
REM SCRIPT_DIR=`dirname $SCRIPT_PATH`
REM RABBITMQ_HOME="${SCRIPT_DIR}/.."
set SCRIPT_DIR=%TDP0%
set SCRIPT_NAME=%1
set RABBITMQ_HOME=%SCRIPT_DIR%..
REM If ERLANG_HOME is not defined, check if "erl.exe" is available in
REM the path and use that.
if not defined ERLANG_HOME (
for /f "delims=" %%F in ('where.exe erl.exe') do @set ERL_PATH=%%F
if exist "!ERL_PATH!" (
for /f "delims=" %%F in ("!ERL_PATH!") do set ERL_DIRNAME=%%~dpF
for /f "delims=" %%F in ('realpath "!ERL_DIRNAME!\.."') do @set ERLANG_HOME=%%F
)
set ERL_PATH=
set ERL_DIRNAME=
)
REM ## Set defaults
REM . ${SCRIPT_DIR}/rabbitmq-defaults
call "%SCRIPT_DIR%\rabbitmq-defaults.bat"
REM These common defaults aren't referenced in the batch scripts
REM ## Common defaults
REM SERVER_ERL_ARGS="+P 1048576"
REM
REM # warn about old rabbitmq.conf file, if no new one
REM if [ -f /etc/rabbitmq/rabbitmq.conf ] && \
REM [ ! -f ${CONF_ENV_FILE} ] ; then
REM echo -n "WARNING: ignoring /etc/rabbitmq/rabbitmq.conf -- "
REM echo "location has moved to ${CONF_ENV_FILE}"
REM fi
REM ERL_ARGS aren't referenced in the batch scripts
REM Common defaults
REM set SERVER_ERL_ARGS=+P 1048576
REM ## Get configuration variables from the configure environment file
REM [ -f ${CONF_ENV_FILE} ] && . ${CONF_ENV_FILE} || true
if exist "!RABBITMQ_CONF_ENV_FILE!" (
call "!RABBITMQ_CONF_ENV_FILE!"
)
REM Check for the short names here too
if "!RABBITMQ_USE_LONGNAME!"=="" (
if "!USE_LONGNAME!"=="" (
set RABBITMQ_NAME_TYPE="-sname"
)
)
if "!RABBITMQ_USE_LONGNAME!"=="true" (
if "!USE_LONGNAME!"=="true" (
set RABBITMQ_NAME_TYPE="-name"
)
)
if "!COMPUTERNAME!"=="" (
set COMPUTERNAME=localhost
)
REM [ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME}
if "!RABBITMQ_NODENAME!"=="" (
if "!NODENAME!"=="" (
set RABBITMQ_NODENAME=rabbit@!COMPUTERNAME!
) else (
set RABBITMQ_NODENAME=!NODENAME!
)
)
REM
REM ##--- Set environment vars RABBITMQ_<var_name> to defaults if not set
REM
REM DEFAULT_NODE_IP_ADDRESS=auto
REM DEFAULT_NODE_PORT=5672
REM [ "x" = "x$RABBITMQ_NODE_IP_ADDRESS" ] && RABBITMQ_NODE_IP_ADDRESS=${NODE_IP_ADDRESS}
REM [ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_PORT=${NODE_PORT}
REM [ "x" = "x$RABBITMQ_NODE_IP_ADDRESS" ] && [ "x" != "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_IP_ADDRESS=${DEFAULT_NODE_IP_ADDRESS}
REM [ "x" != "x$RABBITMQ_NODE_IP_ADDRESS" ] && [ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_PORT=${DEFAULT_NODE_PORT}
REM if "!RABBITMQ_NODE_IP_ADDRESS!"=="" (
REM if not "!RABBITMQ_NODE_PORT!"=="" (
REM set RABBITMQ_NODE_IP_ADDRESS=auto
REM )
REM ) else (
REM if "!RABBITMQ_NODE_PORT!"=="" (
REM set RABBITMQ_NODE_PORT=5672
REM )
REM )
if "!RABBITMQ_NODE_IP_ADDRESS!"=="" (
if not "!NODE_IP_ADDRESS!"=="" (
set RABBITMQ_NODE_IP_ADDRESS=!NODE_IP_ADDRESS!
)
)
if "!RABBITMQ_NODE_PORT!"=="" (
if not "!NODE_PORT!"=="" (
set RABBITMQ_NODE_PORT=!NODE_PORT!
)
)
if "!RABBITMQ_NODE_IP_ADDRESS!"=="" (
if not "!RABBITMQ_NODE_PORT!"=="" (
set RABBITMQ_NODE_IP_ADDRESS=auto
)
) else (
if "!RABBITMQ_NODE_PORT!"=="" (
set RABBITMQ_NODE_PORT=5672
)
)
REM [ "x" = "x$RABBITMQ_DIST_PORT" ] && RABBITMQ_DIST_PORT=${DIST_PORT}
REM [ "x" = "x$RABBITMQ_DIST_PORT" ] && [ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_DIST_PORT=$((${DEFAULT_NODE_PORT} + 20000))
REM [ "x" = "x$RABBITMQ_DIST_PORT" ] && [ "x" != "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_DIST_PORT=$((${RABBITMQ_NODE_PORT} + 20000))
if "!RABBITMQ_DIST_PORT!"=="" (
if "!DIST_PORT!"=="" (
if "!RABBITMQ_NODE_PORT!"=="" (
set RABBITMQ_DIST_PORT=25672
) else (
set /a RABBITMQ_DIST_PORT=20000+!RABBITMQ_NODE_PORT!
)
) else (
set RABBITMQ_DIST_PORT=!DIST_PORT!
)
)
REM [ "x" = "x$RABBITMQ_SERVER_ERL_ARGS" ] && RABBITMQ_SERVER_ERL_ARGS=${SERVER_ERL_ARGS}
REM No Windows equivalent
REM [ "x" = "x$RABBITMQ_CONFIG_FILE" ] && RABBITMQ_CONFIG_FILE=${CONFIG_FILE}
if "!RABBITMQ_CONFIG_FILE!"=="" (
if "!CONFIG_FILE!"=="" (
set RABBITMQ_CONFIG_FILE=!RABBITMQ_BASE!\rabbitmq
) else (
set RABBITMQ_CONFIG_FILE=!CONFIG_FILE!
)
)
REM [ "x" = "x$RABBITMQ_LOG_BASE" ] && RABBITMQ_LOG_BASE=${LOG_BASE}
if "!RABBITMQ_LOG_BASE!"=="" (
if "!LOG_BASE!"=="" (
set RABBITMQ_LOG_BASE=!RABBITMQ_BASE!\log
) else (
set RABBITMQ_LOG_BASE=!LOG_BASE!
)
)
REM [ "x" = "x$RABBITMQ_MNESIA_BASE" ] && RABBITMQ_MNESIA_BASE=${MNESIA_BASE}
if "!RABBITMQ_MNESIA_BASE!"=="" (
if "!MNESIA_BASE!"=="" (
set RABBITMQ_MNESIA_BASE=!RABBITMQ_BASE!\db
) else (
set RABBITMQ_MNESIA_BASE=!MNESIA_BASE!
)
)
REM [ "x" = "x$RABBITMQ_SERVER_START_ARGS" ] && RABBITMQ_SERVER_START_ARGS=${SERVER_START_ARGS}
REM No Windows equivalent
REM [ "x" = "x$RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS" ] && RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=${SERVER_ADDITIONAL_ERL_ARGS}
REM No Windows equivalent
REM [ "x" = "x$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${MNESIA_DIR}
REM [ "x" = "x$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME}
if "!RABBITMQ_MNESIA_DIR!"=="" (
if "!MNESIA_DIR!"=="" (
set RABBITMQ_MNESIA_DIR=!RABBITMQ_MNESIA_BASE!\!RABBITMQ_NODENAME!-mnesia
) else (
set RABBITMQ_MNESIA_DIR=!MNESIA_DIR!
)
)
REM [ "x" = "x$RABBITMQ_PID_FILE" ] && RABBITMQ_PID_FILE=${PID_FILE}
REM [ "x" = "x$RABBITMQ_PID_FILE" ] && RABBITMQ_PID_FILE=${RABBITMQ_MNESIA_DIR}.pid
REM No Windows equivalent
REM [ "x" = "x$RABBITMQ_BOOT_MODULE" ] && RABBITMQ_BOOT_MODULE=${BOOT_MODULE}
if "!RABBITMQ_BOOT_MODULE!"=="" (
if "!BOOT_MODULE!"=="" (
set RABBITMQ_BOOT_MODULE=rabbit
) else (
set RABBITMQ_BOOT_MODULE=!BOOT_MODULE!
)
)
REM [ "x" = "x$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR=${PLUGINS_EXPAND_DIR}
REM [ "x" = "x$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME}-plugins-expand
if "!RABBITMQ_PLUGINS_EXPAND_DIR!"=="" (
if "!PLUGINS_EXPAND_DIR!"=="" (
set RABBITMQ_PLUGINS_EXPAND_DIR=!RABBITMQ_MNESIA_BASE!\!RABBITMQ_NODENAME!-plugins-expand
) else (
set RABBITMQ_PLUGINS_EXPAND_DIR=!PLUGINS_EXPAND_DIR!
)
)
REM [ "x" = "x$RABBITMQ_ENABLED_PLUGINS_FILE" ] && RABBITMQ_ENABLED_PLUGINS_FILE=${ENABLED_PLUGINS_FILE}
if "!RABBITMQ_ENABLED_PLUGINS_FILE!"=="" (
if "!ENABLED_PLUGINS_FILE!"=="" (
set RABBITMQ_ENABLED_PLUGINS_FILE=!RABBITMQ_BASE!\enabled_plugins
) else (
set RABBITMQ_ENABLED_PLUGINS_FILE=!ENABLED_PLUGINS_FILE!
)
) else (
set RABBITMQ_ENABLED_PLUGINS_FILE_source=environment
)
REM [ "x" = "x$RABBITMQ_PLUGINS_DIR" ] && RABBITMQ_PLUGINS_DIR=${PLUGINS_DIR}
if "!RABBITMQ_PLUGINS_DIR!"=="" (
if "!PLUGINS_DIR!"=="" (
set RABBITMQ_PLUGINS_DIR=!RABBITMQ_BASE!\plugins
) else (
set RABBITMQ_PLUGINS_DIR=!PLUGINS_DIR!
)
) else (
set RABBITMQ_PLUGINS_DIR_source=environment
)
REM ## Log rotation
REM [ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS=${LOGS}
REM [ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}.log"
if "!RABBITMQ_LOGS!"=="" (
if "!LOGS!"=="" (
set RABBITMQ_LOGS=!RABBITMQ_LOG_BASE!\!RABBITMQ_NODENAME!.log
) else (
set RABBITMQ_LOGS=!LOGS!
)
)
REM [ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS=${SASL_LOGS}
REM [ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}-sasl.log"
if "!RABBITMQ_SASL_LOGS!"=="" (
if "!SASL_LOGS!"=="" (
set RABBITMQ_SASL_LOGS=!RABBITMQ_LOG_BASE!\!RABBITMQ_NODENAME!-sasl.log
) else (
set RABBITMQ_SASL_LOGS=!SASL_LOGS!
)
)
REM [ "x" = "x$RABBITMQ_CTL_ERL_ARGS" ] && RABBITMQ_CTL_ERL_ARGS=${CTL_ERL_ARGS}
if "!$RABBITMQ_CTL_ERL_ARGS!"=="" (
if not "!CTL_ERL_ARGS!"=="" (
set RABBITMQ_CTL_ERL_ARGS=!CTL_ERL_ARGS!
)
)
REM ADDITIONAL WINDOWS ONLY CONFIG ITEMS
REM rabbitmq-plugins.bat
REM if "!RABBITMQ_SERVICENAME!"=="" (
REM set RABBITMQ_SERVICENAME=RabbitMQ
REM )
if "!RABBITMQ_SERVICENAME!"=="" (
if "!SERVICENAME!"=="" (
set RABBITMQ_SERVICENAME=RabbitMQ
) else (
set RABBITMQ_SERVICENAME=!SERVICENAME!
)
)
REM Development-specific environment.
if defined RABBITMQ_DEV_ENV (
if "!SCRIPT_NAME!" == "rabbitmq-plugins" (
REM We may need to query the running node for the plugins directory
REM and the "enabled plugins" file.
if not "%RABBITMQ_PLUGINS_DIR_source%" == "environment" (
for /f "delims=" %%F in ('!SCRIPT_DIR!\rabbitmqctl eval "{ok, P} = application:get_env(rabbit, plugins_dir), io:format(""~s~n"", [P])."') do @set plugins_dir=%%F
if exist "!plugins_dir!" (
set RABBITMQ_PLUGINS_DIR=!plugins_dir!
)
REM set plugins_dir=
)
if not "%RABBITMQ_ENABLED_PLUGINS_FILE_source%" == "environment" (
for /f "delims=" %%F in ('!SCRIPT_DIR!\rabbitmqctl eval "{ok, P} = application:get_env(rabbit, enabled_plugins_file), io:format(""~s~n"", [P])."') do @set enabled_plugins_file=%%F
if exist "!enabled_plugins_file!" (
set RABBITMQ_ENABLED_PLUGINS_FILE=!enabled_plugins_file!
)
REM set enabled_plugins_file=
)
)
if exist "!RABBITMQ_PLUGINS_DIR!" (
REM RabbitMQ was started with "make run-broker" from its own
REM source tree. Take rabbit_common from the plugins directory.
set ERL_LIBS=!RABBITMQ_PLUGINS_DIR!;!ERL_LIBS!
) else (
REM RabbitMQ runs from a testsuite or a plugin. The .ez files are
REM not available under RabbitMQ source tree. We need to look at
REM $DEPS_DIR and default locations.
if not "!DEPS_DIR!" == "" (
if exist "!DEPS_DIR!\rabbit_common\ebin" (
REM $DEPS_DIR is set, and it contains rabbitmq-common, use
REM this.
set DEPS_DIR_norm=!DEPS_DIR!
) else (
if exist "!SCRIPT_DIR!\..\..\..\erlang.mk" (
if exist "!SCRIPT_DIR!\..\..\rabbit_common\ebin" (
REM Look at default locations: "deps" subdirectory
REM inside a plugin or the Umbrella.
set DEPS_DIR_norm=!SCRIPT_DIR!\..\..
)
)
)
)
for /f "delims=" %%F in ('realpath "!DEPS_DIR_norm!"') do @set DEPS_DIR_norm=%%F
set ERL_LIBS=!DEPS_DIR_norm!;!ERL_LIBS!
)
) else (
if exist "!RABBITMQ_PLUGINS_DIR!" (
REM RabbitMQ was started from its install directory. Take
REM rabbit_common from the plugins directory.
set ERL_LIBS=!RABBITMQ_PLUGINS_DIR!;!ERL_LIBS!
)
)
if "!ERL_LIBS!" == ";" (
set ERL_LIBS=
)
REM ##--- End of overridden <var_name> variables
REM
REM # Since we source this elsewhere, don't accidentally stop execution
REM true
|