init
This commit is contained in:
@@ -0,0 +1,242 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "-//JBoss//DTD JBOSS XMBEAN 1.1//EN" "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_1.dtd">
|
||||
|
||||
<mbean>
|
||||
<description><![CDATA[File Based HSM Module Service.<br/>
|
||||
This File Based Module supports a WORM (write once, read many) like storage.<br/>
|
||||
Therefore the file is set to readonly.<br/>
|
||||
The access time of the file is set to current date + RetentionTime to indicate how long
|
||||
a file should be in WORM state.
|
||||
(This feature must be supported by the underlying filesystem/storage!)<br/>
|
||||
This module supports synchronization of file status by checking existence
|
||||
of files with specific extendions (see StatusExtensions and queryStatus).
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.module.HSMFileBasedModule</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HSMFileBasedModule</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetentionTime"
|
||||
setMethod="setRetentionTime">
|
||||
<description><![CDATA[Time in y (years), M (month) or d (days) a modification / deletion of a file is not permitted.<br/>
|
||||
Use a leading '+' to set access time after the file is set ReadOnly. (default is before ;
|
||||
Please ensure that your filesystem/command allows setting access time when file is ReadOnly!)
|
||||
]]></description>
|
||||
<name>RetentionTime</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="3y"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAccessTimeCmd"
|
||||
setMethod="setAccessTimeCmd">
|
||||
<description><![CDATA[External command to set Access Time of a file (retention), with
|
||||
<br>%f will be replaced by the file
|
||||
<br>%d will be replaced by the retention date (current date + retentionTime)
|
||||
<br>NONE = Access Time of file will not be changed.
|
||||
]]>
|
||||
</description>
|
||||
<name>AccessTimeCmd</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="touch -a -t %d %f"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPattern"
|
||||
setMethod="setPattern">
|
||||
<description><![CDATA[Date pattern that is used to format retention date for %d in AccessTimeCmd.]]>
|
||||
</description>
|
||||
<name>DatePattern</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="yyyyMMddhhmm"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStatusExtensions"
|
||||
setMethod="setStatusExtensions">
|
||||
<description><![CDATA[File extension to File Status mapping.<br/>
|
||||
Used in queryStatus to get actual status of a file.
|
||||
Enumerated status values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED<br/>
|
||||
Format: <extension>=<status><br/>
|
||||
A entry without <extension>= is used if no file with configured extension exists.
|
||||
This could also be set to NONE (do not change the file status).
|
||||
]]></description>
|
||||
<name>StatusExtensions</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
.archived=ARCHIVED
|
||||
NONE
|
||||
"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCheckMD5forStatusChange"
|
||||
setMethod="setCheckMD5forStatusChange">
|
||||
<description>Enable verification of tar files when a status file (file with status extension) exists.
|
||||
Set file status to MD5_CHECK_FAILED (-3) if verify failed.
|
||||
</description>
|
||||
<name>CheckMD5forStatusChange</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMountFailedCheckFile"
|
||||
setMethod="setMountFailedCheckFile">
|
||||
<description><![CDATA[If the specified file exists in the root of an filesystem, this signals a failed mount.]]>
|
||||
</description>
|
||||
<name>MountFailedCheckFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NO_MOUNT" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileCopyServiceName"
|
||||
setMethod="setFileCopyServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FileCopyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Prepare File for storage to HSM. Return File Object that is used in FileCopy Service.<br/>
|
||||
]]></description>
|
||||
<name>prepareHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Store given File to HSM. Return filename (fileID)</description>
|
||||
<name>storeHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called if FileCopy failed.</description>
|
||||
<name>failedHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Fetch a File from HSM.</description>
|
||||
<name>fetchHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called from TarRetriever to finish Fetch of a File from HSM. (Cleanup temporary resources)</description>
|
||||
<name>fetchHSMFileFinished</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File object (returned from fetchHSMFile)</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Query status of file in HSM.<br/>
|
||||
Check the existence of a file with extensions configured in
|
||||
StatusExtensions and set the corresponding status.
|
||||
]]></description>
|
||||
<name>queryStatus</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File Path</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>User info associated with the file system</description>
|
||||
<name>userInfo</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Integer</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
Reference in New Issue
Block a user