#ftp #alfresco #fileserver
#ftp #на свежем воздухе #файловый сервер
Вопрос:
Я использую Alfresco 3.4.11 enterprise edition. Последние пару недель мой сервер Alfresco безупречно отключался. Я видел журналы ошибок ниже
19:54:54,353 DEBUG [org.alfresco.fileserver] [FTP] FTP session request received from 10.118.xx.xx
19:55:00,353 ERROR [org.alfresco.fileserver] java.lang.ArrayIndexOutOfBoundsException: -1
java.lang.ArrayIndexOutOfBoundsException: -1
at org.alfresco.jlan.ftp.FTPSrvSession.getNextCommand(FTPSrvSession.java:4381)
at org.alfresco.jlan.ftp.FTPSrvSession.run(FTPSrvSession.java:4851)
at java.lang.Thread.run(Thread.java:662)
19:55:00,353 DEBUG [org.alfresco.fileserver] [FTP] FTP session request received from 10.118.xx.xx.
Похоже, это проблемы с FTP, но я не могу найти решение для этого.
Комментарии:
1. Не могли бы вы показать нам больше журнала?
2. Попробуйте обновить alfresco-jlan-embed-x.y.jar возможно, эта проблема уже решена. Вы можете загрузить эту библиотеку с artifacts.alfresco.com/nexus/content/repositories/releases/org /…
3. Кроме того, говоря об обновлениях, 3.4.11 невероятно древний. Я знаю, что сейчас, вероятно, не самое подходящее время, но, пожалуйста, рассмотрите возможность обновления в ближайшее время.
Ответ №1:
Проверьте FTPSrvSession.java:4381. Здесь у вас есть ArrayIndexOutOfBoundsException
, поскольку вы пытались использовать значение, расположенное на -1, в то время как допустимые индексы начинаются с 0.
Похоже, что у вас есть массив, который вы пытаетесь использовать length() - 1
, и массив пуст, содержит 0 элементов, поэтому результат равен -1. Попробуйте обернуть все в if
, где вы проверяете, не является ли массив пустым. Если это так, сделайте все, что вы делали до сих пор. Если нет, то в else
вам нужно обработать случай, когда массив пуст.