Liferay: Разница между DLFileEntryLocalServiceUtil и DLAppLocalServiceUtil?
В чем разница между этими услугами?
DLFileEntryLocalServiceUtil
а также
DLAppLocalServiceUtil
Когда мы должны использовать один, а когда другой? Является ли DLAppLocal новым интерфейсом в Liferay 6.1, который препятствует старому DLFileEntry для кода уровня приложения?
1 ответ
В чем разница между этими услугами
DLFileEntryLocalServiceUtil
а такжеDLAppLocalServiceUtil
?
DLFileEntry
услуги и DLFolderEntry
Сервисы специально предназначены для хранения записей файлов и папок в базе данных liferay и совершенно не знают о новой концепции репозитория, представленной в 6.1. Руководство пользователя и эта вики объясняют, как добавить новый репозиторий.
Были как DLApp
(DLAppService
& DLAppLocalService
) службы принимают во внимание эти вещи, т.е. говорят, что они заботятся о синхронизации документов между базой данных liferay и другими репозиториями, а не просто сохраняют записи в базе данных Liferay.
Документация для класса DLAppServiceImpl
объясняет все это (это почти то же самое для DLAppLocalServiceImpl
), выдержка из документации:
Локальная служба библиотеки документов. Все портлеты должны взаимодействовать с библиотекой документов через этот класс или через DLAppServiceImpl, а не через отдельные классы обслуживания библиотеки документов.
Этот класс предоставляет унифицированный интерфейс для всех Liferay и сторонних репозиториев. Пока подписи метода универсальны для всех репозиториев. Дополнительные специфичные для реализации параметры могут быть указаны в serviceContext.
repositoryId
Параметр, используемый большинством методов, является первичным ключом конкретного репозитория. Если репозиторий является репозиторием Liferay по умолчанию,repositoryId
этоgroupId
или жеscopeGroupId
, В противном случае, repositoryId будет соответствовать значениям, полученным изRepositoryLocalServiceUtil
,
Является ли DLAppLocal новым интерфейсом в Liferay 6.1?
да
что препятствует старому DLFileEntry для кода уровня приложения?
В некотором смысле да, обратитесь к приведенному выше объяснению. DlAppLocalServices
гораздо лучше использовать, так как его область намного больше, чем отдельные службы документов. Тем не менее, если вы хотите использовать эти интерфейсы для хранения документов и мультимедиа из своего собственного портлета подключаемого модуля, вы можете использовать их, я не думаю, что это должно быть проблемой, поскольку даже DlAppLocalServices
также внутренне использует отдельные службы документов для хранения в репозитории liferay.
Надеюсь, что это дает некоторую соответствующую информацию для вашего вопроса.