Я установил 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>
Привет @Patriot, да, я понял это, пожалуйста, проверьте комментарии к первому ответу, у меня также есть ссылка после помощи Ducaz035





Что-то не так с конфигурацией зайца. Я предполагаю, что вы уже изменили файл magnolia.properties, чтобы использовать jackrabbit-bundle-oracle-search.xml. Если это не так, пожалуйста, измените его. Еще нужно иметь в виду проверить порог для DataStore (обычно двоичные файлы хранятся в другом месте, если они превышают определенный порог), возможно, это ваш случай. Однако, если и то, и другое не так, лучше всего скопировать сюда конфигурацию, с которой у вас возникли проблемы.
Надеюсь, это поможет,
Ваше здоровье,
спасибо Ducaz035 за ваш ответ. да, я изменил порог размера файла, который идет в хранилище данных, но ничего. Я включил файл xml в вопрос выше, чтобы вы могли его увидеть. Может это стоит сделать на свежем экземпляре? Еще раз спасибо
Можете ли вы изменить LocalFileSystem на OracleFileSystem и FileDataStore на DbDataStore?
Также очевидно, что существуют две разные версии OraclePersistenceManager. Если вы используете версию до 10, мы должны использовать Oracle9PersistenceManager.
эй, после вашего совета, я проверил пакеты, которые имели отношение к OracleFileSystem и FileDataStore, и, похоже, в некоторых таблицах есть некоторая настойчивость :) некоторые другие нет, но я должен проверить cms в целом сейчас. спасибо большое Ducaz035 вот ссылка если кому интересно jackrabbit.apache.org/api/2.12/index.html?org/apache/jackrab bit /…
То же самое, со мной происходит на оракуле mysql. Удалось ли вам когда-нибудь узнать, почему он создает только таблицы, но не сохраняет данные?