Магнолия Cms Oracle Persistence

Я установил magnolia cms версии 5.7 и хотел, чтобы база данных оракула сохранялась. Перед запуском экземпляра magnolia я обновил соответствующие файлы конфигурации и включил драйверы Oracle db. При запуске экземпляра с помощью команды «mgnl start» таблицы были созданы в базе данных.

Но когда я создаю новый контент в cms (например, пользователи, контакты), данные не сохраняются в базе данных, но каким-то образом продолжают сохраняться через derby.jar.

Любая помощь будет оценена по достоинству.

заранее спасибо

ниже вы найдете пакет oracle xml, который также установлен в файле magnolia.properties

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN" "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
<Repository>
  <DataSources>
    <DataSource name = "magnolia">
      <param name = "driver" value = "oracle.jdbc.OracleDriver" />
      <param name = "url" value = "jdbc:oracle:thin:@127.0.0.1:1521:xe" /><!-- jdbc:oracle:thin:@localhost:1521:xe -->
      <param name = "user" value = "magnolia" />
      <param name = "password" value = "magnolia" />
      <param name = "databaseType" value = "oracle"/>
      <param name = "validationQuery" value = "select 1 from dual"/>
    </DataSource>
  </DataSources>
  <FileSystem class = "org.apache.jackrabbit.core.fs.local.LocalFileSystem">
     <param name = "path" value = "${rep.home}/repository" />
  </FileSystem>
  <Security appName = "magnolia">
    <SecurityManager class = "org.apache.jackrabbit.core.DefaultSecurityManager"/>
    <AccessManager class = "org.apache.jackrabbit.core.security.DefaultAccessManager">
    </AccessManager>
    <!-- login module defined here is used by the repo to authenticate every request. not by the webapp to authenticate user against the webapp context (this one has to be passed before thing here gets invoked -->
    <LoginModule class = "info.magnolia.jaas.sp.jcr.JackrabbitAuthenticationModule">
    </LoginModule>
  </Security>
  <DataStore class = "org.apache.jackrabbit.core.data.FileDataStore">
    <param name = "path" value = "${rep.home}/repository/datastore"/>
    <param name = "minRecordLength" value = "32000"/>
  </DataStore>
  <Workspaces rootPath = "${rep.home}/workspaces" defaultWorkspace = "default" />
  <Workspace name = "default">
    <FileSystem class = "org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <param name = "path" value = "${wsp.home}/default" />
    </FileSystem>
    <PersistenceManager class = "org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager">
      <param name = "driver" value = "oracle.jdbc.OracleDriver"/>
      <param name = "url" value = "jdbc:oracle:thin:@127.0.0.1:1521:xe"/>
      <param name = "schema" value = "oracle" /> 
      <param name = "databaseType" value = "oracle" />
      <param name = "user" value = "magnolia"/>
      <param name = "password" value = "magnolia"/>
      <param name = "schemaObjectPrefix" value = "${wsp.name}_"/><!-- read notes below to set this value properly -->
      <param name = "externalBLOBs" value = "false"/>
    </PersistenceManager>
    <SearchIndex class = "info.magnolia.jackrabbit.lucene.SearchIndex">
      <param name = "path" value = "${wsp.home}/index" />
      <!-- SearchIndex will get the indexing configuration from the classpath, if not found in the workspace home -->
      <param name = "indexingConfiguration" value = "/info/magnolia/jackrabbit/indexing_configuration_${wsp.name}.xml"/>
      <param name = "useCompoundFile" value = "true" />
      <param name = "minMergeDocs" value = "100" />
      <param name = "volatileIdleTime" value = "3" />
      <param name = "maxMergeDocs" value = "100000" />
      <param name = "mergeFactor" value = "10" />
      <param name = "maxFieldLength" value = "10000" />
      <param name = "bufferSize" value = "10" />
      <param name = "cacheSize" value = "1000" />
      <param name = "forceConsistencyCheck" value = "false" />
      <param name = "autoRepair" value = "true" />
      <param name = "queryClass" value = "org.apache.jackrabbit.core.query.QueryImpl" />
      <param name = "respectDocumentOrder" value = "true" />
      <param name = "resultFetchSize" value = "100" />
      <param name = "extractorPoolSize" value = "3" />
      <param name = "extractorTimeout" value = "100" />
      <param name = "extractorBackLogSize" value = "100" />
      <!-- needed to highlight the searched term -->
      <param name = "supportHighlighting" value = "true"/>
      <!-- custom provider for getting an HTML excerpt in a query result with rep:excerpt() -->
      <param name = "excerptProviderClass" value = "info.magnolia.jackrabbit.lucene.SearchHTMLExcerpt"/>
    </SearchIndex>
    <WorkspaceSecurity>
      <AccessControlProvider class = "info.magnolia.cms.core.MagnoliaAccessProvider" />
    </WorkspaceSecurity>
  </Workspace>
  <Versioning rootPath = "${rep.home}/version">
    <FileSystem class = "org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <param name = "path" value = "${rep.home}/workspaces/version" />
    </FileSystem>
    <PersistenceManager class = "org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager">
      <param name = "driver" value = "oracle.jdbc.OracleDriver"/>
      <param name = "url" value = "jdbc:oracle:thin:@127.0.0.1:1521:xe"/>
      <param name = "schema" value = "oracle" /> 
      <param name = "databaseType" value = "oracle" />
      <param name = "user" value = "magnolia"/>
      <param name = "password" value = "magnolia"/>
      <param name = "schemaObjectPrefix" value = "version_"/><!-- read notes below to set this value properly -->
      <param name = "externalBLOBs" value = "false"/>
    </PersistenceManager>
  </Versioning>
</Repository>

То же самое, со мной происходит на оракуле mysql. Удалось ли вам когда-нибудь узнать, почему он создает только таблицы, но не сохраняет данные?

Patriot 07.04.2020 21:33

Привет @Patriot, да, я понял это, пожалуйста, проверьте комментарии к первому ответу, у меня также есть ссылка после помощи Ducaz035

gman 10.04.2020 09:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
318
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что-то не так с конфигурацией зайца. Я предполагаю, что вы уже изменили файл magnolia.properties, чтобы использовать jackrabbit-bundle-oracle-search.xml. Если это не так, пожалуйста, измените его. Еще нужно иметь в виду проверить порог для DataStore (обычно двоичные файлы хранятся в другом месте, если они превышают определенный порог), возможно, это ваш случай. Однако, если и то, и другое не так, лучше всего скопировать сюда конфигурацию, с которой у вас возникли проблемы.

Надеюсь, это поможет,

Ваше здоровье,

спасибо Ducaz035 за ваш ответ. да, я изменил порог размера файла, который идет в хранилище данных, но ничего. Я включил файл xml в вопрос выше, чтобы вы могли его увидеть. Может это стоит сделать на свежем экземпляре? Еще раз спасибо

gman 23.08.2018 22:59

Можете ли вы изменить LocalFileSystem на OracleFileSystem и FileDataStore на DbDataStore?

Ducaz035 24.08.2018 11:05

Также очевидно, что существуют две разные версии OraclePersistenceManager. Если вы используете версию до 10, мы должны использовать Oracle9PersistenceManager.

Ducaz035 24.08.2018 11:10

эй, после вашего совета, я проверил пакеты, которые имели отношение к OracleFileSystem и FileDataStore, и, похоже, в некоторых таблицах есть некоторая настойчивость :) некоторые другие нет, но я должен проверить cms в целом сейчас. спасибо большое Ducaz035 вот ссылка если кому интересно jackrabbit.apache.org/api/2.12/index.html?org/apache/jackrab‌ bit /…

gman 24.08.2018 13:54

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