Что означает NumberFormatException и как я могу решить его? - PullRequest
0 голосов
/ 13 января 2020

Я пишу код на Python / WLST для автоматизации соединения, запуска и остановки управляемых серверов в weblogi c. Я получаю сообщение об ошибке ниже, когда я начинаю Python.

Что означает исключение и как я могу его разрешить?

Инициализация WebLogi c Scripting Tool (WLST) ...

Добро пожаловать в WebLogi c Оболочка сценариев администрирования сервера

Введите help () для получения справки по доступным командам

172.31.138.15: 7001

Подключение к t3: //172.31.138.15: 7001 с именем пользователя weblogi c ...

WLST обнаружил, что RuntimeMBeanServer не включен. Это может произойти, если RuntimeMBeanServer отключен через JMXMBean. Пожалуйста, убедитесь, что этот MBeanServer включен. Онлайн WLST не может функционировать без этого MBeanServer. Это исключение произошло в понедельник 13 января 08:52:50 CET 2020. java .lang.NumberFormatException: для входной строки: "7001"

домен недоступен

код:

- bash

#! /bin/sh

echo $(find /u01/ -name config.xml |grep -v bak| xargs grep -A4 AdminServer | grep listen-address | cut -d'>' -f 2 | cut -d'<' -f 1)

-Python / WLST

import sys
import os
from java.lang import System
import getopt
import time

values = os.popen(str('sh /home/oracle/scripts/wls/adminurl.sh'))
url = str("".join(map(str, values)))
port = ":7001"

adminurl = url.rstrip() + port + "\n"

def connectToDomain():
    try:
        if ServerName != "" or username == "" and password == "" and adminUrl == "":
            print (adminurl)
            connect(userConfigFile='/home/oracle/scripts/wls/userconfig.secure', userKeyFile='/home/oracle/scripts/wls/userkey.secure', url=adminurl, timeout=60000)

[...]

Более того, RuntimeMBeanServer включен в консоли Adminserver

enter image description here

1 Ответ

1 голос
/ 13 января 2020

Может быть вызвано adminurl = url.rstrip() + port + "\n". Попробуйте без \ n.

Объяснение предположения: adminUrl позже может быть разделен на несколько частей символом ":". В этом случае он попытается проанализировать 7001 \ n как int, и, в любом случае, потерпит неудачу в каком-либо методе, таком как java .lang.Integer # parseInt (java .lang.String)

...