Необъяснимое ArrayStoreException - проблема кода или конфигурации

Я пытаюсь отладить приложение, которое работает должным образом при локальном тестировании на компьютере с Windows XP (версия 5.1 сборка 2600 с пакетом обновления 3) через Websphere Platform 6.1, работающую под управлением Java версии 1.5.

Это приложение создает исключение ArrayStoreException при его развертывании на серверах UNIX (SunOS, версия 5.10) под управлением Java версии 1.5.0_24.

Я склоняюсь к тому, что это проблема конфигурации среды, но (кроме того, что она работает локально), я не могу подтвердить, что это проблема конфигурации.

Ниже приведенысообщения журнала которые были добавлены в код для устранения неполадок. Как отмечено в журналах, код пытается добавитьПрофиль объект массива типаПрофиль, Я не понимаю, почему это не сработает.

CollectionUtility.searchMapmsg = ZZZZZ Пойманный ArrayStoreException ZZZZZ

CollectionUtility.searchMap | msg = ZZZZZ Невозможно добавить элемент списка в массив типа [Lcom.process.im.profile.impl.Profile; ZZZZZ

CollectionUtility.searchMap | msg = ZZZZZ Список [0] является классом com.process.im.profile.impl.Profile, toString () = com.process.im.profile.impl.Profile mId = 4, mLongName = ccounting ZZZZZ

Нижекод Java это вызывает ошибку

public static Object[] searchMap(Map m, Object[] keys, Object[] a)
{
    if (keys != null && a != null)
    {
        List<Object> l = new ArrayList<Object>(keys.length);

        searchMap(m, keys, l, true, null);

        try
        {
            a = l.toArray(a);

        }
        catch (ArrayStoreException eArrayStore)
        {
            Log.warning("CollectionUtility.searchMap", "ZZZZZ Caught ArrayStoreException ZZZZZ", 0);

            if(l==null)
            {
                Log.warning("CollectionUtility.searchMap", "ZZZZZ Core CollectionUtility ZZZZZ null list.", 0);
            }
            else
            {
                for(int i=0; i<l.size(); i++)
                {
                    Object bug = l.get(i);

                    if(bug==null)
                    {
                        Log.warning("CollectionUtility.searchMap", "ZZZZZ List[" + i + "] is null ZZZZZ", 0);
                    }
                    else
                    {
                        if (a!=null && !a.getClass().getName().equals(bug.getClass().getName()))
                        {
                            Log.warning("CollectionUtility.searchMap", "ZZZZZ Unable to add list item to Array of type " + a.getClass().getName() + " ZZZZZ", 0);

                            Log.warning("CollectionUtility.searchMap", "ZZZZZ List[" + i + "] is class " + bug.getClass().getName() + ", toString()=" + bug.toString() + " ZZZZZ", 0);
                        }

                    }
                }
            }

            throw eArrayStore;

        }
    }

    return a;
}

Я знаю, что я могу упустить что-то простое, но я не уверен, что проверить дальше. Если у кого-то из вас есть идеи, пожалуйста, дайте мне знать. Любая помощь очень ценится. Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос