Метод lookup класса InitialContext может возвращать простые типы

Это правило помечает вызовы метода javax.naming.InitialContext.lookup, в которых результат приводится к типу java.lang.String.

В Liberty метод lookup класса javax.naming.InitialContext возвращает объект, чей тип определяется интерпретацией значения, хранящегося в элементе jndiEntry как строковой литерал Java или как простой тип данных. В случае сбоя анализа значения, возвращается буквальное значение в виде строки. В WebSphere traditional простые типы данных возвращаются как строки.

Об этом различии важно помнить при миграции начальной конфигурации JNDI из WebSphere traditional в Liberty. Например, если в WebSphere traditional настроено значение JNDI, равное 100, то приложение будет обрабатывать строку с первоначальным значением "100". В Liberty при наличии следующей записи:

<jndiEntry jndiName=myjndi/initialLimit value= ‘100’ />

Liberty преобразует это значение в целочисленное значение. Для того чтобы в Liberty приложение работало так же, как в WebSphere traditional, запись JNDI необходимо задать как:

<jndiEntry jndiName=myjndi/initialLimit value=‘100’ />

Конфигурация Liberty в файле server.xml, созданном комплектом инструментов миграции для двоичных файлов приложений, содержит записи JNDI для создания строковых значений, позволяющие обеспечить работу приложения в Liberty аналогично WebSphere traditional.

См. раздел документации Использование привязки JNDI для констант из файлов конфигурации сервера.