...
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--Standard-->
<bean name="org.fcrepo.server.storage.lowlevel.ILowlevelStorage"
class="org.fcrepo.server.storage.lowlevel.akubra.AkubraLowlevelStorageModule">
<constructor-arg index="0">
<map/>
</constructor-arg>
<constructor-arg index="1" ref="org.fcrepo.server.Server"/>
<constructor-arg index="2" type="java.lang.String"
value="org.fcrepo.server.storage.lowlevel.ILowlevelStorage"/>
<property name="impl"
ref="org.fcrepo.server.storage.lowlevel.akubra.AkubraLowlevelStorage"/>
</bean>
<bean
name="org.fcrepo.server.storage.lowlevel.akubra.AkubraLowlevelStorage"
class="org.fcrepo.server.storage.lowlevel.akubra.AkubraLowlevelStorage"
singleton="true">
<constructor-arg>
<description>The store of serialized Fedora objects</description>
<ref bean="tapeObjectStore"/>
<!--Here we reference our tape system-->
</constructor-arg>
<constructor-arg>
<description>The store of datastream content</description>
<ref bean="datastreamStore"/>
</constructor-arg>
<constructor-arg value="false"><!--This is set to false, as we do not ever delete stuff-->
<description>if true, replaceObject calls will be done in a way
that
ensures the old content is not deleted until the new content is safely
written. If the objectStore already does this, this should be
given as
false
</description>
</constructor-arg>
<constructor-arg value="true">
<description>save as above, but for datastreamStore</description>
</constructor-arg>
</bean>
<!--This is the tape store Akubra Implementation-->
<bean name="tapeObjectStore" class="dk.statsbiblioteket.metadatarepository.xmltapes.XmlTapesBlobStore"
singleton="true">
<constructor-arg value="urn:example.org:tapeObjectStore"/>
<!--This parameter is the name of the storage. -->
<property name="archive" ref="tarTapeObjectStore"/>
<!--And this is the reference to the actual implementation-->
</bean>
<!--The guts of the tape system-->
<bean name="tarTapeObjectStore" class="dk.statsbiblioteket.metadatarepository.xmltapes.TapeArchive"
init-method="rebuild"
singleton="true">
<!-- The init method above is special, it can have the value "init" or "rebuild". Rebuild just flushes the index before running init.-->
<!--This constructor argument specifies the tape store location. -->
<constructor-arg value="file:/CHANGEME/tapeObjectStore" type="java.net.URI"/>
<!--This specifies the maximum length a tape can be before a new tape is started-->
<constructor-arg value="10485760" type="long"/>
<!--10 MB-->
<!--This is the reference to the index-->
<property name="index" ref="redisIndex"/>
<property name="fixErrors" value="false"/>
</bean>
<!--This is our Redis index-->
<bean name="redisIndex" class="dk.statsbiblioteket.metadatarepository.xmltapes.redis.RedisIndex"
singleton="true">
<!--The redis server-->
<constructor-arg value="localhost"/>
<!--The port it is running on-->
<constructor-arg value="6379"/>
<!--The database name. Redis databases are always identified by integers-->
<constructor-arg value="0"/>
</bean>
<!--Standard storage for managed datastreams. We do not use managed datastreams-->
<bean name="datastreamStore" class="org.akubraproject.map.IdMappingBlobStore"
singleton="true">
<constructor-arg value="urn:fedora:datastreamStore"/>
<constructor-arg>
<ref bean="fsDatastreamStore"/>
</constructor-arg>
<constructor-arg>
<ref bean="fsDatastreamStoreMapper"/>
</constructor-arg>
</bean>
<!--Standard storage for managed datastreams. We do not use managed datastreams-->
<bean name="fsDatastreamStore" class="org.akubraproject.fs.FSBlobStore"
singleton="true">
<constructor-arg value="urn:example.org:fsDatastreamStore"/>
<constructor-arg value="/CHANGEME/datastreamStore"/>
</bean>
<!--Standard storage for managed datastreams. We do not use managed datastreams-->
<bean name="fsDatastreamStoreMapper"
class="org.fcrepo.server.storage.lowlevel.akubra.HashPathIdMapper"
singleton="true">
<constructor-arg value="##"/>
</bean>
<bean name="fedoraStorageHintProvider"
class="org.fcrepo.server.storage.NullStorageHintsProvider"
singleton="true">
</bean>
</beans> |
...