Данные не сохраняются в ModeShape 3.8

Недавно я начал работать над проектом с использованием ModeShape 3.8 и Infinispan 5.3. Оригинальный разработчик уже остался без какой-либо документации. Приложение работает нормально, если оно не перезапущено. Все данные были потеряны, как только он выключен. Может быть какое-то временное хранилище, но не уверен.

В pom.xml

  1. modeshape-JCR
  2. modeshape-JCR-апи
  3. modeshape-схематический
  4. modeshape-бом встраиваемый
  5. infinispan-жильный

В репо.json

{
   "name":"repo",
   "workspaces":{
      "default":"default",
      "allowCreation":true
   },
    "security":{"providers" : [
            {
                "name" : "Custom Provider",
                "classname" : "security.CustomRepoAuthProvider"
            }
        ]
      },
   "storage":{
      "cacheConfiguration":"/conf/infinispan-conf.xml",
      "cacheName":"filesystem"
   }
}

В infinispan-conf.xml

http://www.infinispan.org/schemas/infinispan-config-5.3.xsd ">

<global>
    <globalJmxStatistics enabled="false" allowDuplicateDomains="true"/>
</global>
<namedCache name="filesystem">
    <transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.GenericTransactionManagerLookup" transactionMode="TRANSACTIONAL" lockingMode="OPTIMISTIC"/>
    <loaders passivation="false" shared="false" preload="true">
        <fileStore fetchPersistentState="true" purgerThreads="3" purgeSynchronously="true" ignoreModifications="false" purgeOnStartup="false" location="/lfs/enve/apps/tomcat/temp/">
            <async enabled="true" flushLockTimeout="15000" threadPoolSize="5" />
            <singletonStore enabled="true" pushStateWhenCoordinator="true" pushStateTimeout="20000" />
        </fileStore>
    </loaders>
</namedCache>

Любое тело поможет мне???

2 ответа

Решение

В infinispan-conf.xml внесены следующие изменения

http://www.infinispan.org/schemas/infinispan-config-5.3.xsd">

    <global>
        <globalJmxStatistics enabled="false" allowDuplicateDomains="true"/>
    </global>
    <namedCache name="filesystem">
        <locking isolationLevel="READ_COMMITTED"/>
        <transaction
                transactionManagerLookupClass="org.infinispan.transaction.lookup.GenericTransactionManagerLookup"
                transactionMode="TRANSACTIONAL"
                lockingMode="PESSIMISTIC"/>
        <loaders
                passivation="false"
                shared="false"
                preload="true">
            <loader
                    class="org.infinispan.loaders.file.FileCacheStore"
                    fetchPersistentState="true"
                    ignoreModifications="false"
                    purgeOnStartup="false">
                <properties>
                    <property name="location" value="/lfs/envd/apps/tomcat/temp/"/>
                </properties>
            </loader>
        </loaders>
    </namedCache>   

Ваше хранилище файлов пишет в "/lfs/enve/apps/tomcat/temp/"

Я предполагаю, что вы удаляете временную директорию при перезапуске tomcat. Вы должны обязательно записать его в более "постоянный" каталог.

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