@@ -153,12 +153,14 @@ data:
153
153
# Function to create script for starting a server
154
154
# $1 - Domain UID
155
155
# $2 - Server Name
156
+ # $3 - Flag (only passed for admin server)
156
157
function createStartScript() {
157
158
158
159
nmdir=${DOMAIN_HOME}/servers/$2/nodemgr_home
159
160
stateFile=${DOMAIN_HOME}/servers/$2/data/nodemanager/$2.state
160
161
scriptFile=${nmdir}/startServer.sh
161
162
pyFile=${nmdir}/start-server.py
163
+ argsFile=${nmdir}/set-ms-args.py
162
164
163
165
# Create a script that starts the node manager, then uses wlst to connect
164
166
# to the nodemanager and start the server.
@@ -180,7 +182,14 @@ data:
180
182
echo "Finished waiting for the nodemanager to start"
181
183
182
184
echo "Update JVM arguments"
183
- echo "Arguments=\${USER_MEM_ARGS} -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap \${JAVA_OPTIONS}" >> ${startProp}
185
+ if [ $# -eq 3 ]
186
+ then
187
+ echo "Update JVM arguments for admin server"
188
+ echo "Arguments=\${USER_MEM_ARGS} -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap \${JAVA_OPTIONS}" >> ${startProp}
189
+ else
190
+ echo "Update JVM arguments for managed server"
191
+ wlst.sh ${argsFile} $1 $2 ${startProp}
192
+ fi
184
193
185
194
echo "Start the server"
186
195
wlst.sh -skipWLSModuleScanning ${pyFile}
@@ -208,6 +217,48 @@ data:
208
217
209
218
checkFileExists ${pyFile}
210
219
220
+ # Create a python script to set JVM arguments for managed server.
221
+ # The script and 'EOF' on the following lines must not be indented!
222
+ cat << EOF > ${argsFile}
223
+
224
+ import os
225
+ import sys
226
+ EOF
227
+
228
+ cat /u01/weblogic/read-domain-secret.py >> ${argsFile}
229
+ cat << EOF >> ${argsFile}
230
+
231
+ mem_args=os.environ['USER_MEM_ARGS']
232
+ java_opt=os.environ['JAVA_OPTIONS']
233
+ admin_server=os.environ['ADMIN_NAME']
234
+ admin_port=os.environ['ADMIN_PORT']
235
+
236
+ domain_UID=sys.argv[1]
237
+ server_name=sys.argv[2]
238
+ startup_file=sys.argv[3]
239
+
240
+ adminUrl='t3://' + domain_UID + '-' + admin_server + ':' + admin_port
241
+ dirStr='Servers/managed-server1/ServerStart/' + server_name
242
+
243
+ # Connect to admin server to get startup arguments of this server
244
+ connect(admin_username, admin_password, adminUrl)
245
+ cd(dirStr)
246
+ args=get('Arguments')
247
+ disconnect()
248
+
249
+ f = open(startup_file, 'a')
250
+ s=str("Arguments="+ mem_args + " -XX\:+UnlockExperimentalVMOptions -XX\:+UseCGroupMemoryLimitForHeap " + java_opt )
251
+ if not (args is None):
252
+ s=str(s + " " + args + "\n")
253
+ else:
254
+ s=str(s + "\n")
255
+
256
+ f.write(s)
257
+ f.close()
258
+ EOF
259
+
260
+ checkFileExists ${argsFile}
261
+
211
262
}
212
263
213
264
# Function to create script for stopping a server
@@ -274,7 +325,7 @@ data:
274
325
275
326
# Setup admin server
276
327
createNodeMgrHome %DOMAIN_UID% %ADMIN_SERVER_NAME%
277
- createStartScript %DOMAIN_UID% %ADMIN_SERVER_NAME%
328
+ createStartScript %DOMAIN_UID% %ADMIN_SERVER_NAME% 'admin'
278
329
createStopScript %DOMAIN_UID% %ADMIN_SERVER_NAME%
279
330
280
331
# Create the managed servers
0 commit comments