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.

Надеюсь, что это дает некоторую соответствующую информацию для вашего вопроса.

Другие вопросы по тегам