WLST (встроенный) зависает для нескольких команд без каких-либо ошибок или исключений
У меня установлен простой сервер WebLogic 10.3.6 (localhost, порт 7001), и я пытаюсь работать на этом (Admin-) сервере с WLST, встроенным в код Java.
Примечание. Команды WLST работают, если они используются в интерактивном WLST через командную строку.
Это мой простой скрипт на python:
from java.io import FileInputStream
import java.lang
import os
import string
# this works also in embedded mode:
redirect('./logs/wlst.log')
debug('true')
# this works also in embedded mode:
print "call dumpVariables() ..."
dumpVariables()
print "call readDomain('/opt/WebLogic-TestDomain/TestDomain/')"
# this DOESN'T work in embedded mode, it hangs:
readDomain('/opt/WebLogic-TestDomain/TestDomain/');
# this works also in embedded mode:
print "call ls() ..."
ls()
try:
print "try to connect ..."
# this DOESN'T work in embedded mode, it hangs:
connect('myUsername','foobar1234');
except Exception, e:
print "Error connecting "
print e
dumpStack();
print "this line is never printed"
А это мой фрагмент кода Java:
// ...
public void connect()
{
System.out.println("start connection with interpreter");
interpreter = new WLSTInterpreter();
interpreter.setOut(System.out);
interpreter.setErr(System.err);
System.out.println("call Script");
interpreter.execfile("./lib/connect.py");
System.out.println("this is never printed");
}
// ...
Результат в журнале после запуска кода:
start connection with interpreter
call Script
Debug is now turned on.
call dumpVariables() ...
cmo: null
exitonerror: true
recording: false
call readDomain('/opt/WebLogic-TestDomain/JenkinsTestDomain/')
И тогда ничего не приходит после этого! Нет ошибок, нет исключений, нет выходных.
То же самое, если я закомментирую readDomain
строка: интерпретатор Python проходит через строку "connect(...)
"но потом опять зависает.
Ты хоть представляешь, что здесь происходит? Кажется, код чего-то ждет. Или Admin Server не отвечает. Но почему эти строки работают с интерактивом?
Что я могу сделать, чтобы найти причину? Какие-либо варианты увеличить вывод отладочной информации?