powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / вопросы по JCR, Apache Jackrabbit
4 сообщений из 4, страница 1 из 1
вопросы по JCR, Apache Jackrabbit
    #37701842
slippery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, начал изучения JCR и его опенсорс реализацию Apache Jackrabbit.
Apache Jackrabbit заупустил как standalone сервер. Также увидел фрэймворк OCM , очень заинтересовала возможность работы по принципу ORM. Далее создал классический иерархии, папка(nt:folder), файл(nt:file), ресурс(nt:resource) . Подкючилcя по РМИ к хранилищу, создал OCM менеджер и попробовал добавить папку как получил забавный эксепшен: NoSuchNodeTypeException: { http://jackrabbit.apache.org/ocm}discriminator . Как я понял этот эксепшен говорит о том, что хранилищу не хватает стандартного типа discriminator . Причем как я понял добавить тип по РМИ нельзя, а только настройкой сервера, отсюда и появились следующие вопросы:
1.Зачем вообще нужен этот тип и почему его нет по дефолту?
2.Как мне добавить его к хранилищу и будущие уже мои типы с учетом того, что хранилище это standalone приложение которое будет крутится на другой машине.
3.Как я понял безопасность к данному хранилищу прикручивается с помощью ACL , можете объяснить в чем главная суть или дать ссылки на работающие примеры. Так же возможно есть лучше способ давать доступ к разным узлам в дереве конкретным пользователям? Также уточню, что хочется использовать OCM фрэймворк, а не чистый апи по созданию узлов, поэтому как ACL или что-то там подружить с OCM ?
4.Есть ли русскоязычная документация или хорошие примеры по JCR и Jackrabbit в частности, а то что-то погуглив информации мало.
5.Стоит ли вообще использовать JCR и Jackrabbit в качестве хранилища разнообразных файлов в проекте. Ибо за один день поднять чтоб сразу заработало у меня не получилось. Может есть вещи с такой же функциональность, но проще или современней. Из функциональности нужно возможность хранить иерархический структуры, а также html чтоб поддерживалась относительная с сылочность, возможность их просмотр через браузер по http. Возможность хранить большие много гигабайтные файлы. Возможность раздать права. Версионность, кластеизация, стабильность и т.д.
Заранее благодарен
...
Рейтинг: 0 / 0
вопросы по JCR, Apache Jackrabbit
    #37701844
slippery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
6. Также интересует транзактивность, причем как я понимаю так как это отдельное приложения то уже надо говорить о распределенных XA транзакциях, может у кого примеры есть или укажет что почитать?
...
Рейтинг: 0 / 0
вопросы по JCR, Apache Jackrabbit
    #37701887
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slippery,

а можно пример кода, который кидает exception? Я года 1.5 назад разбирался с JCR и даже пробовал использовать, штука очень хорошая и идея достаточно светлая. Но в нашем проекте мы не стали использовать, ушли на СУБД так как много специфичных вещей понадобилось, а вообще JCR применяется в кучи проектах с документооборотом.
...
Рейтинг: 0 / 0
вопросы по JCR, Apache Jackrabbit
    #37703049
slippery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GregTk,

@Node(jcrType = "nt:folder")
public class FolderNode extends HierarchyNode implements Serializable {
@Collection(autoUpdate = false, elementClassName = HierarchyNode.class,
collectionConverter = NTCollectionConverterImpl.class)
private java.util.Collection children;
..........................................................................................................

@Node(jcrType = "nt:file", extend = HierarchyNode.class,
jcrMixinTypes = "mix:versionable,mix:lockable")
public class FileNode extends HierarchyNode implements Serializable {

@Bean(jcrName = "jcr:content")
private Resource resource;

@Field(id = true)
private String name
..........................................................................................................

@Node(jcrType = "nt:hierarchyNode")
public class HierarchyNode implements Serializable
..........................................................................................................

@Node(jcrType = "nt:resource")
public class Resource implements Serializable


ну и простой способ вставки:

Mapper mapper = new AnnotationMapperImpl(classes);
ObjectContentManager ocm = new ObjectContentManagerImpl(session, mapper);

Resource resource = new Resource();
resource.setData(new FileInputStream(file));
resource.setMimeType("image/jpeg");
resource.setLastModified(Calendar.getInstance());

FileNode fileNode = new FileNode();
fileNode.setName("test");
fileNode.setResource(resource);
fileNode.setPath("/rep/test.jpg");

FolderNode folderNode = new FolderNode();

List<FileNode> files = new ArrayList<>();
files.add(fileNode);

folderNode.setChildren(files);

folderNode.setPath("/rep");

ocm.insert(folderNode);
ocm.save();


на что получаю ошибку: NoSuchNodeTypeException: { http://jackrabbit.apache.org/ocm}discriminator
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / вопросы по JCR, Apache Jackrabbit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]