CCM NG/ccm-xadiskfilesystemadapter: Documentation

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4645 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2017-03-27 18:11:31 +00:00
parent 9a190a880d
commit cd40a67234
9 changed files with 281 additions and 2 deletions

View File

@ -15,10 +15,18 @@
<version>1.0.0-SNAPSHOT</version>
<name>ccm-xafilesystemadapter</name>
<url>http://www.libreccm.org</url>
<licenses>
<license>
<name>Lesser GPL 2.1</name>
<url>http://www.gnu.org/licenses/old-licenses/lgpl-2.1</url>
</license>
</licenses>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'Z</maven.build.timestamp.format>
</properties>
<dependencies>
@ -49,4 +57,156 @@
</dependency>
</dependencies>
<build>
<finalName>ccm-xafilesystemadapter</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<optimize>true</optimize>
<debug>true</debug>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<groups>org.libreccm.tests.categories.UnitTest</groups>
<trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<detectLinks>true</detectLinks>
<detectJavaApiLinks>true</detectJavaApiLinks>
<links>
<link>http://docs.oracle.com/javase/7/docs/api/</link>
<link>http://docs.oracle.com/javaee/7/api/</link>
<link>http://docs.jboss.org/hibernate/orm/4.3/javadocs/</link>
</links>
<show>private</show>
<docfilessubdirs>true</docfilessubdirs>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
<breakiterator>true</breakiterator>
<version>true</version>
<author>true</author>
<keywords>true</keywords>
<failOnError>false</failOnError>
<doclet>org.jboss.apiviz.APIviz</doclet>
<docletArtifact>
<groupId>org.jboss.apiviz</groupId>
<artifactId>apiviz</artifactId>
<version>1.3.2.GA</version>
</docletArtifact>
<useStandardDocletOptions>true</useStandardDocletOptions>
<additionalparam>
-sourceclasspath ${project.build.outputDirectory}
</additionalparam>
<!--<additionalparam>-Xdoclint:none</additionalparam>-->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.8</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.3</version>
<!--<configuration>
<excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
</configuration>-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.7</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding>
<targetJdk>1.8</targetJdk>
<rulesets>
<ruleset>/rulesets/java/basic.xml</ruleset>
<ruleset>/rulesets/java/braces.xml</ruleset>
<ruleset>/rulesets/java/clone.xml</ruleset>
<ruleset>/rulesets/java/codesize.xml</ruleset>
<ruleset>/rulesets/java/design.xml</ruleset>
<ruleset>/rulesets/java/empty.xml</ruleset>
<ruleset>/rulesets/java/finalizers.xml</ruleset>
<ruleset>/rulesets/java/imports.xml</ruleset>
<ruleset>/rulesets/java/junit.xml</ruleset>
<ruleset>/rulesets/java/naming.xml</ruleset>
<ruleset>/rulesets/java/optimizations.xml</ruleset>
<ruleset>/rulesets/java/strictexception.xml</ruleset>
<ruleset>/rulesets/java/strings.xml</ruleset>
<ruleset>/rulesets/java/sunsecure.xml</ruleset>
<ruleset>/rulesets/java/typeresolution.xml</ruleset>
<ruleset>/rulesets/java/unnecessary.xml</ruleset>
<ruleset>/rulesets/java/unusedcode.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
<reportSets>
<reportSet>
<reports>
<report>dependencies</report>
<!--<report>project-team</report>
<report>mailing-list</report>
<report>cim</report>
<report>issue-tracking</report>-->
<report>license</report>
<!--<report>scm</report>-->
</reports>
</reportSet>
</reportSets>
<configuration>
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
</configuration>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -41,6 +41,7 @@ import javax.transaction.Transactional;
* access to the file system. Please refer the documentation of this module
* for more information.
*
* @see http://xadisk.java.net
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/

View File

@ -0,0 +1,66 @@
XAFileSystem configuration for Wildfly
======================================
The following instructions are for Wildfly 10.1.0.FINAL but should also work on
earlier or later versions.
1. Download XADisk from [xadisk.java.net]: [http://java.net/projects/xadisk/downloads/download/XADisk%201.2.2%20Everything.zip]
2. Extract the ZIP file
3. Deploy the `XADisk.rar` file found in `binaries` directory of the extracted
ZIP file to your Wildfly installation, either by using the administration UI
of Wildfly or by copying the file to the `deployments` directory of your
Wildfly installation.
4. Create a new resource adapter, either by using the Wildfly administration UI
or the editing the configuration file of your Wildfly installation.
Configuration of the resource adapter via the Wildfly Administration Console:
![Wildfly Configuration Attributes](resources/wildfly_conf_attributes.png)
![Wildfly Configuration Properties](resources/wildfly_conf_properties.png)
![Wildfly Connection Definition Attributes](resources/wildfly_connectiondef_attributes.png)
![Wildfly Connection Definition Properties](resources/wildfly_connectiondef_properties.png)
Or if you prefer to edit the XML file add the following configuration in
the subsystem section for resource adapters:
<subsystem xmlns="urn:jboss:domain:resource-adapters:4.0">
<resource-adapters>
<resource-adapter id="Disk">
<archive>
XADisk.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<config-property name="instanceId">
xadisk1
</config-property>
<config-property name="xaDiskHome">
/path/to/xahome
</config-property>
<connection-definitions>
<connection-definition class-name="org.xadisk.connector.outbound.XADiskManagedConnectionFactory" jndi-name="java:/xadiskcf" pool-name="XADiskConnectionFactoryPool">
<config-property name="instanceId">
xadisk1
</config-property>
<xa-pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>5</max-pool-size>
</xa-pool>
</connection-definition>
</connection-definitions>
</resource-adapter>
</resource-adapters>
</subsystem>
The name of the instance id can be choosen freely, as the id of the resource
adapter. The `xaDiskHome` property must point to an existing directory. This
directory is used by XADisk to store various data. The property does *not*
limit the paths XADisk can access.
5. Configure the directory where LibreCCM should store its data by setting
the `dataPath` property of the `CcmFilesConfiguration`.

View File

@ -0,0 +1,24 @@
-----------------------
The XAFileSystemAdapter
-----------------------
Jens Pelzetter
-----------------------
2017-03-27
-----------------------
This (Maven) module provides an implementation of the {@link FileSystemAdapter}
which uses [XADisk](http://xadisk.java.net) to provides a transaction safe
access to the file system.
# Including into a CCM Bundle
Simply add the `ccm-xafilesystemadapter` as a dependency in the bundle. The
`CCMFiles` class in ccm-core will automatically find and use the adapter.
# Configuration
The XADisk file system adapter uses a JCA resource adapter which needs to be
installed and configured into the application server. Pleae refer to the
installation guides for your application server for more information.

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/DECORATION/1.3.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/DECORATION/1.3.0
http://maven.apache.org/xsd/decoration-1.3.0.xsd">
<body>
<menu name="Parent project">
<item name="LibreCCM" href="../index.html"/>
</menu>
<menu name="Overview">
<item name="Overview" href="index.html"/>
</menu>
<menu name="Configuration">
<item name="Wildfly 10.1.0" href="conf-wildfly_10_1_0.html/>
</menu>
<menu ref="reports"/>
</body>
<!--<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
<version>1.4</version>
</skin>-->
</project>