JBoss Cache SVN: r7146 - core/branches/flat.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-11-17 11:06:32 -0500 (Mon, 17 Nov 2008)
New Revision: 7146
Modified:
core/branches/flat/pom.xml
Log:
JGroups 2.6.7
Modified: core/branches/flat/pom.xml
===================================================================
--- core/branches/flat/pom.xml 2008-11-17 10:43:05 UTC (rev 7145)
+++ core/branches/flat/pom.xml 2008-11-17 16:06:32 UTC (rev 7146)
@@ -2,469 +2,472 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <properties>
- <jbosscache-core-version>3.0.0-SNAPSHOT</jbosscache-core-version>
- <!-- By default only run tests in the "unit" group -->
- <defaultTestGroup>unit</defaultTestGroup>
- <!-- By default only generate Javadocs when we install the module. -->
- <javadocPhase>install</javadocPhase>
- </properties>
+ <modelVersion>4.0.0</modelVersion>
+ <properties>
+ <jbosscache-core-version>3.0.0-SNAPSHOT</jbosscache-core-version>
+ <!-- By default only run tests in the "unit" group -->
+ <defaultTestGroup>unit</defaultTestGroup>
+ <!-- By default only generate Javadocs when we install the module. -->
+ <javadocPhase>install</javadocPhase>
+ </properties>
- <parent>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-common-parent</artifactId>
- <version>1.4</version>
- </parent>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-core</artifactId>
- <version>${jbosscache-core-version}</version>
- <name>JBoss Cache - Core Edition</name>
- <description>JBoss Cache - Core Edition</description>
- <url>http://www.jbosscache.org</url>
- <packaging>jar</packaging>
- <dependencies>
- <dependency>
- <groupId>jgroups</groupId>
- <artifactId>jgroups</artifactId>
- <version>2.6.5.GA</version>
- </dependency>
+ <parent>
+ <groupId>org.jboss.cache</groupId>
+ <artifactId>jbosscache-common-parent</artifactId>
+ <version>1.4</version>
+ </parent>
+ <groupId>org.jboss.cache</groupId>
+ <artifactId>jbosscache-core</artifactId>
+ <version>${jbosscache-core-version}</version>
+ <name>JBoss Cache - Core Edition</name>
+ <description>JBoss Cache - Core Edition</description>
+ <url>http://www.jbosscache.org</url>
+ <packaging>jar</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>jgroups</groupId>
+ <artifactId>jgroups</artifactId>
+ <version>2.6.7.GA</version>
+ </dependency>
- <!-- For the JTA 1.1 API; consuming projects can safely
- exclude this and replace with any valid source of this API -->
- <dependency>
- <groupId>javax.transaction</groupId>
- <artifactId>jta</artifactId>
- <version>1.1</version>
- </dependency>
+ <!-- For the JTA 1.1 API; consuming projects can safely
+exclude this and replace with any valid source of this API -->
+ <dependency>
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ <version>1.1</version>
+ </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1.1</version>
- </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.1</version>
+ </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- <version>2.2.8.GA</version>
- </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ <version>2.2.8.GA</version>
+ </dependency>
- <!-- optional dependencies -->
- <dependency>
- <groupId>jdbm</groupId>
- <artifactId>jdbm</artifactId>
- <version>1.0</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>c3p0</groupId>
- <artifactId>c3p0</artifactId>
- <version>0.9.1.1</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>sleepycat</groupId>
- <artifactId>je</artifactId>
- <version>1.7.0</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>net.jcip</groupId>
- <artifactId>jcip-annotations</artifactId>
- <version>1.0</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>net.noderunner</groupId>
- <artifactId>amazon-s3</artifactId>
- <version>1.0.0.0</version>
- <optional>true</optional>
- </dependency>
+ <!-- optional dependencies -->
+ <dependency>
+ <groupId>jdbm</groupId>
+ <artifactId>jdbm</artifactId>
+ <version>1.0</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>c3p0</groupId>
+ <artifactId>c3p0</artifactId>
+ <version>0.9.1.1</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>sleepycat</groupId>
+ <artifactId>je</artifactId>
+ <version>1.7.0</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>net.jcip</groupId>
+ <artifactId>jcip-annotations</artifactId>
+ <version>1.0</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>net.noderunner</groupId>
+ <artifactId>amazon-s3</artifactId>
+ <version>1.0.0.0</version>
+ <optional>true</optional>
+ </dependency>
- <!-- test dependencies -->
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossjta</artifactId>
- <version>4.3.0.GA</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>beanshell</groupId>
- <artifactId>bsh</artifactId>
- <version>2.0b4</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>net.noderunner</groupId>
- <artifactId>http</artifactId>
- <version>1.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.3</version>
- <scope>test</scope>
- </dependency>
- <!-- 5.8 is needed for propper parallel test execution -->
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>5.8</version>
- <scope>test</scope>
- <classifier>jdk15</classifier>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <!-- ensure parallel test execution -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.4.3-JBOSS</version>
- <configuration>
- <parallel>methods</parallel>
- <threadCount>10</threadCount>
- <forkMode>none</forkMode>
- <trimStackTrace>false</trimStackTrace>
- <properties>
- <property>
- <name>listener</name>
- <value>org.jboss.starobrno.util.UnitTestTestNGListener</value>
- </property>
- </properties>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.2-beta-1</version>
- <executions>
- <execution>
- <id>assemble</id>
- <phase>install</phase>
- <goals>
- <goal>attached</goal>
- </goals>
- <configuration>
- <descriptors>
- <descriptor>assembly/bin.xml</descriptor>
- <descriptor>assembly/doc.xml</descriptor>
- <descriptor>assembly/all.xml</descriptor>
- <descriptor>assembly/src.xml</descriptor>
- </descriptors>
- <finalName>${artifactId}-${jbosscache-core-version}</finalName>
- <outputDirectory>target/distribution</outputDirectory>
- <workDirectory>target/assembly/work</workDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- <mainClass>org.jboss.cache.Version</mainClass>
- </manifest>
- </archive>
- </configuration>
- <executions>
- <execution>
- <id>build-test-jar</id>
- <goals>
- <goal>test-jar</goal>
- </goals>
- <configuration>
- <archive>
- <manifest>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- </archive>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <!-- basic JBoss repository so that the common parent POM in jbosscache-support can be found -->
- <repositories>
- <repository>
- <id>repository.jboss.org</id>
- <url>http://repository.jboss.org/maven2</url>
- </repository>
- <repository>
- <id>snapshots.jboss.org</id>
- <url>http://snapshots.jboss.org/maven2</url>
- </repository>
- <!-- For Amazon S3 artifacts -->
- <repository>
- <id>e-xml.sourceforge.net</id>
- <url>http://e-xml.sourceforge.net/maven2/repository</url>
- </repository>
- </repositories>
-
- <profiles>
- <profile>
- <!-- This testMoreState generates Javadocs and the UserGuide, FAQs and Tutorial in the "package" phase. -->
- <id>Docs</id>
- <activation>
- <activeByDefault>false</activeByDefault>
- </activation>
- <properties>
- <!-- override to generate javadocs in the "package" phase -->
- <javadocPhase>package</javadocPhase>
- </properties>
- <build>
- <plugins>
- <!-- the docbook generation plugin for the user guide -->
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.0.0</version>
- <extensions>true</extensions>
- <dependencies>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossorg-docbook-xslt</artifactId>
- <version>1.1.0</version>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossorg-jdocbook-style</artifactId>
- <version>1.1.0</version>
- <type>jdocbook-style</type>
- </dependency>
- </dependencies>
- <executions>
-
- <!-- The User Guide-->
- <execution>
- <id>userguide_en</id>
- <phase>package</phase>
+ <!-- test dependencies -->
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>2.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjta</artifactId>
+ <version>4.3.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>beanshell</groupId>
+ <artifactId>bsh</artifactId>
+ <version>2.0b4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.noderunner</groupId>
+ <artifactId>http</artifactId>
+ <version>1.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.3</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- 5.8 is needed for propper parallel test execution -->
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>5.8</version>
+ <scope>test</scope>
+ <classifier>jdk15</classifier>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <!-- ensure parallel test execution -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.3-JBOSS</version>
+ <configuration>
+ <parallel>methods</parallel>
+ <threadCount>10</threadCount>
+ <forkMode>none</forkMode>
+ <trimStackTrace>false</trimStackTrace>
+ <properties>
+ <property>
+ <name>listener</name>
+ <value>org.jboss.starobrno.util.UnitTestTestNGListener</value>
+ </property>
+ </properties>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-1</version>
+ <executions>
+ <execution>
+ <id>assemble</id>
+ <phase>install</phase>
<goals>
- <goal>resources</goal>
- <goal>generate</goal>
+ <goal>attached</goal>
</goals>
<configuration>
- <sourceDocumentName>master.xml</sourceDocumentName>
- <sourceDirectory>${basedir}/src/main/docbook/userguide/en</sourceDirectory>
- <imageResource>
- <directory>${basedir}/src/main/docbook/images</directory>
- </imageResource>
- <cssResource>
- <directory>${basedir}/src/main/docbook/css</directory>
- </cssResource>
- <targetDirectory>${basedir}/target/docbook/userguide_en</targetDirectory>
- <formats>
- <format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
- <finalName>userguide_en.pdf</finalName>
- </format>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- <options>
- <xincludeSupported>false</xincludeSupported>
- </options>
+ <descriptors>
+ <descriptor>assembly/bin.xml</descriptor>
+ <descriptor>assembly/doc.xml</descriptor>
+ <descriptor>assembly/all.xml</descriptor>
+ <descriptor>assembly/src.xml</descriptor>
+ </descriptors>
+ <finalName>${artifactId}-${jbosscache-core-version}</finalName>
+ <outputDirectory>target/distribution</outputDirectory>
+ <workDirectory>target/assembly/work</workDirectory>
</configuration>
- </execution>
-
- <!-- The Tutorial -->
- <execution>
- <id>tutorial_en</id>
- <phase>package</phase>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ <mainClass>org.jboss.cache.Version</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ <executions>
+ <execution>
+ <id>build-test-jar</id>
<goals>
- <goal>resources</goal>
- <goal>generate</goal>
+ <goal>test-jar</goal>
</goals>
<configuration>
- <sourceDocumentName>master.xml</sourceDocumentName>
- <sourceDirectory>${basedir}/src/main/docbook/tutorial/en</sourceDirectory>
- <imageResource>
- <directory>${basedir}/src/main/docbook/images</directory>
- </imageResource>
- <cssResource>
- <directory>${basedir}/src/main/docbook/css</directory>
- </cssResource>
- <targetDirectory>${basedir}/target/docbook/tutorial_en</targetDirectory>
- <formats>
- <format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
- <finalName>tutorial_en.pdf</finalName>
- </format>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- <options>
- <xincludeSupported>false</xincludeSupported>
- </options>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ </archive>
</configuration>
- </execution>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
- <!-- the FAQs -->
- <execution>
- <id>faq_en</id>
- <phase>package</phase>
- <goals>
- <goal>resources</goal>
- <goal>generate</goal>
- </goals>
- <configuration>
- <sourceDocumentName>master.xml</sourceDocumentName>
- <sourceDirectory>${basedir}/src/main/docbook/faq/en</sourceDirectory>
- <imageResource>
- <directory>${basedir}/src/main/docbook/images</directory>
- </imageResource>
- <cssResource>
- <directory>${basedir}/src/main/docbook/css</directory>
- </cssResource>
- <targetDirectory>${basedir}/target/docbook/faq_en</targetDirectory>
- <formats>
- <format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
- <finalName>faq_en.pdf</finalName>
- </format>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- <options>
- <xincludeSupported>false</xincludeSupported>
- </options>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- <version>2.4.3-JBOSS</version>
- </plugin>
- </plugins>
- </reporting>
-
- </profile>
+ <!-- basic JBoss repository so that the common parent POM in jbosscache-support can be found -->
+ <repositories>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ </repository>
+ <repository>
+ <id>snapshots.jboss.org</id>
+ <url>http://snapshots.jboss.org/maven2</url>
+ </repository>
+ <!-- For Amazon S3 artifacts -->
+ <repository>
+ <id>e-xml.sourceforge.net</id>
+ <url>http://e-xml.sourceforge.net/maven2/repository</url>
+ </repository>
+ </repositories>
- <profile>
- <id>test-hudson</id>
- <properties>
- <defaultTestGroup>functional,unit</defaultTestGroup>
- </properties>
- </profile>
+ <profiles>
+ <profile>
+ <!-- This testMoreState generates Javadocs and the UserGuide, FAQs and Tutorial in the "package" phase. -->
+ <id>Docs</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <properties>
+ <!-- override to generate javadocs in the "package" phase -->
+ <javadocPhase>package</javadocPhase>
+ </properties>
+ <build>
+ <plugins>
+ <!-- the docbook generation plugin for the user guide -->
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.0.0</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-docbook-xslt</artifactId>
+ <version>1.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.1.0</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ </dependencies>
+ <executions>
- <profile>
- <id>test-functional</id>
- <properties>
- <defaultTestGroup>functional</defaultTestGroup>
- </properties>
- </profile>
+ <!-- The User Guide-->
+ <execution>
+ <id>userguide_en</id>
+ <phase>package</phase>
+ <goals>
+ <goal>resources</goal>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${basedir}/src/main/docbook/userguide/en</sourceDirectory>
+ <imageResource>
+ <directory>${basedir}/src/main/docbook/images</directory>
+ </imageResource>
+ <cssResource>
+ <directory>${basedir}/src/main/docbook/css</directory>
+ </cssResource>
+ <targetDirectory>${basedir}/target/docbook/userguide_en</targetDirectory>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>userguide_en.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl
+ </stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>false</xincludeSupported>
+ </options>
+ </configuration>
+ </execution>
- <profile>
- <id>test-unit</id>
- <properties>
- <defaultTestGroup>unit</defaultTestGroup>
- </properties>
- </profile>
+ <!-- The Tutorial -->
+ <execution>
+ <id>tutorial_en</id>
+ <phase>package</phase>
+ <goals>
+ <goal>resources</goal>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${basedir}/src/main/docbook/tutorial/en</sourceDirectory>
+ <imageResource>
+ <directory>${basedir}/src/main/docbook/images</directory>
+ </imageResource>
+ <cssResource>
+ <directory>${basedir}/src/main/docbook/css</directory>
+ </cssResource>
+ <targetDirectory>${basedir}/target/docbook/tutorial_en</targetDirectory>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>tutorial_en.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl
+ </stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>false</xincludeSupported>
+ </options>
+ </configuration>
+ </execution>
- <profile>
- <id>test-jgroups</id>
- <properties>
- <defaultTestGroup>jgroups</defaultTestGroup>
- </properties>
- </profile>
+ <!-- the FAQs -->
+ <execution>
+ <id>faq_en</id>
+ <phase>package</phase>
+ <goals>
+ <goal>resources</goal>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${basedir}/src/main/docbook/faq/en</sourceDirectory>
+ <imageResource>
+ <directory>${basedir}/src/main/docbook/images</directory>
+ </imageResource>
+ <cssResource>
+ <directory>${basedir}/src/main/docbook/css</directory>
+ </cssResource>
+ <targetDirectory>${basedir}/target/docbook/faq_en</targetDirectory>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>faq_en.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl
+ </stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>false</xincludeSupported>
+ </options>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>2.4.3-JBOSS</version>
+ </plugin>
+ </plugins>
+ </reporting>
- <profile>
- <id>test-transaction</id>
- <properties>
- <defaultTestGroup>transaction</defaultTestGroup>
- </properties>
- </profile>
+ </profile>
- <profile>
- <id>test-integration</id>
- <properties>
- <defaultTestGroup>integration</defaultTestGroup>
- </properties>
- </profile>
+ <profile>
+ <id>test-hudson</id>
+ <properties>
+ <defaultTestGroup>functional,unit</defaultTestGroup>
+ </properties>
+ </profile>
- <profile>
- <id>JBossAS</id>
- <activation>
- </activation>
- <properties>
- <jbosscache-core-version>3.0.0-SNAPSHOT-JBossAS</jbosscache-core-version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>jgroups</groupId>
- <artifactId>jgroups</artifactId>
- <version>2.6.5.GA</version>
- </dependency>
- <!-- Replaces javax.transaction/jta -->
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-javaee</artifactId>
- <version>5.0.0.CR1</version>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- <version>2.2.8.GA</version>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1.0.jboss</version>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossjta</artifactId>
- <version>4.3.0.GA</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
+ <profile>
+ <id>test-functional</id>
+ <properties>
+ <defaultTestGroup>functional</defaultTestGroup>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>test-unit</id>
+ <properties>
+ <defaultTestGroup>unit</defaultTestGroup>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>test-jgroups</id>
+ <properties>
+ <defaultTestGroup>jgroups</defaultTestGroup>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>test-transaction</id>
+ <properties>
+ <defaultTestGroup>transaction</defaultTestGroup>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>test-integration</id>
+ <properties>
+ <defaultTestGroup>integration</defaultTestGroup>
+ </properties>
+ </profile>
+
+ <profile>
+ <id>JBossAS</id>
+ <activation>
+ </activation>
+ <properties>
+ <jbosscache-core-version>3.0.0-SNAPSHOT-JBossAS</jbosscache-core-version>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>jgroups</groupId>
+ <artifactId>jgroups</artifactId>
+ <version>2.6.7.GA</version>
+ </dependency>
+ <!-- Replaces javax.transaction/jta -->
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-javaee</artifactId>
+ <version>5.0.0.CR1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ <version>2.2.8.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.0.jboss</version>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjta</artifactId>
+ <version>4.3.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
</project>
16 years, 1 month
JBoss Cache SVN: r7145 - in core/trunk/src/test/java/org/jboss/cache: buddyreplication and 6 other directories.
by jbosscache-commits@lists.jboss.org
Author: mircea.markus
Date: 2008-11-17 05:43:05 -0500 (Mon, 17 Nov 2008)
New Revision: 7145
Modified:
core/trunk/src/test/java/org/jboss/cache/CallbackTest.java
core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyGroupAssignmentTest.java
core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationRejoinTest.java
core/trunk/src/test/java/org/jboss/cache/eviction/ConcurrentEvictionTest.java
core/trunk/src/test/java/org/jboss/cache/factories/ComponentRegistryUnitTest.java
core/trunk/src/test/java/org/jboss/cache/marshall/SyncReplTest.java
core/trunk/src/test/java/org/jboss/cache/notifications/BuddyGroupChangeNotificationTest.java
core/trunk/src/test/java/org/jboss/cache/options/cachemodelocal/CacheModeLocalTestBase.java
core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic/AsyncRollbackTxTest.java
Log:
fix tests
Modified: core/trunk/src/test/java/org/jboss/cache/CallbackTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/CallbackTest.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/CallbackTest.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -6,6 +6,7 @@
import org.jboss.cache.notifications.annotation.NodeCreated;
import org.jboss.cache.notifications.event.Event;
import org.jboss.cache.util.CachePrinter;
+import org.jboss.cache.util.TestingUtil;
import static org.testng.AssertJUnit.*;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
@@ -30,12 +31,7 @@
@AfterMethod(alwaysRun = true)
public void tearDown() throws Exception
{
- if (cache != null)
- {
- cache.stop();
- cache.destroy();
- cache = null;
- }
+ TestingUtil.killCaches(cache);
}
public void testLocalPutCallbackWithoutTransaction() throws Exception
Modified: core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyGroupAssignmentTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyGroupAssignmentTest.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyGroupAssignmentTest.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -35,11 +35,11 @@
cachesTL.set(caches);
System.out.println("*** Testing cache 0:");
- assertIsBuddy(caches.get(0), caches.get(1), true);
+ waitForBuddy(caches.get(0), caches.get(1), true);
System.out.println("*** Testing cache 1:");
- assertIsBuddy(caches.get(1), caches.get(2), true);
+ waitForBuddy(caches.get(1), caches.get(2), true);
System.out.println("*** Testing cache 2:");
- assertIsBuddy(caches.get(2), caches.get(0), true);
+ waitForBuddy(caches.get(2), caches.get(0), true);
System.out.println("Cache 0 = " + CachePrinter.printCacheLockingInfo(caches.get(0)));
System.out.println("Cache 1 = " + CachePrinter.printCacheLockingInfo(caches.get(1)));
@@ -56,14 +56,14 @@
// TestingUtil.sleepThread(2000);
System.out.println("*** Testing cache 0");
- assertIsBuddy(caches.get(0), caches.get(1), false);
- assertIsBuddy(caches.get(0), caches.get(2), false);
+ waitForBuddy(caches.get(0), caches.get(1), false);
+ waitForBuddy(caches.get(0), caches.get(2), false);
System.out.println("*** Testing cache 1");
- assertIsBuddy(caches.get(1), caches.get(2), false);
- assertIsBuddy(caches.get(1), caches.get(0), false);
+ waitForBuddy(caches.get(1), caches.get(2), false);
+ waitForBuddy(caches.get(1), caches.get(0), false);
System.out.println("*** Testing cache 2");
- assertIsBuddy(caches.get(2), caches.get(1), false);
- assertIsBuddy(caches.get(2), caches.get(0), false);
+ waitForBuddy(caches.get(2), caches.get(1), false);
+ waitForBuddy(caches.get(2), caches.get(0), false);
}
public void testRemovalFromClusterSingleBuddy() throws Exception
@@ -73,11 +73,11 @@
cachesTL.set(caches);
System.out.println("*** Testing cache 0");
- assertIsBuddy(caches.get(0), caches.get(1), true);
+ waitForBuddy(caches.get(0), caches.get(1), true);
System.out.println("*** Testing cache 1");
- assertIsBuddy(caches.get(1), caches.get(2), true);
+ waitForBuddy(caches.get(1), caches.get(2), true);
System.out.println("*** Testing cache 2");
- assertIsBuddy(caches.get(2), caches.get(0), true);
+ waitForBuddy(caches.get(2), caches.get(0), true);
// now remove a cache from the cluster
caches.get(1).stop();
@@ -87,9 +87,9 @@
// now test new buddy groups
System.out.println("*** Testing cache 0");
- assertIsBuddy(caches.get(0), caches.get(2), true);
+ waitForBuddy(caches.get(0), caches.get(2), true);
System.out.println("*** Testing cache 2");
- assertIsBuddy(caches.get(2), caches.get(0), true);
+ waitForBuddy(caches.get(2), caches.get(0), true);
System.out.println("*** Completed successfully ***");
assertNoLocks(caches);
}
@@ -102,17 +102,17 @@
assertNoLocks(caches);
System.out.println("*** Testing cache 0");
- assertIsBuddy(caches.get(0), caches.get(1), false);
- assertIsBuddy(caches.get(0), caches.get(2), false);
+ waitForBuddy(caches.get(0), caches.get(1), false);
+ waitForBuddy(caches.get(0), caches.get(2), false);
System.out.println("*** Testing cache 1");
- assertIsBuddy(caches.get(1), caches.get(2), false);
- assertIsBuddy(caches.get(1), caches.get(3), false);
+ waitForBuddy(caches.get(1), caches.get(2), false);
+ waitForBuddy(caches.get(1), caches.get(3), false);
System.out.println("*** Testing cache 2");
- assertIsBuddy(caches.get(2), caches.get(3), false);
- assertIsBuddy(caches.get(2), caches.get(0), false);
+ waitForBuddy(caches.get(2), caches.get(3), false);
+ waitForBuddy(caches.get(2), caches.get(0), false);
System.out.println("*** Testing cache 3");
- assertIsBuddy(caches.get(3), caches.get(0), false);
- assertIsBuddy(caches.get(3), caches.get(1), false);
+ waitForBuddy(caches.get(3), caches.get(0), false);
+ waitForBuddy(caches.get(3), caches.get(1), false);
// now remove a cache from the cluster
caches.get(1).stop();
@@ -122,14 +122,14 @@
// now test new buddy groups
System.out.println("*** Testing cache 0");
- assertIsBuddy(caches.get(0), caches.get(2), false);
- assertIsBuddy(caches.get(0), caches.get(3), false);
+ waitForBuddy(caches.get(0), caches.get(2), false);
+ waitForBuddy(caches.get(0), caches.get(3), false);
System.out.println("*** Testing cache 2");
- assertIsBuddy(caches.get(2), caches.get(3), false);
- assertIsBuddy(caches.get(2), caches.get(0), false);
+ waitForBuddy(caches.get(2), caches.get(3), false);
+ waitForBuddy(caches.get(2), caches.get(0), false);
System.out.println("*** Testing cache 3");
- assertIsBuddy(caches.get(3), caches.get(0), false);
- assertIsBuddy(caches.get(3), caches.get(2), false);
+ waitForBuddy(caches.get(3), caches.get(0), false);
+ waitForBuddy(caches.get(3), caches.get(2), false);
assertNoLocks(caches);
}
@@ -145,9 +145,9 @@
caches.get(1).put("/cache1", "k", "v");
System.out.println("*** Testing cache 0:");
- assertIsBuddy(caches.get(0), caches.get(1), true);
+ waitForBuddy(caches.get(0), caches.get(1), true);
System.out.println("*** Testing cache 1:");
- assertIsBuddy(caches.get(1), caches.get(0), true);
+ waitForBuddy(caches.get(1), caches.get(0), true);
assert caches.get(0).peek(fqnTransformer.getBackupRoot(caches.get(0).getLocalAddress()), false) == null : "Should not have backup region for self";
assert caches.get(0).peek(fqnTransformer.getBackupRoot(caches.get(1).getLocalAddress()), false) != null : "Should have backup region for buddy";
@@ -160,11 +160,11 @@
TestingUtil.blockUntilViewsReceived(60000, caches);
System.out.println("*** Testing cache 0:");
- assertIsBuddy(caches.get(0), caches.get(1), true);
+ waitForBuddy(caches.get(0), caches.get(1), true);
System.out.println("*** Testing cache 1:");
- assertIsBuddy(caches.get(1), caches.get(2), true);
+ waitForBuddy(caches.get(1), caches.get(2), true);
System.out.println("*** Testing cache 2:");
- assertIsBuddy(caches.get(2), caches.get(0), true);
+ waitForBuddy(caches.get(2), caches.get(0), true);
System.out.println("0 Lock info: " + CachePrinter.printCacheLockingInfo(caches.get(0)));
Modified: core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationRejoinTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationRejoinTest.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationRejoinTest.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -22,7 +22,7 @@
* <p/>
* Change the LATE_START_BUDDY_CACHE flag to trigger different startup behavior at the initial
* object creation. It does not seem to have an impact on the outcome though.
- *
+ *
* @author Fredrik Johansson, Cubeia Ltd
*/
@Test(groups = "functional", testName = "buddyreplication.BuddyReplicationTestsBase")
@@ -59,8 +59,9 @@
}
@AfterMethod
- public void tearDown()
+ public void tearDown() throws Exception
{
+ super.tearDown();
TestingUtil.killCaches(cache1, cache2);
cache1 = null;
cache2 = null;
Modified: core/trunk/src/test/java/org/jboss/cache/eviction/ConcurrentEvictionTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/eviction/ConcurrentEvictionTest.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/eviction/ConcurrentEvictionTest.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -33,13 +33,13 @@
* @author Brian Stansberry
* @version $Revision$
*/
-@Test(groups = {"functional"}, sequential = true, testName = "eviction.ConcurrentEvictionTest")
+@Test(groups = {"functional"}, testName = "eviction.ConcurrentEvictionTest")
public class ConcurrentEvictionTest
{
private Cache<Integer, String> cache;
private long wakeupIntervalMillis = 0;
private String tmpDir = System.getProperty("java.io.tmpdir", "/tmp");
- private String cacheLoaderDir = "/JBossCacheFileCacheLoader";
+ private String cacheLoaderDir = "JBossCacheFileCacheLoader";
@BeforeMethod(alwaysRun = true)
public void setUp() throws Exception
Modified: core/trunk/src/test/java/org/jboss/cache/factories/ComponentRegistryUnitTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/factories/ComponentRegistryUnitTest.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/factories/ComponentRegistryUnitTest.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -2,6 +2,7 @@
import org.jboss.cache.Cache;
import org.jboss.cache.UnitTestCacheFactory;
+import org.jboss.cache.util.TestingUtil;
import org.jboss.cache.config.Configuration;
import org.testng.annotations.Test;
@@ -16,8 +17,7 @@
{
Cache c = new UnitTestCacheFactory<Object, Object>().createCache(UnitTestCacheConfigurationFactory.createConfiguration(Configuration.CacheMode.REPL_SYNC));
c.put("/a", "b", "c");
- c.stop();
- c.destroy();
+ TestingUtil.killCaches(c);
}
// ComponentRegistry cr;
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/SyncReplTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/SyncReplTest.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/SyncReplTest.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -95,18 +95,7 @@
CacheSPI<Object, Object> cache1 = srtl.cache1;
CacheSPI<Object, Object> cache2 = srtl.cache2;
cache1.removeNode(Fqn.ROOT);
- if (cache1 != null)
- {
- log("stopping cache1");
- cache1.stop();
- }
-
- if (cache2 != null)
- {
- log("stopping cache2");
- cache2.stop();
- }
-
+ TestingUtil.killCaches(cache1, cache2);
super.tearDown();
threadLocal.set(null);
}
Modified: core/trunk/src/test/java/org/jboss/cache/notifications/BuddyGroupChangeNotificationTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/notifications/BuddyGroupChangeNotificationTest.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/notifications/BuddyGroupChangeNotificationTest.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -54,9 +54,10 @@
}
@AfterMethod
- public void tearDown()
+ public void tearDown() throws Exception
{
System.out.println("***** BuddyGroupChangeNotificationTest.tearDown");
+ super.tearDown();
TestingUtil.killCaches(c1, c2, c3);
c1 = null;
c2 = null;
Modified: core/trunk/src/test/java/org/jboss/cache/options/cachemodelocal/CacheModeLocalTestBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/options/cachemodelocal/CacheModeLocalTestBase.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/options/cachemodelocal/CacheModeLocalTestBase.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -73,6 +73,7 @@
c.setTransactionManagerLookupClass("org.jboss.cache.transaction.DummyTransactionManagerLookup");
c.setNodeLockingScheme(nodeLockingScheme);
c.setCacheMode(cacheMode);
+ c.setSerializationExecutorPoolSize(0);
cache1 = (CacheSPI<String, String>) instance.createCache(c, false);
cache1.start();
@@ -83,6 +84,7 @@
c.setTransactionManagerLookupClass("org.jboss.cache.transaction.DummyTransactionManagerLookup");
c.setNodeLockingScheme(nodeLockingScheme);
c.setCacheMode(cacheMode);
+ c.setSerializationExecutorPoolSize(0);
cache2 = (CacheSPI<String, String>) instance.createCache(c, false);
cache2.start();
Modified: core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic/AsyncRollbackTxTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic/AsyncRollbackTxTest.java 2008-11-17 06:35:24 UTC (rev 7144)
+++ core/trunk/src/test/java/org/jboss/cache/transaction/pessimistic/AsyncRollbackTxTest.java 2008-11-17 10:43:05 UTC (rev 7145)
@@ -37,6 +37,7 @@
Configuration c = new Configuration();
c.setTransactionManagerLookupClass("org.jboss.cache.transaction.AsyncRollbackTransactionManagerLookup");
c.setNodeLockingScheme(Configuration.NodeLockingScheme.PESSIMISTIC);
+ c.setSerializationExecutorPoolSize(0);
CacheFactory<String, String> instance = new UnitTestCacheFactory<String, String>();
cache = (CacheSPI<String, String>) instance.createCache(c);
tm = cache.getConfiguration().getRuntimeConfig().getTransactionManager();
16 years, 1 month
JBoss Cache SVN: r7144 - enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES.
by jbosscache-commits@lists.jboss.org
Author: mospina
Date: 2008-11-17 01:35:24 -0500 (Mon, 17 Nov 2008)
New Revision: 7144
Modified:
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Api.po
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Appendix.po
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Book_Info.po
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Colophon.po
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Jbossaop.po
Log:
translation for Pojo cache in progress
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Api.po
===================================================================
--- enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Api.po 2008-11-17 04:50:39 UTC (rev 7143)
+++ enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Api.po 2008-11-17 06:35:24 UTC (rev 7144)
@@ -8,7 +8,7 @@
"Project-Id-Version: Api\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2008-11-13 11:08+1000\n"
+"PO-Revision-Date: 2008-11-17 16:33+1000\n"
"Last-Translator: Angela Garcia\n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -39,7 +39,7 @@
#: Api.xml:9
#, no-c-format
msgid "Attachment"
-msgstr ""
+msgstr "Anexo"
#. Tag: programlisting
#: Api.xml:10
@@ -72,6 +72,9 @@
"literal> is the object instance to be managed by <literal>PojoCache</"
"literal>."
msgstr ""
+"El llamar a esta Api pondrá su POJO en la administración del caché bajo <literal>fqn</literal> en donde <literal>fqn</literal> es un nombre completamente calificado (<literal>FQN</literal>) especificado por el usuario para almacenar el nodo en el caché subyacente, por ejemplo, \"<literal>/aop/joe</literal>\". El <literal>pojo</"
+"literal> es la instancia del objeto a ser administrada por <literal>PojoCache</"
+"literal>."
#. Tag: para
#: Api.xml:14
@@ -82,6 +85,8 @@
"object is instrumented by JBossAop if declared either from an xml file or "
"from annotation. More details on this will come later."
msgstr ""
+"El requerimiento para <literal>pojo</literal> es que debio haber sido instrumentado o implementado la interfaz <literal>Serializable</literal>. Un "
+"objeto es instrumentado por JBossAop si es declarado desde un archivo xml o desde una anotación. Más adelante encontrará más detalles sobre esto."
#. Tag: para
#: Api.xml:17
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Appendix.po
===================================================================
--- enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Appendix.po 2008-11-17 04:50:39 UTC (rev 7143)
+++ enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Appendix.po 2008-11-17 06:35:24 UTC (rev 7144)
@@ -8,7 +8,7 @@
"Project-Id-Version: Appendix\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2008-11-13 09:58+1000\n"
+"PO-Revision-Date: 2008-11-17 16:21+1000\n"
"Last-Translator: Angela Garcia\n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,13 +20,13 @@
#: Appendix.xml:5
#, no-c-format
msgid "Appendix"
-msgstr ""
+msgstr "Apéndice "
#. Tag: title
#: Appendix.xml:6
#, no-c-format
msgid "Example POJO"
-msgstr ""
+msgstr "Ejemplo de POJO"
#. Tag: para
#: Appendix.xml:7
@@ -37,6 +37,9 @@
"are their defintion (note that neither class implements "
"<literal>Serializable</literal> )."
msgstr ""
+"Las clases POJO del ejemplo son: <literal>Person,</"
+"literal><literal>Student,</literal> y <literal>Address</literal>. A continuación se encuentra su definición (observe que ninguna clase implementa "
+"<literal>Serializable</literal> )."
#. Tag: programlisting
#: Appendix.xml:10
@@ -142,7 +145,7 @@
#: Appendix.xml:13
#, no-c-format
msgid "Sample configuration xml"
-msgstr ""
+msgstr "Configuración xml de ejemplo"
#. Tag: para
#: Appendix.xml:14
@@ -151,7 +154,7 @@
"Below is a sample xml configuration for PojoCache. Today, it uses the same "
"configuration option as that of TreeCache super-class except the MBean "
"service class (if you are deploying it under JBoss)."
-msgstr ""
+msgstr "A continuación encontrará una configuración xml de ejemplo para PojoCache. Utiliza la misma opción de configuración que la super clase TreeCache a excepción de la clase del servicio MBean (si está desplegando bajo JBoss). "
#. Tag: programlisting
#: Appendix.xml:17
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Book_Info.po
===================================================================
--- enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Book_Info.po 2008-11-17 04:50:39 UTC (rev 7143)
+++ enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Book_Info.po 2008-11-17 06:35:24 UTC (rev 7144)
@@ -8,7 +8,7 @@
"Project-Id-Version: Book_Info\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2008-11-13 10:00+1000\n"
+"PO-Revision-Date: 2008-11-17 16:15+1000\n"
"Last-Translator: Angela Garcia\n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,19 +20,19 @@
#: Book_Info.xml:5
#, no-c-format
msgid "JBoss Cache Pojo Cache Guide"
-msgstr ""
+msgstr "Manual de JBoss Cache Pojo Cache"
#. Tag: subtitle
#: Book_Info.xml:6
#, no-c-format
msgid "for Use with JBoss Enterprise Application Platform 4.3"
-msgstr ""
+msgstr "para uso con JBoss Enterprise Application Platform 4.3"
#. Tag: para
#: Book_Info.xml:12
#, no-c-format
msgid "This book is a User Guide for Pojo Cache"
-msgstr ""
+msgstr "Este libro es un manual del usuario para Pojo Cache"
#. Tag: holder
#: Book_Info.xml:26
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Colophon.po
===================================================================
--- enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Colophon.po 2008-11-17 04:50:39 UTC (rev 7143)
+++ enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Colophon.po 2008-11-17 06:35:24 UTC (rev 7144)
@@ -4,7 +4,7 @@
"Project-Id-Version: Colophon\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2008-11-13 10:02+1000\n"
+"PO-Revision-Date: 2008-11-17 16:12+1000\n"
"Last-Translator: Angela Garcia\n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -31,6 +31,8 @@
"<honorific>Mr</honorific><firstname>Norman</firstname> <surname>Walsh</"
"surname>"
msgstr ""
+"<honorific>Sr</honorific><firstname>Norman</firstname> <surname>Walsh</"
+"surname>"
#. Tag: affiliation
#: Colophon.xml:9
@@ -40,6 +42,9 @@
"jobtitle><orgname>ArborText, Inc.</orgname><orgdiv>Application Developement</"
"orgdiv>"
msgstr ""
+"<shortaffil>ATI</shortaffil><jobtitle>Analista de aplicaciones senior</"
+"jobtitle><orgname>ArborText, Inc.</orgname><orgdiv>Desarrollo de aplicaciones</"
+"orgdiv>"
#. Tag: title
#: Colophon.xml:11
@@ -57,5 +62,5 @@
#: Colophon.xml:14
#, no-c-format
msgid "Extensive review and rough drafts of Section 1.3, 1.4, and 1.5"
-msgstr ""
+msgstr "Revisión profunda y borradores de la sección 1.3, 1.4 y 1.5"
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Jbossaop.po
===================================================================
--- enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Jbossaop.po 2008-11-17 04:50:39 UTC (rev 7143)
+++ enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Jbossaop.po 2008-11-17 06:35:24 UTC (rev 7144)
@@ -8,7 +8,7 @@
"Project-Id-Version: Jbossaop\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2008-11-17 14:50+1000\n"
+"PO-Revision-Date: 2008-11-17 16:09+1000\n"
"Last-Translator: Angela Garcia\n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -170,19 +170,21 @@
#. Tag: para
#: Jbossaop.xml:36
#, no-c-format
-#, fuzzy
msgid ""
"The first step in creating a metrics aspect in JBoss AOP is to encapsulate "
"the metrics feature in its own Java class. Listing Two extracts the try/"
"finally block in Listing One's BankAccountDAO.withdraw() method into "
"Metrics, an implementation of a JBoss AOP Interceptor class."
-msgstr "El primer paso en crear un aspecto de métrica en JBoss AOP es encapsular la funcionalidad de métrica en su propia clase Java. "
+msgstr ""
+"El primer paso en crear un aspecto de métrica en JBoss AOP es encapsular la funcionalidad de métrica en su propia clase Java. Listando Two extracts the try/"
+"finalmente bloquea en Listing One's BankAccountDAO.withdraw() method en "
+"Metrics, como una implementación de una clase interceptora de JBoss AOP."
#. Tag: para
#: Jbossaop.xml:39
#, no-c-format
msgid "Listing Two: Implementing metrics in a JBoss AOP Interceptor"
-msgstr ""
+msgstr "Segundo listado: implementación de la métrica en un interceptor JBoss AOP"
#. Tag: programlisting
#: Jbossaop.xml:42
@@ -238,6 +240,8 @@
"calls any aspects that sit between the calling code and the actual method "
"body."
msgstr ""
+"Bajo JBoss AOP, la clase Metrics envuelve withdraw(): cuando el código de llamada invoca withdraw(), el marco de trabajo AOP rompe la llamada de método en sus diferentes partes "
+"y encapsula esas partes en un objeto de invocación. Después el marco de trabajo llama a cualquier aspecto que se encuentre entre el código de llamada y el cuerpo del método."
#. Tag: para
#: Jbossaop.xml:46
@@ -248,7 +252,7 @@
"uses an enclosing try/finally block to perform the timings. Line 13 obtains "
"contextual information about the method call from the Invocation object, "
"while line 14 displays the method name and the calculated metrics."
-msgstr ""
+msgstr "Cuando el marco de trabajo AOP se realiza diseccionando la llamada de método, llama el método de invocación de la métrica en la línea 3. La línea 8 envuelve y delega al método mismo y utiliza un bloque try/finally para coordinarlos. La línea 13 obtiene información contextual sobre la llamada de método del objeto de invocation object, mientras que la línea 14 presenta el nombre del método y la métrica calculada."
#. Tag: para
#: Jbossaop.xml:49
@@ -257,13 +261,13 @@
"Having the metrics code within its own object allows us to easily expand and "
"capture additional measurements later on. Now that metrics are encapsulated "
"into an aspect, let's see how to apply it."
-msgstr ""
+msgstr "El tener el código de la métrica dentro de su propio objeto nos permite expandir fácilmente y capturar medidas adicionales más adelante. Ahora que la métrica está encapsulada en un aspecto, vamos a ver cómo aplicarla. "
#. Tag: title
#: Jbossaop.xml:52
#, no-c-format
msgid "Applying Aspects in JBoss AOP"
-msgstr ""
+msgstr "Aplicación de aspectos en JBoss AOP"
#. Tag: para
#: Jbossaop.xml:53
@@ -276,6 +280,8 @@
"valid pointcut definition would be \"for all calls to the JDBC method "
"executeQuery(), call the aspect that verifies SQL syntax.\""
msgstr ""
+"Para aplicar un aspecto usted define cuando ejecutar el código del aspecto. Esos puntos en ejecución se llaman puntos de corte - pointcuts. Una analogía para un punto de corte es una expresión normal. En donde una expresión regular coincide con una cadena entonces una expresión del punto de corte coincide con eventos/puntos dentro de su aplicación. Por ejemplo, una definición válida de un punto de corte sería \"para todas las llamadas al método JDBC "
+"executeQuery(), llame el aspecto que verifica la sintaxis SQL.\""
#. Tag: para
#: Jbossaop.xml:56
@@ -286,13 +292,13 @@
"languages akin to queries to specify pointcuts. Others use tags. JBoss AOP "
"uses both. Listing Three shows how to define a pointcut for the metrics "
"example."
-msgstr ""
+msgstr "Un punto de entrada puede ser un acceso de campo, un método o una llamada de un constructor. Un evento puede ser una excepción que se presenta. Algunas implementaciones AOP utilizan lenguajes similares a peticiones para especificar puntos de corte, otros utilizan etiquetas. JBoss AOP utiliza ambos. El tercer listado muestra la manera de definir un punto de corte para el ejemplo de la métrica. "
#. Tag: para
#: Jbossaop.xml:59
#, no-c-format
msgid "Listing Three: Defining a pointcut in JBoss AOP"
-msgstr ""
+msgstr "Tercer listado: definición de un punto de corte en JBoss AOP"
#. Tag: programlisting
#: Jbossaop.xml:62
@@ -325,6 +331,8 @@
"applies the metrics aspect to all methods in all classes in the com.mc."
"billing package."
msgstr ""
+"Las líneas 1-3 definen un punto de corte que aplica el aspecto de la métrica al método especifico BankAccountDAO.withdraw(). Las líneas 4-6 definen un punto de corte general que aplica el aspecto de la métrica a todos los métodos en todas las clases en el paquete com.mc."
+"billing."
#. Tag: para
#: Jbossaop.xml:66
@@ -332,7 +340,7 @@
msgid ""
"There is also an optional annotation mapping if you do not like XML. See "
"JBossAop Reference Guide for more information."
-msgstr ""
+msgstr "También hay un mapeo opcional de anotaciones en caso de que no le guste XML. Consulte el manual de referencia de JBossAop para obtener mayor información. "
#. Tag: para
#: Jbossaop.xml:69
16 years, 1 month
JBoss Cache SVN: r7143 - enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES.
by jbosscache-commits@lists.jboss.org
Author: mospina
Date: 2008-11-16 23:50:39 -0500 (Sun, 16 Nov 2008)
New Revision: 7143
Modified:
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Jbossaop.po
Log:
translation for Pojo cache in progress
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Jbossaop.po
===================================================================
--- enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Jbossaop.po 2008-11-17 03:25:03 UTC (rev 7142)
+++ enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Jbossaop.po 2008-11-17 04:50:39 UTC (rev 7143)
@@ -8,7 +8,7 @@
"Project-Id-Version: Jbossaop\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2008-11-13 10:13+1000\n"
+"PO-Revision-Date: 2008-11-17 14:50+1000\n"
"Last-Translator: Angela Garcia\n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -30,13 +30,13 @@
"usage pertinent to PojoCache. Material in this chapter can be found in the "
"full JBossAop documentation. For more details, users are encouraged to visit "
"its doc page."
-msgstr ""
+msgstr "En este capítulo vamos a presentar una sinopsis de JBossAop, especificamente del uso pertinente de PojoCache. El material de este capítulo se puede encontrar en la documentación de JBossAop, le sugerimos que visite las páginas de la documentación. "
#. Tag: title
#: Jbossaop.xml:9
#, no-c-format
msgid "What is it?"
-msgstr ""
+msgstr "¿Qué es?"
#. Tag: para
#: Jbossaop.xml:10
@@ -49,7 +49,7 @@
"layered design. AOP allows you to intercept any event in a Java program and "
"trigger functionality based on those events. Combined with JDK 5.0 "
"annotations, it allows you to extend the Java language with new syntax."
-msgstr ""
+msgstr "La programación orientada a aspectos (AOP del inglés Aspect-Oriented Programming) es un nuevo paradigma que le permite organizar y poner en capas sus aplicaciones software de maneras que no eran posibles con enfoques tradicionales orientados a objetos. Los aspectos le permiten pegar funcionalidades de manera transparente de manera que pueda contar con un diseño con más capas. AOP le permite interceptar cualquier evento en un programa Java y dispara las funcionalidades con base en esos eventos. Combinado con las anotaciones JDK 5.0 le permite extender el lenguaje Java con la nueva sintaxis. "
#. Tag: para
#: Jbossaop.xml:13
@@ -60,7 +60,7 @@
"that looks and smells like it should have structure, but you can't find a "
"way to express this structure in code with traditional object-oriented "
"techniques."
-msgstr ""
+msgstr "Un aspecto es una característica común que usualmente se encuentra dispersa a través de métodos, clases, jerarquías de objetos o incluso modelos completos de objetos. Es un comportamiento que pareciera tener una estructura pero es dificil expresar esta estructura en código con técnicas tradicionales orientadas a objetos. "
#. Tag: para
#: Jbossaop.xml:16
@@ -71,7 +71,7 @@
"it's a behavior that \"cuts\" across multiple points in your object models, "
"yet is distinctly different. As a development methodology, AOP recommends "
"that you abstract and encapsulate crosscutting concerns."
-msgstr ""
+msgstr "Por ejemplo, la métrica es un aspecto común que se encuentra con la lógica empresarial. En AOP, una funcionalidad como la métrica es un comportamiento que \"corta\" a través de múltiples puntos en sus modelos de objetos. Como metodología de desarrollo, AOP recomienda que encapsule estos asuntos con puntos múltiples de corte. "
#. Tag: para
#: Jbossaop.xml:19
@@ -80,7 +80,7 @@
"For example, let's say you wanted to add code to an application to measure "
"the amount of time it would take to invoke a particular method. In plain "
"Java, the code would look something like the following."
-msgstr ""
+msgstr "Por ejemplo, vamos a decir que quiere añadir código a una aplicación para medir la cantidad de tiempo que le tomaría en invocar un método en particular. En Java simple, el código se vería como lo siguiente:"
#. Tag: programlisting
#: Jbossaop.xml:22
@@ -130,7 +130,7 @@
"because it's dispersed throughout your entire code base. And this is just a "
"tiny example! In many cases, OOP may not always be the best way to add "
"metrics to a class."
-msgstr ""
+msgstr "Aunque este código funciona, es dificil de prenderlo y apagarlo, y también se expande si queremos obtener la métrica para todos nuestros métodos. Este enfoque frente a la métrica es bastante dificil de mantener, expandir y extender ya que está disperso a través de toda la base del código. ¡Este es solo un pequeño ejemplo! En muchos casos puede que OOP no siempre sea la mejor manera de añadir la métrica a una clase."
#. Tag: para
#: Jbossaop.xml:26
@@ -141,13 +141,13 @@
"\"around\" your code. For example, AOP provides you with programmatic "
"control to specify that you want calls to BankAccountDAO to go through a "
"metrics aspect before executing the actual body of that code."
-msgstr ""
+msgstr "La programación orientada a aspectos le proporciona una manera de encapsular este tipo de funcionalidad del comportamiento. Le permite añadir comportamientos tales como la métrica \"alrededor\" de su código. Por ejemplo, AOP le proporciona un control programático para especificar que usted quiere que las llamas a BankAccountDAO vayan al aspecto métrico antes de ejecutar el cuerpo de ese código. "
#. Tag: title
#: Jbossaop.xml:29
#, no-c-format
msgid "Creating Aspects in JBoss AOP"
-msgstr ""
+msgstr "Creación de aspectos en JBoss AOP"
#. Tag: para
#: Jbossaop.xml:30
@@ -157,7 +157,7 @@
"crosscutting concerns, and a programmatic construct -- a programming "
"language or a set of tags -- to specify how you want to apply those snippets "
"of code."
-msgstr ""
+msgstr "En pocas palabras, todos los marcos de trabajo AOP definen dos cosas: una manrera de implementar asuntos con múltiple puntos de corte y una construcción programática -- un lenguaje de programación o un grupo de etiquetas -- para especificar la manera en que quiere aplicar esos pedazos de código. "
#. Tag: para
#: Jbossaop.xml:33
@@ -165,17 +165,18 @@
msgid ""
"Let's take a look at how JBoss AOP, its cross-cutting concerns, and how you "
"can implement a metrics aspect in JBoss."
-msgstr ""
+msgstr "Vamos a abordar JBoss AOP y la manera en que puede implementar el aspecto de métrica en JBoss. "
#. Tag: para
#: Jbossaop.xml:36
#, no-c-format
+#, fuzzy
msgid ""
"The first step in creating a metrics aspect in JBoss AOP is to encapsulate "
"the metrics feature in its own Java class. Listing Two extracts the try/"
"finally block in Listing One's BankAccountDAO.withdraw() method into "
"Metrics, an implementation of a JBoss AOP Interceptor class."
-msgstr ""
+msgstr "El primer paso en crear un aspecto de métrica en JBoss AOP es encapsular la funcionalidad de métrica en su propia clase Java. "
#. Tag: para
#: Jbossaop.xml:39
@@ -347,8 +348,9 @@
#. Tag: title
#: Jbossaop.xml:72
#, no-c-format
+#, fuzzy
msgid "Dynamic Aop"
-msgstr ""
+msgstr "Aop dinámico"
#. Tag: para
#: Jbossaop.xml:73
16 years, 1 month
JBoss Cache SVN: r7142 - enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES.
by jbosscache-commits@lists.jboss.org
Author: mospina
Date: 2008-11-16 22:25:03 -0500 (Sun, 16 Nov 2008)
New Revision: 7142
Modified:
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Instrumentation.po
enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Term.po
Log:
translation for Pojo cache in progress
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Instrumentation.po
===================================================================
--- enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Instrumentation.po 2008-11-14 16:19:25 UTC (rev 7141)
+++ enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Instrumentation.po 2008-11-17 03:25:03 UTC (rev 7142)
@@ -8,7 +8,7 @@
"Project-Id-Version: Instrumentation\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2008-11-13 10:09+1000\n"
+"PO-Revision-Date: 2008-11-17 12:04+1000\n"
"Last-Translator: Angela Garcia\n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -34,6 +34,8 @@
"POJO (or declare it in a xml file). This makes your PojoCache programming "
"nearly transparent."
msgstr ""
+"En este capítulo le explicamos cómo instrumentar (o \"aspectize\") los POJOs por medio de JBossAop. JBossAop necesita dos pasos: 1) declaración POJO, "
+"2) instrumentación. Pero depende en el JDK y en el modo de instrumentación que esté utilizando, puede que no necesite pre-procesar su POJO. Es decir, si utiliza JDK5.0 y el modo en tiempo de carga entonces todo lo que necesita hacer es una anotación en su POJO (o declararlo en un archivo xml). Esto hace que la programación de su PojoCache se casi transparente."
#. Tag: para
#: Instrumentation.xml:9
@@ -42,7 +44,7 @@
"For the first step, since we are using the dynamic Aop feature, a POJO is "
"only required to be declared \"prepare\". Basically, there are two ways to "
"do this: either via explicit xml or annotation (new since release 1.2.3.)"
-msgstr ""
+msgstr "Para el primer paso, ya que estamos utilizando la funcionalidad Aop dinámica, sólo se requiere que el POJO sea declarado como \"prepare\". Básicamente, hay dos maneras de lograr esto: explícitamente por xml o por una anotación (nuevo desde el lanzamiento 1.2.3.)"
#. Tag: para
#: Instrumentation.xml:12
@@ -51,7 +53,7 @@
"As for the second step, either we can ask JBossAop to do load-time (through "
"a special class loader, so-called loadtime mode) or compile-time "
"instrumentation (use of an aopc pre-compiler, so-called precompiled mode)"
-msgstr ""
+msgstr "Para el segundo paso podemos pedirle a JBossAop que lo haga en tiempo de carga (por medio de un cargador de clase especial llamado modo en tiempo de carga) o que haga la instrumentación en tiempo de compilación (usando un precompilador aopc llamado modo precompilado). "
#. Tag: title
#: Instrumentation.xml:15
@@ -76,6 +78,10 @@
"start intercepting either method, field, or constructor invocations using "
"the dynamic Aop."
msgstr ""
+"Para declarar un POJO por medio de un archivo de configuración XML necesitará un archivo <literal>META-"
+"INF/jboss-aop.xml</literal> que se encuentra bajo la ruta de la clase. El marco de trabajo de JBossAOP leerá este archivo durante el arranuqe para manipular el código byte cuando sea necesario para la introducción. También puede pre-compilarlo utilizando un pre-compilador llamado <literal>aopc</literal> de tal manera que no necesitará el archivo XML "
+"durante tiempo de carga. JBossAop proporciona un leguaje llamado <literal>pointcut</"
+"literal> que consiste de una expresión normal establecida para especificar los puntos de intercepción (o <literal>jointpoint</literal> en lenguaje aop). El jointpoint puede ser constructor, llamada de método o campo. Necesitará declarar cualquiera de sus POJO para que sea \"prepared\" de manera que el marco de trabajo AOP sepa cuando empezar a interceptar ya sea invocaciones de método, campo o constructor utilizando el Aop dinámico."
#. Tag: para
#: Instrumentation.xml:19
@@ -86,7 +92,7 @@
"it is the state that we are interested in. So you should only need to change "
"your POJO class name. For details of the pointcut language, please refer to "
"JBossAop."
-msgstr ""
+msgstr "Para PojoCache, sólo permitimos que todos los campos (tanto de lectura como de escritura) sean interceptados. Es decir que no nos importa la intercepción a nivel de método ya que estamos interesados es en el estado. Así que sólo necesitará cambiar el nombre de clase de su POJO. Para mayores detalles sobre el lenguaje pointcut consulte JBossAop."
#. Tag: para
#: Instrumentation.xml:22
@@ -99,6 +105,9 @@
"Appendix section. But here is the snippet for <literal>META-INF/jboss-aop."
"xml</literal> :"
msgstr ""
+"El paquete de distribución <literal>JBossCache</literal> autónomo proporciona una declaración de ejemplo para las clases del tutorial, a saber, <literal>Person</"
+"literal> y <literal>Address</literal> . En el apéndice encontrará una declaración de clase detallada para <literal>Person</literal> y <literal>Address</literal>. Pero aqui tiene una parte de <literal>META-INF/jboss-aop."
+"xml</literal> :"
#. Tag: programlisting
#: Instrumentation.xml:25
@@ -127,12 +136,14 @@
"operations in classes <code>Address</code> and <code>Person</code> will be "
"\"prepared\" (or \"aspectized\"). Note that:"
msgstr ""
+"La semántica detallada de <literal>jboss-aop.xml</literal> la puede encontrar en "
+"JBossAop. Pero las declaraciones anteriores básicamente declaran todas las operaciones de campos de lectura y escritura en clases <code>Address</code> y <code>Person</code> serán \"prepared\" (o \"aspectized\"). Observe que:"
#. Tag: para
#: Instrumentation.xml:31
#, no-c-format
msgid "The wildcard at the end of the expression signifies all fields in the POJO"
-msgstr ""
+msgstr "El comodín al final de la expresión significa todos los campos en el POJO"
#. Tag: para
#: Instrumentation.xml:34
@@ -140,7 +151,7 @@
msgid ""
"You can potentially replace specific class name with wildcard that includes "
"all the POJOs inside the same package space"
-msgstr ""
+msgstr "Potencialmente puede reemplazar un nombre de clase especifico con el comodín que incluye todos los POJOs dentro del mismo espacio de paquete"
#. Tag: para
#: Instrumentation.xml:37
@@ -151,6 +162,9 @@
"<code>Student</code> class is a subclass of <code>Person</code> , JBossAop "
"will automatically instrument it as well!"
msgstr ""
+"El operador <code>instanceof</code> declara cualquier sub-tipo o sub-clase del POJO en especifico que también será \"aspectized\". Por ejemplo, si una clase "
+"<code>Student</code> es una subclase de <code>Person</code> , JBossAop "
+"también la instrumentará ¡de manera automática!"
#. Tag: para
#: Instrumentation.xml:40
@@ -161,6 +175,8 @@
"The main reason being that we consider all fields as stateful data. However, "
"we can relax this requirement in the future if there is a use case for it."
msgstr ""
+"Interceptamos el campo de todos los niveles de acceso (por ejemplo, <literal>private</"
+"literal> , <literal>protected</literal> , <literal>public</literal> , etc). La razón principal es que consideramos todos los campos como datos con estado. Sin embargo, en el futuro podemos relajarnos con referencia a este requerimiento en caso de que haya un ejemplo de este caso."
#. Tag: para
#: Instrumentation.xml:43
@@ -172,6 +188,8 @@
"either. If you don't want your field to be managed by the cache, you can "
"declare them with these modifiers, e.g., transient."
msgstr ""
+"No interceptamos modificadores de campos de <literal>static</literal> , "
+"<literal>final</literal> y <literal>transient</literal>. Es decir los campos con estos modificadores no se almacenan en caché y tampoco se replican. Si no quiere que el caché administre su campo entonces puede declararlos con estos modificadores, por ejemplo, transitorio."
#. Tag: title
#: Instrumentation.xml:46
@@ -189,6 +207,8 @@
"to support Java 1.4 as well, JBossAop has also used a xdoclet type "
"annotation syntax, and as a result will need an annotation pre-compiler."
msgstr ""
+"Las anotaciones son una nueva funcionalidad en Java 5.0 que cuando se declara puede contener "
+"metadatos en tiempo de compilación y de ejecución. Es bastante conveniente para declaraciones aop ya que no se necesitará un descriptor externo xml de metadatos. Con el fin de soportar Java 1.4 también, JBossAop ha utilizado una sintaxis de anotación de tipo xdoclet y por lo tanto necesitará un pre-compilador de anotaciones."
#. Tag: para
#: Instrumentation.xml:50
@@ -196,7 +216,7 @@
msgid ""
"Note that PojoCache starts to support the use of annotation since release "
"1.2.3 with Java 1.4, and release 1.3 with Java 5.0."
-msgstr ""
+msgstr "Observe que PojoCache empieza a soportar el uso de anotaciones desde el lanzamiento 1.2.3 con Java 1.4 y el lanzamiento 1.3 con Java 5.0."
#. Tag: title
#: Instrumentation.xml:53
@@ -214,6 +234,8 @@
"declare a regular POJO, while the latter one is used to declare the POJO and "
"its sub-classes or sub-types."
msgstr ""
+"Con el fin de proporcionar la máxima transparencia hemos creado dos interfaces aop marker: <code>@(a)org.jboss.cache.aop.AopMarker</code> y <code>@@org."
+"jboss.cache.aop.InstanceOfAopMarker.</code> La primera interfaz se utiliza para declarar un POJO normal, mientras que el último se utiliza para declarar el POJO y sus sub-clases o sub-tipos."
#. Tag: para
#: Instrumentation.xml:57
@@ -234,6 +256,14 @@
" </programlisting> Basically, it simply states that any "
"annotation with both marker interfaces will be \"aspectized\" accordingly."
msgstr ""
+"Finalmente, para soportar las anotaciones (para simplificar el esfuerzo de desarrollo del usuario), la distribución de JBossCache se envía junto con un <literal>jboss-aop.xml</literal> bajo el directorio <literal>resources</literal>. Cuando utiliza el precompilador de la anotación, este archivo necesita estar en la ruta de clase. Por ejemplo, refiérase al objetivo de construcción Ant <literal>annoc</literal>. Para su referencia aqui tiene el contenido de ese <literal>jboss-aop.xml</literal> : <programlisting>\n"
+" <aop>\n"
+" <prepare expr=\"field(* @(a)org.jboss.cache.aop.AopMarker-"
+">*)\" />\n"
+" <prepare expr=\"field(* $instanceof{@(a)org.jboss."
+"cache.aop.InstanceOfAopMarker}->*)\" />\n"
+" </aop>\n"
+" </programlisting> Básicamente, simplemente afirma que cualquier anotación con ambas interfaces marker serán \"aspectized\"."
#. Tag: para
#: Instrumentation.xml:62
@@ -241,7 +271,7 @@
msgid ""
"Here is two code snippets that illustrate the declaration of both types "
"through 1.4 style annotation:"
-msgstr ""
+msgstr "Aqui tiene dos pedazos de código que ilustran la declaración de ambos tipos por medio de la anotación de estilo 1.4. "
#. Tag: programlisting
#: Instrumentation.xml:66
@@ -263,7 +293,7 @@
msgid ""
"The above declaration will instrument the class <literal>Address</literal>, "
"and"
-msgstr ""
+msgstr "La declaración anterior instrumentará la clase <literal>Address</literal> y"
#. Tag: programlisting
#: Instrumentation.xml:70
@@ -288,6 +318,9 @@
"from <literal>Personal</literal>, then it will get instrumented "
"automatically without further annotation declaration."
msgstr ""
+"La declaración anterior instrumentará la clase <literal>Person</literal> "
+"y todas sus sub-classes. Es decir si las sub-clase <literal>Student</literal> de <literal>Personal</literal> entonces será instrumentada "
+"automáticamente sin más declaraciones de anotaciones."
#. Tag: para
#: Instrumentation.xml:73
@@ -296,7 +329,7 @@
"Note that the simplicity of declaring POJOs through annotation and its "
"marker interfaces (although you will need to use the annotation pre-"
"compiler.) See the build.xml target <code>annoc</code> for example."
-msgstr ""
+msgstr "Observe que la simplicidad de declarar POJOs por medio de anotaciones y sus interfaces marker (aunque necesitará utilizar el pre-compilador de anotaciones). Para ver un ejemplo consulte el build.xml destino <code>annoc</code>."
#. Tag: title
#: Instrumentation.xml:77
@@ -319,12 +352,19 @@
"Note that we have decided to use different annotation naming convention "
"between JDK1.4 and 5.0."
msgstr ""
+"La anotación JDK5.0 es similar a la contraparte JDK1.4 excepto que los nombres de las anotaciones mismas son diferentes, por ejemplo, las dos anotaciones son: "
+"<code>@org.jboss.cache.aop.annotation.PojoCacheable</code> y <code>@org."
+"jboss.cache.aop.annotation.InstanceOfPojoCacheable.</code> Por ejemplo, cuando utiliza anotaciones JDK5.0, en vez de utilizar <code>@(a)org.jboss.cache.aop."
+"AopMarker</code> en su lugar utilizará <code>@org.jboss.cache.aop.annotation."
+"PojoCacheable</code>. En la distribución bajo <code>examples/"
+"PojoCache/annotated50</code>, hay un ejemplo de cómo utilizar la anotación JDK50. "
+"Observe que hemos decidido utilizar una convención de nombres de anotación diferente entre JDK1.4 y 5.0."
#. Tag: title
#: Instrumentation.xml:81
#, no-c-format
msgid "JDK5.0 field level annotations"
-msgstr ""
+msgstr "Anotaciones a nivel de campo JDK5.0"
#. Tag: para
#: Instrumentation.xml:82
Modified: enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Term.po
===================================================================
--- enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Term.po 2008-11-14 16:19:25 UTC (rev 7141)
+++ enterprise-docs/tags/JBoss_EAP_4_3/Cache_Pojo_Cache_Guide/es-ES/Term.po 2008-11-17 03:25:03 UTC (rev 7142)
@@ -8,7 +8,7 @@
"Project-Id-Version: Term\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-09-21 04:57+0000\n"
-"PO-Revision-Date: 2008-11-13 10:16+1000\n"
+"PO-Revision-Date: 2008-11-17 09:52+1000\n"
"Last-Translator: Angela Garcia\n"
"Language-Team: <en(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -34,13 +34,13 @@
msgid ""
"The section lists some basic terminology that will be used throughout this "
"guide."
-msgstr ""
+msgstr "Esta sección lista la terminología básica que se utilizará en este manual. "
#. Tag: term
#: Term.xml:13
#, no-c-format
msgid "<term>Aop</term>"
-msgstr ""
+msgstr "<term>Aop</term>"
#. Tag: para
#: Term.xml:15
@@ -53,12 +53,14 @@
"layered design. AOP allows you to intercept any event in a Java program and "
"trigger functionality based on those events."
msgstr ""
+"La programación orientada a aspectos (AOP del inglés Aspect-Oriented Programming) es un nuevo paradigma que le permite "
+"organizar y poner sus aplicaciones de software en diversas capas de maneras que no eran posibles con los enfoques tradicionales orientados a objetos. Los aspectos le permiten unir funcionalidades de manera transparente para que pueda tener un diseño con más capas. AOP le permite interceptar cualquier evento en un programa Java y disparar funcionalidades con base en esos eventos."
#. Tag: term
#: Term.xml:21
#, no-c-format
msgid "JBossAop"
-msgstr ""
+msgstr "JBossAop"
#. Tag: para
#: Term.xml:23
@@ -67,13 +69,13 @@
"JBossAop is an open-source Aop framework library developed by JBoss. It is "
"100% Java based and can be run either as a standalone or inside an "
"application server environment. More details can be found at www.jboss.com."
-msgstr ""
+msgstr "JBossAop es una biblioteca de marco de trabajo Aop de código abierto desarrollada por JBoss. Esta basada en Java y se puede ejecutar de manera autónoma o dentro del entorno del servidor de aplicaciones. Encontrará más detalles en www.jboss.com."
#. Tag: term
#: Term.xml:29
#, no-c-format
msgid "Dynamic Aop"
-msgstr ""
+msgstr "Aop dinámico"
#. Tag: para
#: Term.xml:31
@@ -82,13 +84,13 @@
"Dynamic Aop is a feature of JBossAop that provides a hook so that a caller "
"can insert event interception on the POJO at runtime. PojoCache currently "
"uses this feature to perform field level interception."
-msgstr ""
+msgstr "El Aop dinámico es una característica de JBossAop que proporciona un gancho para que el que realiza la llamada pueda insertar la intercepción de eventos en el POJO en tiempo de ejecución. Actualmente PojoCache utiliza esta característica para realizar intercepción a nivel de campos."
#. Tag: term
#: Term.xml:37
#, no-c-format
msgid "JGroups"
-msgstr ""
+msgstr "JGroups"
#. Tag: para
#: Term.xml:39
@@ -99,13 +101,13 @@
"membership management. It has been a de facto replication layer used by "
"numerous open-source projects for clustering purposes. It is also used by "
"JBossCache for replication layer."
-msgstr ""
+msgstr "JGroups es una confiable biblioteca de mensajería de grupos Java de código abierto y LGPL. Además del transporte de mensajería de manera confiable también realiza la administración de membresías de grupo. Ha sido una capa de replicación de facto que múltiples proyectos de código abierto utilizan para clustering. JBossCache también lo utiliza para la capa de replicación."
#. Tag: term
#: Term.xml:45
#, no-c-format
msgid "TreeCache"
-msgstr ""
+msgstr "TreeCache"
#. Tag: para
#: Term.xml:47
@@ -117,24 +119,27 @@
"memory, replicated, and persistent. PojoCache currently is a sub-class of "
"TreeCache."
msgstr ""
+"TreeCache es un componente de JBossCache que es un sistema caché simple. Es decir que almacena una referencia de objeto Java y requiere que un objeto sea serializable para realizar replicación en binarios. Se basa en Java se encuentra en "
+"memoria, es replicado y persistente. Actualmente PojoCache es una sub-clase de "
+"TreeCache."
#. Tag: term
#: Term.xml:53
#, no-c-format
msgid "POJO"
-msgstr ""
+msgstr "POJO"
#. Tag: para
#: Term.xml:55
#, no-c-format
msgid "Plain old Java object."
-msgstr ""
+msgstr "POJO es un acrónimo de Plain old Java object."
#. Tag: term
#: Term.xml:61
#, no-c-format
msgid "Annotation"
-msgstr ""
+msgstr "Anotación"
#. Tag: para
#: Term.xml:63
@@ -143,13 +148,13 @@
"Annotation is a new feature in JDK5.0. It introduces metadata along side the "
"Java code that can be accessed at runtime. PojoCache currently use both "
"JDK1.4 and JDK50 annotation to support POJO instrumentation."
-msgstr ""
+msgstr "Una anotación es una nueva característica en JDK5.0. Introduce metadatos junto con el código Java que se puede acceder en tiempo de ejecución. Actualmente PojoCache utiliza las anotaciones JDK1.4 y JDK50 para soportar una instrumentación POJO."
#. Tag: term
#: Term.xml:69
#, no-c-format
msgid "Prepare"
-msgstr ""
+msgstr "Prepare"
#. Tag: para
#: Term.xml:71
@@ -162,12 +167,15 @@
"listing. Note that When a POJO is declared properly either through the xml "
"or annotation, we consider it \"aspectized\"."
msgstr ""
+"Prepare es una palabra clave en el lenguaje de JBossAop utilizada para especificar qué POJO necesita ser instrumentado. Aparece en un archivo <literal>jboss-aop.xml</"
+"literal>. Sin embargo, si puede utilizar una anotación para especificar la instrumentación POJO entonces no hay necesidad de un listado <literal>jboss-aop.xml</literal>. Observe que cuando se declara aporpiadamente un POJO por medio del xml "
+"o por una anotación entonces lo consideramos como \"aspectized\"."
#. Tag: term
#: Term.xml:77
#, no-c-format
msgid "Instrumentation"
-msgstr ""
+msgstr "Instrumentación"
#. Tag: para
#: Term.xml:79
@@ -180,4 +188,7 @@
"classloader in the run script. This step is necessary for an Aop system to "
"intercept events that are interesting to users."
msgstr ""
+"La instrumentación es un proceso Aop que básicamente pre-procesa (por ejemplo, "
+"al tejer código byte) en el POJO. Hay dos modos: en tiempo de compilación o en tiempo de carga. El tejer en tiempo de compilación se puede lograr con un precompilador Aop "
+"(<literal>aopc</literal>) mientras que en tiempo de carga se hace para especificar un cargador de clase especial en el script de ejecución. Este paso es necesario para que un sistema Aop intercepte eventos que son interesantes para los usuarios."
16 years, 1 month
JBoss Cache SVN: r7141 - in pojo/tags: 3.0.0.GA and 2 other directories.
by jbosscache-commits@lists.jboss.org
Author: jason.greene(a)jboss.com
Date: 2008-11-14 11:19:25 -0500 (Fri, 14 Nov 2008)
New Revision: 7141
Added:
pojo/tags/3.0.0.GA/
pojo/tags/3.0.0.GA/pom.xml
pojo/tags/3.0.0.GA/src/main/docbook/faq/en/master.xml
pojo/tags/3.0.0.GA/src/main/docbook/tutorial/en/master.xml
Removed:
pojo/tags/3.0.0.GA/pom.xml
pojo/tags/3.0.0.GA/src/main/docbook/faq/en/master.xml
pojo/tags/3.0.0.GA/src/main/docbook/tutorial/en/master.xml
Log:
Tag 3.0.0.GA
Copied: pojo/tags/3.0.0.GA (from rev 7137, pojo/trunk)
Deleted: pojo/tags/3.0.0.GA/pom.xml
===================================================================
--- pojo/trunk/pom.xml 2008-11-14 14:10:27 UTC (rev 7137)
+++ pojo/tags/3.0.0.GA/pom.xml 2008-11-14 16:19:25 UTC (rev 7141)
@@ -1,307 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <properties>
- <jbosscache-pojo-version>3.0.0.CR3</jbosscache-pojo-version>
- <jbosscache-core-version>3.0.0.CR3</jbosscache-core-version>
- <jboss.aop.version>2.0.0.GA</jboss.aop.version>
- </properties>
- <parent>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-common-parent</artifactId>
- <version>1.1</version>
- </parent>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-pojo</artifactId>
- <version>${jbosscache-pojo-version}</version>
- <name>JBoss Cache - POJO Edition</name>
- <description>JBoss Cache - POJO Edition</description>
- <packaging>jar</packaging>
- <dependencies>
- <dependency>
- <groupId>org.jboss.aop</groupId>
- <artifactId>jboss-aop</artifactId>
- <version>${jboss.aop.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-core</artifactId>
- <version>${jbosscache-core-version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-core</artifactId>
- <version>${jbosscache-core-version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1.1</version>
- </dependency>
- <dependency>
- <groupId>net.jcip</groupId>
- <artifactId>jcip-annotations</artifactId>
- <version>1.0</version>
- <optional>true</optional>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.logging</groupId>
- <artifactId>jboss-logging-log4j</artifactId>
- <version>2.0.5.GA</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>javadoc</goal>
- </goals>
- <configuration>
- <aggregate>${jbosscache.reports.aggregate}</aggregate>
- <links>
- <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
- <link>http://java.sun.com/javaee/5/docs/api/</link>
- <link>http://labs.jboss.org/file-access/default/members/jbosscache/freezone/doc...</link>
- </links>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.2-beta-1</version>
- <executions>
- <execution>
- <id>assemble</id>
- <phase>install</phase>
- <goals>
- <goal>attached</goal>
- </goals>
- <configuration>
- <descriptors>
- <descriptor>assembly/bin.xml</descriptor>
- <descriptor>assembly/doc.xml</descriptor>
- <descriptor>assembly/all.xml</descriptor>
- </descriptors>
- <finalName>${artifactId}-${jbosscache-pojo-version}</finalName>
- <outputDirectory>target/distribution</outputDirectory>
- <workDirectory>target/assembly/work</workDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <systemProperties>
- <property>
- <name>bind.address</name>
- <value>127.0.0.1</value>
- </property>
- <property>
- <name>java.net.preferIPv4Stack</name>
- <value>true</value>
- </property>
- <property>
- <name>jgroups.stack</name>
- <value>udp</value>
- </property>
- </systemProperties>
- <groups>functional</groups>
- <forkMode>always</forkMode>
- <argLine>-Djboss.aop.path=${basedir}/src/main/resources/META-INF/pojocache-aop.xml -javaagent:${settings.localRepository}/org/jboss/aop/jboss-aop/${jboss.aop.version}/jboss-aop-${jboss.aop.version}.jar</argLine>
- <!-- Warning, this does not work right on 2.4-SNAPSHOT, (see SUREFIRE-349) -->
- <!-- This seems to fail in some cases on 2.3 as well, disable for now -->
- <useSystemClassLoader>true</useSystemClassLoader>
- <redirectTestOutputToFile>false</redirectTestOutputToFile>
- <trimStackTrace>false</trimStackTrace>
- </configuration>
- </plugin>
- <!-- the docbook generation plugin for the user guide -->
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jdocbook-plugin</artifactId>
- <version>2.0.0</version>
- <extensions>true</extensions>
- <dependencies>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossorg-docbook-xslt</artifactId>
- <version>1.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossorg-jdocbook-style</artifactId>
- <version>1.0.0</version>
- <type>jdocbook-style</type>
- </dependency>
- <dependency>
- <groupId>com.uwyn</groupId>
- <artifactId>jhighlight</artifactId>
- <version>1.0</version>
- </dependency>
- <dependency>
- <groupId>de.java2html</groupId>
- <artifactId>java2html</artifactId>
- <version>5.0</version>
- </dependency>
- <dependency>
- <groupId>org.richfaces.docs</groupId>
- <artifactId>highlight</artifactId>
- <version>3.1.4.GA</version>
- </dependency>
- </dependencies>
- <executions>
-
- <!-- The User Guide-->
- <execution>
- <id>userguide_en</id>
- <phase>package</phase>
- <goals>
- <goal>resources</goal>
- <goal>generate</goal>
- </goals>
- <configuration>
- <sourceDocumentName>master.xml</sourceDocumentName>
- <sourceDirectory>${basedir}/src/main/docbook/userguide/en</sourceDirectory>
- <imageResource>
- <directory>${basedir}/src/main/docbook/images</directory>
- </imageResource>
- <cssResource>
- <directory>${basedir}/src/main/docbook/css</directory>
- </cssResource>
- <targetDirectory>${basedir}/target/docbook/userguide_en</targetDirectory>
- <formats>
- <format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
- <finalName>userguide_en.pdf</finalName>
- </format>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- <options>
- <xincludeSupported>false</xincludeSupported>
- </options>
- </configuration>
- </execution>
-
- <!-- The Tutorial -->
- <execution>
- <id>tutorial_en</id>
- <phase>package</phase>
- <goals>
- <goal>resources</goal>
- <goal>generate</goal>
- </goals>
- <configuration>
- <sourceDocumentName>master.xml</sourceDocumentName>
- <sourceDirectory>${basedir}/src/main/docbook/tutorial/en</sourceDirectory>
- <imageResource>
- <directory>${basedir}/src/main/docbook/images</directory>
- </imageResource>
- <cssResource>
- <directory>${basedir}/src/main/docbook/css</directory>
- </cssResource>
- <targetDirectory>${basedir}/target/docbook/tutorial_en</targetDirectory>
- <formats>
- <format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
- <finalName>tutorial_en.pdf</finalName>
- </format>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- <options>
- <xincludeSupported>false</xincludeSupported>
- </options>
- </configuration>
- </execution>
-
- <!-- the FAQs -->
- <execution>
- <id>faq_en</id>
- <phase>package</phase>
- <goals>
- <goal>resources</goal>
- <goal>generate</goal>
- </goals>
- <configuration>
- <sourceDocumentName>master.xml</sourceDocumentName>
- <sourceDirectory>${basedir}/src/main/docbook/faq/en</sourceDirectory>
- <imageResource>
- <directory>${basedir}/src/main/docbook/images</directory>
- </imageResource>
- <cssResource>
- <directory>${basedir}/src/main/docbook/css</directory>
- </cssResource>
- <targetDirectory>${basedir}/target/docbook/faq_en</targetDirectory>
- <formats>
- <format>
- <formatName>pdf</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
- <finalName>faq_en.pdf</finalName>
- </format>
- <format>
- <formatName>html</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- <format>
- <formatName>html_single</formatName>
- <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
- <finalName>index.html</finalName>
- </format>
- </formats>
- <options>
- <xincludeSupported>false</xincludeSupported>
- </options>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <!-- basic JBoss repository so that the common parent POM in jbosscache-support can be found -->
- <repositories>
- <repository>
- <id>snapshots.jboss.org</id>
- <url>http://snapshots.jboss.org/maven2</url>
- </repository>
- <repository>
- <id>repository.jboss.org</id>
- <url>http://repository.jboss.org/maven2</url>
- </repository>
- </repositories>
-</project>
Copied: pojo/tags/3.0.0.GA/pom.xml (from rev 7140, pojo/trunk/pom.xml)
===================================================================
--- pojo/tags/3.0.0.GA/pom.xml (rev 0)
+++ pojo/tags/3.0.0.GA/pom.xml 2008-11-14 16:19:25 UTC (rev 7141)
@@ -0,0 +1,307 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <properties>
+ <jbosscache-pojo-version>3.0.0.GA</jbosscache-pojo-version>
+ <jbosscache-core-version>3.0.0.GA</jbosscache-core-version>
+ <jboss.aop.version>2.0.0.GA</jboss.aop.version>
+ </properties>
+ <parent>
+ <groupId>org.jboss.cache</groupId>
+ <artifactId>jbosscache-common-parent</artifactId>
+ <version>1.1</version>
+ </parent>
+ <groupId>org.jboss.cache</groupId>
+ <artifactId>jbosscache-pojo</artifactId>
+ <version>${jbosscache-pojo-version}</version>
+ <name>JBoss Cache - POJO Edition</name>
+ <description>JBoss Cache - POJO Edition</description>
+ <packaging>jar</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.aop</groupId>
+ <artifactId>jboss-aop</artifactId>
+ <version>${jboss.aop.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.cache</groupId>
+ <artifactId>jbosscache-core</artifactId>
+ <version>${jbosscache-core-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.cache</groupId>
+ <artifactId>jbosscache-core</artifactId>
+ <version>${jbosscache-core-version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>net.jcip</groupId>
+ <artifactId>jcip-annotations</artifactId>
+ <version>1.0</version>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-log4j</artifactId>
+ <version>2.0.5.GA</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>javadoc</goal>
+ </goals>
+ <configuration>
+ <aggregate>${jbosscache.reports.aggregate}</aggregate>
+ <links>
+ <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
+ <link>http://java.sun.com/javaee/5/docs/api/</link>
+ <link>http://labs.jboss.org/file-access/default/members/jbosscache/freezone/doc...</link>
+ </links>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-1</version>
+ <executions>
+ <execution>
+ <id>assemble</id>
+ <phase>install</phase>
+ <goals>
+ <goal>attached</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>assembly/bin.xml</descriptor>
+ <descriptor>assembly/doc.xml</descriptor>
+ <descriptor>assembly/all.xml</descriptor>
+ </descriptors>
+ <finalName>${artifactId}-${jbosscache-pojo-version}</finalName>
+ <outputDirectory>target/distribution</outputDirectory>
+ <workDirectory>target/assembly/work</workDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>bind.address</name>
+ <value>127.0.0.1</value>
+ </property>
+ <property>
+ <name>java.net.preferIPv4Stack</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>jgroups.stack</name>
+ <value>udp</value>
+ </property>
+ </systemProperties>
+ <groups>functional</groups>
+ <forkMode>always</forkMode>
+ <argLine>-Djboss.aop.path=${basedir}/src/main/resources/META-INF/pojocache-aop.xml -javaagent:${settings.localRepository}/org/jboss/aop/jboss-aop/${jboss.aop.version}/jboss-aop-${jboss.aop.version}.jar</argLine>
+ <!-- Warning, this does not work right on 2.4-SNAPSHOT, (see SUREFIRE-349) -->
+ <!-- This seems to fail in some cases on 2.3 as well, disable for now -->
+ <useSystemClassLoader>true</useSystemClassLoader>
+ <redirectTestOutputToFile>false</redirectTestOutputToFile>
+ <trimStackTrace>false</trimStackTrace>
+ </configuration>
+ </plugin>
+ <!-- the docbook generation plugin for the user guide -->
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.0.0</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-docbook-xslt</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.0.0</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ <dependency>
+ <groupId>com.uwyn</groupId>
+ <artifactId>jhighlight</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>de.java2html</groupId>
+ <artifactId>java2html</artifactId>
+ <version>5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.docs</groupId>
+ <artifactId>highlight</artifactId>
+ <version>3.1.4.GA</version>
+ </dependency>
+ </dependencies>
+ <executions>
+
+ <!-- The User Guide-->
+ <execution>
+ <id>userguide_en</id>
+ <phase>package</phase>
+ <goals>
+ <goal>resources</goal>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${basedir}/src/main/docbook/userguide/en</sourceDirectory>
+ <imageResource>
+ <directory>${basedir}/src/main/docbook/images</directory>
+ </imageResource>
+ <cssResource>
+ <directory>${basedir}/src/main/docbook/css</directory>
+ </cssResource>
+ <targetDirectory>${basedir}/target/docbook/userguide_en</targetDirectory>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
+ <finalName>userguide_en.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>false</xincludeSupported>
+ </options>
+ </configuration>
+ </execution>
+
+ <!-- The Tutorial -->
+ <execution>
+ <id>tutorial_en</id>
+ <phase>package</phase>
+ <goals>
+ <goal>resources</goal>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${basedir}/src/main/docbook/tutorial/en</sourceDirectory>
+ <imageResource>
+ <directory>${basedir}/src/main/docbook/images</directory>
+ </imageResource>
+ <cssResource>
+ <directory>${basedir}/src/main/docbook/css</directory>
+ </cssResource>
+ <targetDirectory>${basedir}/target/docbook/tutorial_en</targetDirectory>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
+ <finalName>tutorial_en.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>false</xincludeSupported>
+ </options>
+ </configuration>
+ </execution>
+
+ <!-- the FAQs -->
+ <execution>
+ <id>faq_en</id>
+ <phase>package</phase>
+ <goals>
+ <goal>resources</goal>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${basedir}/src/main/docbook/faq/en</sourceDirectory>
+ <imageResource>
+ <directory>${basedir}/src/main/docbook/images</directory>
+ </imageResource>
+ <cssResource>
+ <directory>${basedir}/src/main/docbook/css</directory>
+ </cssResource>
+ <targetDirectory>${basedir}/target/docbook/faq_en</targetDirectory>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
+ <finalName>faq_en.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>false</xincludeSupported>
+ </options>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!-- basic JBoss repository so that the common parent POM in jbosscache-support can be found -->
+ <repositories>
+ <repository>
+ <id>snapshots.jboss.org</id>
+ <url>http://snapshots.jboss.org/maven2</url>
+ </repository>
+ <repository>
+ <id>repository.jboss.org</id>
+ <url>http://repository.jboss.org/maven2</url>
+ </repository>
+ </repositories>
+</project>
Deleted: pojo/tags/3.0.0.GA/src/main/docbook/faq/en/master.xml
===================================================================
--- pojo/trunk/src/main/docbook/faq/en/master.xml 2008-11-14 14:10:27 UTC (rev 7137)
+++ pojo/tags/3.0.0.GA/src/main/docbook/faq/en/master.xml 2008-11-14 16:19:25 UTC (rev 7141)
@@ -1,665 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "../../../../docbook-support/support/docbook-dtd/docbookx.dtd"
- >
-<article class="faq" lang="en">
- <articleinfo>
- <title>Frequently Asked Questions about POJO Cache</title>
- <releaseinfo>Release 3.0.0.CR3</releaseinfo>
- <pubdate>November 2008</pubdate>
-
- <author>
- <firstname>Ben</firstname>
- <surname>Wang</surname>
- <email>ben.wang(a)jboss.com</email>
- </author>
- <author>
- <firstname>Scott</firstname>
- <surname>Marlow</surname>
- <email>smarlow(a)novell.com</email>
- </author>
- <author>
- <firstname>Jason</firstname>
- <surname>Greene</surname>
- <email>jason.greene(a)jboss.com</email>
- </author>
- </articleinfo>
-
- <para>These are frequently asked questions regarding POJO Cache.</para>
-
- <qandaset defaultlabel="qanda">
- <title>General Information</title>
-
- <qandaentry>
- <question id="a49">
- <para>What is POJO Cache?</para>
- </question>
-
- <answer>
- <para>POJO Cache is a fine-grained field-level replicated and
- transactional POJO (plain old Java object) cache. By POJO, we mean
- that the cache: 1) automatically manages object mapping and
- relationship for a client under both local and replicated cache
- mode, 2) provides support for inheritance relationship between
- "aspectized" POJOs. By leveraging the dynamic AOP in JBossAop, it is
- able to map a complex object into the cache store, preserve and
- manage the object relationship behind the scene. During replication
- mode, it performs fine-granularity (i.e., on a per-field basis)
- update, and thus has the potential to boost cache performance and
- minimize network traffic.
- </para>
-
- <para>From a user perspective, once your POJO is managed by the
- cache, all cache operations are transparent. Therefore, all the
- usual in-VM POJO method semantics are still preserved, providing
- ease of use. For example, if a POJO has been put in POJO Cache (by
- calling
- <literal>attach</literal>
- , for example), then any POJO get/set
- method will be
- intercepted by POJO Cache to provide the data from the
- cache.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a1">
- <para>What is the relationship between Core Cache and POJO Cache?</para>
- </question>
-
- <answer>
- <para>Cores Cache is a traditional generic distributed cache system.
- POJO Cache uses Core Cache as the underlying distributed state system to achieve object caching.
- As a result, all the replication aspects are configured with the Cache configuration XML.
- Additionally, POJO Cache also has API to expose the Cache interface (via
- <literal>getCache()</literal>
- API).
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a52">
- <para>What is the difference between Core Cache and
- POJO Cache?
- </para>
- </question>
-
- <answer>
- <para>Think of POJO Cache as a Cache on steroids. :-)
- Seriously, both are cache stores-- one is a generic cache and the other other one POJO Cache.
- However, while Cache only
- provides pure object reference storage (e.g.,
- <literal>put(FQN fqn,
- Object key, Object value)
- </literal>
- ), POJO Cache goes beyond that
- and performs fine-grained field level replication object mapping and
- relationship management for a user behind the scenes. As a result,
- if you have complex object systems that you would like to cache, you
- can have POJO Cache manage it for you. You simply treat your
- object systems as they are residing in-memory, e.g., use your
- regular POJO methods without worrying about cache management.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a521">
- <para>How does POJO Cache work then?</para>
- </question>
-
- <answer>
- <para>POJO Cache uses the JBoss AOP project to perform field level
- interception. This allows POJO Cache to monitor changes to your object model, and react
- accordingly.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a522">
- <para>What's changed between 1.x and 2.x release then?</para>
- </question>
-
- <answer>
- <para>Starting in 2.0 release, we have a separate library for POJO Cache,
- <literal>pojocache.jar</literal>
- that
- is extra to the core
- <literal>jboss-cache.jar</literal>
- . Since we uses Cache as a delegate, user
- will need to have a regular xml to configure the core Cache functionality (e.g., replication and locking
- aspect). In addition, there is also the
- <literal>pojocache-aop.xml</literal>
- that specifies the POJO Cache
- interceptor stack (that can be left as default).
- </para>
- <para>Additionally, here are the changed features:
- <itemizedlist>
- <listitem>
- <para>New APIs. It replaces
- <literal>putObject, removeObject, and get</literal>
- with
- <literal>attach, detach, and find</literal>
- .
- </para>
- </listitem>
- <listitem>
- <para>New POJO based events that a user can subscribe to.</para>
- </listitem>
- <listitem>
- <para>New configuration pojocache-aop.xml specifically for POJO Cache, in addition to
- the regular cache-service.xml for the delegating Cache.
- </para>
- </listitem>
- <listitem>
- <para>New package namespace (
- <literal>org.jboss.cache.pojo)</literal>
- for POJO Cache.
- The previous
- <literal>org.jboss.cache.aop</literal>
- space has been deprecated.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a53">
- <para>How do you use POJO Cache?</para>
- </question>
-
- <answer>
- <para>In order to use POJO Cache, you will need to:</para>
-
- <itemizedlist>
- <listitem>
- <para>Annotate your POJOt with @Replicable.
- </para>
- </listitem>
- <listitem>
- <para>Instrument your POJO. This can be done at load-time using special JVM arguments (prefered), or at compile time using the
- AOP precompiler tool (aopc). See the user guide for more specific details on instrumentation.
- </para>
- </listitem>
- </itemizedlist>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a541">
- <para>What is the JDK version required to run POJO Cache 2.x?</para>
- </question>
-
- <answer>
- <para>POJO Cache 2.x requires Java 5 or newer.</para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a542">
- <para>Can I run POJO Cache as a standalone mode?</para>
- </question>
-
- <answer>
- <para>Yes, same as the Core Cache library, you can run POJO Cache either as a standalone or
- inside an application server.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a543">
- <para>What is the JBoss AS recommended version to run POJO Cache 2.x?</para>
- </question>
-
- <answer>
- <para>POJO Cache can be run either in AS4.0.5 (and up) and 5.0. But either way, it will require
- JDK5.0 though.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a56">
- <para>Can I pre-compile objects used in POJO Cache, so that I don't have to provide an AOP descriptor?
- </para>
- </question>
-
- <answer>
- <para>Yes. The AOP library included with POJO Cache has a pre-compiler called
- <literal>aopc</literal> that can be used to instrument objects in advance. However,
- this is not the recommended approach, since your classes become tied to a specific AOP version.
- See the instrumentation chapter in the user guide for more information.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a561">
- <para>In POJO Cache 2.x release, do I still need
- <literal>annoc</literal>
- ?
- </para>
- </question>
-
- <answer>
- <para>No. POJO Cache 2.x requires JDK 5, and recommends load-time instrumentation. Alternatively the offline aopc tool may be used.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a57">
- <para>How do I use aopc on multiple module directories?</para>
- </question>
-
- <answer>
- <para>In aopc, you specify the src path for a specific directory. To
- pre-compile multiple ones, you will need to invoke aopc multiple
- times.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a57a">
- <para>Does POJO Cache provide a listener/event model for catching changes?</para>
- </question>
-
- <answer>
- <para>Yes. See the javadoc for PojoCache.addListener() and @PojoCacheListener.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a58">
- <para>What's in the
- <literal>pojocaches-aop.xml</literal>
- configuration?
- </para>
- </question>
-
- <answer>
- <para>
- These descriptors are necessary for instrumentation. However, you typically do not need to touch them since they include a rule
- which matches the classes with an @Replicable annotation. Therefore, all you need to do, is just
- annotate your class with @Replicable. Advanced users may decide to customize them with special AOP prepare statements that match
- classes which do not have @Replicable.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a58a">
- <para>What's the difference between
- <literal>jboss-aop.xml</literal>
- <literal>pojocache-aop.xml</literal>
- ?
- </para>
- </question>
-
- <answer>
- <para>
- <literal>pojocache-aop.xml</literal>
- is essentially a
- <literal>jboss-aop.xml</literal>
- ,
- except it is used specifically for POJO Cache. The analogy is similar to JBoss' own
- MBean service file
- <literal>jboss-service.xml</literal>
- , for example. So in our documentation,
- we will use these two terms interchangeably.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a59">
- <para>Can I use annotations instead of editing the AOP XML descriptors?</para>
- </question>
-
- <answer>
- <para>Yes, in release 2.0, we recommend you use the @Replicable annotation, and don't bother with editing the AOP files.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a60">
- <para>Is there a problem with using a custom AOP descriptor over the provided annotations?</para>
- </question>
-
- <answer>
- <para>The only real benefit to a custom AOP descriptor is if you can't easily add the annotation to the class source (it's not under your control).
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a61">
- <para>What are the
- <literal>@org.jboss.cache.pojo.annotation.Transient</literal>
- and
- <literal>@org.jboss.cache.pojo.annotation.Serializable</literal>
- field level annotations?
- </para>
- </question>
-
- <answer>
- <para>In 2.0, we also offer two additional field-level annotations. The first one,
- <literal>@org.jboss.cache.pojo.Transient</literal>
- ,
- when applied has the same effect as declaring a field
- <literal>transient</literal>
- . POJO Cache
- won't put this field under management.
- </para>
- <para>The second one,
- <literal>@org.jboss.cache.pojo.Serializable</literal>
- when applied,
- will cause POJO Cache to
- treat the field as a Serializable object even when it is
- <literal>@org.jboss.cache.pojo.Replicable</literal>
- .
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a62">
- <para>Why do you recommend load-time over compile-time instrumentation?</para>
- </question>
-
- <answer>
- <para> The major problem with compile-time instrumentation is that it adds a binary dependency on your class files to whatever
- version of JBoss AOP that was used to run aopc. Once this has been done, the class may not work with a future version of
- JBoss AOP (although the AOP team tries to ensure binary compatibility across minor revisions). Load-time doesn't have
- this problem since the class is instrumented only in memory, and only when it is loaded.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a63">
- <para>Is it possible to store the same object multiple times but
- with different Fqn paths? Like /foo/byName and /foo/byId ?
- </para>
- </question>
-
- <answer>
- <para>Yes, you can use POJO Cache to do that. It supports the
- notion of multiple object references. POJO Cache manages the unique object
- through association of the dynamic cache interceptor.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a64">
- <para>Do I have to instrument my objects?
- </para>
- </question>
-
- <answer>
- <para> You can also attach objects that implement
- <literal>Serializable</literal>. However, you lose field-level replication and object identity preservation.
- This is really only supported as a compatibility measure. It is definately worth useing instrumentation.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a65">
- <para>Will POJO Cache intercept changes made from Java Reflection?</para>
- </question>
-
- <answer>
- <para>Yes and No. Since POJO Cache intercepts field changes, any method
- of an object that has been annotated with @Replicable will be handled properly when called with reflection.
- However, modifying fields using reflection is not currently supported.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a66">
- <para>When I declare my POJO to be "aspectized", what happens to the
- fields with transient, static, and final modifiers?
- </para>
- </question>
-
- <answer>
- <para>POJO Cache currently will ignore the fields with these
- modifiers. That is, it won't put these fields into the cache (and
- thus no replication either).
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a67">
- <para>What are those keys such as
- <literal>JBoss:internal:class</literal>
- and
- <literal>PojoInstance</literal>
- ?
- </para>
- </question>
-
- <answer>
- <para>They are for internal use only. Users should ignore these keys
- and values in the node hashmap.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a68">
- <para>What about Collection classes? Do I need to declare them
- "prepared"?
- </para>
- </question>
-
- <answer>
- <para>No. Since the Collection classes such as
- <literal>ArrayList</literal>
- are java util classes, aop by default
- won't instrument these classes. Instead, POJO Cache will generate
- a dynamic class proxy for the Collection classes (upon the
- <literal>attach</literal>
- call is invoked). The proxy will
- delegate the operations to a cache interceptor that implements the
- actual Collection classes APIs. That is, the system classes won't be
- invoked when used in POJO Cache.
- </para>
-
- <para>Internally, the cache interceptor implements the APIs by
- direct interaction with respect to the underlying cache store. Note
- that this can have implications in performance for certain APIs. For
- example, both
- <literal>ArrayList</literal>
- and
- <literal>LinkedList</literal>
- will have the same implementation.
- Plan is currently underway to optimize these APIs.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a69">
- <para>How do I use
- <literal>List</literal>
- ,
- <literal>Set</literal>
- ,
- and
- <literal>Map</literal> with POJO Cache?
- </para>
- </question>
-
- <answer>
- <para>POJO Cache supports all classes that implement
- <literal>List</literal>
- ,
- <literal>Set</literal>
- , and
- <literal>Map</literal>
- without instrumentation. This is done using a dynamic proxy. Here is an example using
- <literal>ArrayList</literal>:
- </para>
-
- <programlisting role="JAVA"><![CDATA[
- ArrayList list = new ArrayList();
- list.add("first");
-
- cache.attach("/list/test", list); // Put the list under the cache
- list.add("second"); // Won't work since AOP intercepts the dynamic proxy not the original POJO.
-
- ArrayList myList = (List)cache.find("/list/test"); // we are getting a dynamic proxy instead
- myList.add("second"); // it works now
- myList.add("third");
- myList.remove("third");
- ]]></programlisting>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a70">
- <para>What is the proper way of assigning two different keys with
- Collection class object?
- </para>
- </question>
-
- <answer>
- <para>Let's say you want to assign a
- <literal>List</literal>
- object
- under two different names, you will need to use the class proxy to
- insert the second time to ensure both are managed by the cache. Here
- is the code snippet.
- </para>
-
- <programlisting role="JAVA"><![CDATA[
- ArrayList list = new ArrayList();
- list.add("first");
-
- cache.attach("/list", list); // Put the list under the aop cache
-
- ArrayList myList = (List)cache.find("/list"); // we are getting a dynamic proxy instead
- myList.add("second"); // it works now
-
- cache.attach("/list_alias", myList); // Note you will need to use the proxy here!!
- myList.remove("second");
- ]]></programlisting>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a71">
- <para>OK, so I know I am supposed to use proxy when manipulating the
- Collection classes once they are managed by the cache. But what
- happens to POJOs that share the Collection objects, e.g., a
- <literal>List</literal>
- instance that is shared by two objects??
- </para>
- </question>
-
- <answer>
- <para>POJOss that share Collection instance references will be
- handled by the cache automatically. That is, when you ask the Cache
- to manage it, the Cache will dynamically swap out the regular
- Collection references with the dynamic proxy ones. As a result, it
- is transparent to you.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a72">
- <para>What happens when my instrumented object contains collections?
- </para>
- </question>
-
- <answer>
- <para>When an object is passed to
- <literal>attach</literal>
- , it will recursively map the field
- members into the cache store as well. If the field member is of a
- Collection class (e.g., List, Set, or Map), POJO Cache will first
- map the collection into cache. Then, it will swap out
- the field reference with an corresponding proxy reference.
- </para>
-
- <para>This is necessary so that an internal update on the field
- member will be intercepted by the cache.
- </para>
- </answer>
- </qandaentry>
-
-
- <qandaentry>
- <question id="a73">
- <para>What are the limitations of using Java Collections in POJO Cache?</para>
- </question>
- <answer>
- <para>
- List, Set, and Map are supported; however, these APIs do not stipulate
- of constraints like whether a null key or value is allowed. Therefore the behavior of an attached collection may differ
- slightly from the originals Java implementation. The behavior implemented by POJO Cache follows
- java.util.HashSet for any Set type, java.util.ArrayList for any List type, and java.util.HashMap for any Map type.s
- </para>
- </answer>
- </qandaentry>
- </qandaset>
-
-
- <qandaset defaultlabel="qanda">
- <title>Passiviation and eviction</title>
- <qandaentry>
- <question id="a80">
- <para>Can I use eviction to evict a POJO from the memory?</para>
- </question>
- <answer>
- <para>In 2.0 release, we removed the POJO-based eviction policy since it has always been
- problematic in earlier release. You can, however, use the standard Core Cache eviction system to
- evict the data that backs the POJO.
- </para>
- </answer>
- </qandaentry>
-
- <qandaentry>
- <question id="a81">
- <para>Is passivation supported?</para>
- </question>
- <answer>
- <para>Yes, in order to reduce memory consumption, you can use the passivation feature that comes with
- Core Cache. Passivation uses the combination of eviction and a cache loader such that when the
- items are old, it will be evicted from memory and store in a cache store (can be DB or file). Next time,
- when the item needs to be accessed again, we will retrieve it from the cache store.
- </para>
- </answer>
- </qandaentry>
- </qandaset>
-
- <qandaset defaultlabel="qanda">
- <title>Troubleshooting</title>
- <qandaentry>
- <question id="a90">
- <para>I am having problems getting POJO Cache to work, where can I get information on troubleshooting?</para>
- </question>
- <answer>
- <para>Troubleshooting section can be found in the following
- <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=PojoCacheTroubleshooting">wiki link</ulink>
- .
- </para>
- </answer>
- </qandaentry>
- </qandaset>
-</article>
Copied: pojo/tags/3.0.0.GA/src/main/docbook/faq/en/master.xml (from rev 7140, pojo/trunk/src/main/docbook/faq/en/master.xml)
===================================================================
--- pojo/tags/3.0.0.GA/src/main/docbook/faq/en/master.xml (rev 0)
+++ pojo/tags/3.0.0.GA/src/main/docbook/faq/en/master.xml 2008-11-14 16:19:25 UTC (rev 7141)
@@ -0,0 +1,665 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "../../../../docbook-support/support/docbook-dtd/docbookx.dtd"
+ >
+<article class="faq" lang="en">
+ <articleinfo>
+ <title>Frequently Asked Questions about POJO Cache</title>
+ <releaseinfo>Release 3.0.0</releaseinfo>
+ <pubdate>November 2008</pubdate>
+
+ <author>
+ <firstname>Ben</firstname>
+ <surname>Wang</surname>
+ <email>ben.wang(a)jboss.com</email>
+ </author>
+ <author>
+ <firstname>Scott</firstname>
+ <surname>Marlow</surname>
+ <email>smarlow(a)novell.com</email>
+ </author>
+ <author>
+ <firstname>Jason</firstname>
+ <surname>Greene</surname>
+ <email>jason.greene(a)jboss.com</email>
+ </author>
+ </articleinfo>
+
+ <para>These are frequently asked questions regarding POJO Cache.</para>
+
+ <qandaset defaultlabel="qanda">
+ <title>General Information</title>
+
+ <qandaentry>
+ <question id="a49">
+ <para>What is POJO Cache?</para>
+ </question>
+
+ <answer>
+ <para>POJO Cache is a fine-grained field-level replicated and
+ transactional POJO (plain old Java object) cache. By POJO, we mean
+ that the cache: 1) automatically manages object mapping and
+ relationship for a client under both local and replicated cache
+ mode, 2) provides support for inheritance relationship between
+ "aspectized" POJOs. By leveraging the dynamic AOP in JBossAop, it is
+ able to map a complex object into the cache store, preserve and
+ manage the object relationship behind the scene. During replication
+ mode, it performs fine-granularity (i.e., on a per-field basis)
+ update, and thus has the potential to boost cache performance and
+ minimize network traffic.
+ </para>
+
+ <para>From a user perspective, once your POJO is managed by the
+ cache, all cache operations are transparent. Therefore, all the
+ usual in-VM POJO method semantics are still preserved, providing
+ ease of use. For example, if a POJO has been put in POJO Cache (by
+ calling
+ <literal>attach</literal>
+ , for example), then any POJO get/set
+ method will be
+ intercepted by POJO Cache to provide the data from the
+ cache.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a1">
+ <para>What is the relationship between Core Cache and POJO Cache?</para>
+ </question>
+
+ <answer>
+ <para>Cores Cache is a traditional generic distributed cache system.
+ POJO Cache uses Core Cache as the underlying distributed state system to achieve object caching.
+ As a result, all the replication aspects are configured with the Cache configuration XML.
+ Additionally, POJO Cache also has API to expose the Cache interface (via
+ <literal>getCache()</literal>
+ API).
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a52">
+ <para>What is the difference between Core Cache and
+ POJO Cache?
+ </para>
+ </question>
+
+ <answer>
+ <para>Think of POJO Cache as a Cache on steroids. :-)
+ Seriously, both are cache stores-- one is a generic cache and the other other one POJO Cache.
+ However, while Cache only
+ provides pure object reference storage (e.g.,
+ <literal>put(FQN fqn,
+ Object key, Object value)
+ </literal>
+ ), POJO Cache goes beyond that
+ and performs fine-grained field level replication object mapping and
+ relationship management for a user behind the scenes. As a result,
+ if you have complex object systems that you would like to cache, you
+ can have POJO Cache manage it for you. You simply treat your
+ object systems as they are residing in-memory, e.g., use your
+ regular POJO methods without worrying about cache management.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a521">
+ <para>How does POJO Cache work then?</para>
+ </question>
+
+ <answer>
+ <para>POJO Cache uses the JBoss AOP project to perform field level
+ interception. This allows POJO Cache to monitor changes to your object model, and react
+ accordingly.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a522">
+ <para>What's changed between 1.x and 2.x release then?</para>
+ </question>
+
+ <answer>
+ <para>Starting in 2.0 release, we have a separate library for POJO Cache,
+ <literal>pojocache.jar</literal>
+ that
+ is extra to the core
+ <literal>jboss-cache.jar</literal>
+ . Since we uses Cache as a delegate, user
+ will need to have a regular xml to configure the core Cache functionality (e.g., replication and locking
+ aspect). In addition, there is also the
+ <literal>pojocache-aop.xml</literal>
+ that specifies the POJO Cache
+ interceptor stack (that can be left as default).
+ </para>
+ <para>Additionally, here are the changed features:
+ <itemizedlist>
+ <listitem>
+ <para>New APIs. It replaces
+ <literal>putObject, removeObject, and get</literal>
+ with
+ <literal>attach, detach, and find</literal>
+ .
+ </para>
+ </listitem>
+ <listitem>
+ <para>New POJO based events that a user can subscribe to.</para>
+ </listitem>
+ <listitem>
+ <para>New configuration pojocache-aop.xml specifically for POJO Cache, in addition to
+ the regular cache-service.xml for the delegating Cache.
+ </para>
+ </listitem>
+ <listitem>
+ <para>New package namespace (
+ <literal>org.jboss.cache.pojo)</literal>
+ for POJO Cache.
+ The previous
+ <literal>org.jboss.cache.aop</literal>
+ space has been deprecated.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a53">
+ <para>How do you use POJO Cache?</para>
+ </question>
+
+ <answer>
+ <para>In order to use POJO Cache, you will need to:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Annotate your POJOt with @Replicable.
+ </para>
+ </listitem>
+ <listitem>
+ <para>Instrument your POJO. This can be done at load-time using special JVM arguments (prefered), or at compile time using the
+ AOP precompiler tool (aopc). See the user guide for more specific details on instrumentation.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a541">
+ <para>What is the JDK version required to run POJO Cache 3.x?</para>
+ </question>
+
+ <answer>
+ <para>POJO Cache 3.x requires Java 5 or newer.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a542">
+ <para>Can I run POJO Cache as a standalone mode?</para>
+ </question>
+
+ <answer>
+ <para>Yes, same as the Core Cache library, you can run POJO Cache either as a standalone or
+ inside an application server.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a543">
+ <para>What is the JBoss AS recommended version to run POJO Cache 3.x?</para>
+ </question>
+
+ <answer>
+ <para>POJO Cache can be run either in AS4.0.5 (and up) and 5.0. But either way, it will require
+ JDK5.0 though.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a56">
+ <para>Can I pre-compile objects used in POJO Cache, so that I don't have to provide an AOP descriptor?
+ </para>
+ </question>
+
+ <answer>
+ <para>Yes. The AOP library included with POJO Cache has a pre-compiler called
+ <literal>aopc</literal> that can be used to instrument objects in advance. However,
+ this is not the recommended approach, since your classes become tied to a specific AOP version.
+ See the instrumentation chapter in the user guide for more information.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a561">
+ <para>In the POJO Cache 2.x and 3.x releases, do I still need
+ <literal>annoc</literal>
+ ?
+ </para>
+ </question>
+
+ <answer>
+ <para>No. POJO Cache 2.x and 3.x requires JDK 5, and recommends load-time instrumentation. Alternatively the offline aopc tool may be used.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a57">
+ <para>How do I use aopc on multiple module directories?</para>
+ </question>
+
+ <answer>
+ <para>In aopc, you specify the src path for a specific directory. To
+ pre-compile multiple ones, you will need to invoke aopc multiple
+ times.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a57a">
+ <para>Does POJO Cache provide a listener/event model for catching changes?</para>
+ </question>
+
+ <answer>
+ <para>Yes. See the javadoc for PojoCache.addListener() and @PojoCacheListener.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a58">
+ <para>What's in the
+ <literal>pojocaches-aop.xml</literal>
+ configuration?
+ </para>
+ </question>
+
+ <answer>
+ <para>
+ These descriptors are necessary for instrumentation. However, you typically do not need to touch them since they include a rule
+ which matches the classes with an @Replicable annotation. Therefore, all you need to do, is just
+ annotate your class with @Replicable. Advanced users may decide to customize them with special AOP prepare statements that match
+ classes which do not have @Replicable.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a58a">
+ <para>What's the difference between
+ <literal>jboss-aop.xml</literal>
+ <literal>pojocache-aop.xml</literal>
+ ?
+ </para>
+ </question>
+
+ <answer>
+ <para>
+ <literal>pojocache-aop.xml</literal>
+ is essentially a
+ <literal>jboss-aop.xml</literal>
+ ,
+ except it is used specifically for POJO Cache. The analogy is similar to JBoss' own
+ MBean service file
+ <literal>jboss-service.xml</literal>
+ , for example. So in our documentation,
+ we will use these two terms interchangeably.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a59">
+ <para>Can I use annotations instead of editing the AOP XML descriptors?</para>
+ </question>
+
+ <answer>
+ <para>Yes, in release 2.0 and 3.0, we recommend you use the @Replicable annotation, and don't bother with editing the AOP files.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a60">
+ <para>Is there a problem with using a custom AOP descriptor over the provided annotations?</para>
+ </question>
+
+ <answer>
+ <para>The only real benefit to a custom AOP descriptor is if you can't easily add the annotation to the class source (it's not under your control).
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a61">
+ <para>What are the
+ <literal>@org.jboss.cache.pojo.annotation.Transient</literal>
+ and
+ <literal>@org.jboss.cache.pojo.annotation.Serializable</literal>
+ field level annotations?
+ </para>
+ </question>
+
+ <answer>
+ <para>In 2.0, we also offer two additional field-level annotations. The first one,
+ <literal>@org.jboss.cache.pojo.Transient</literal>
+ ,
+ when applied has the same effect as declaring a field
+ <literal>transient</literal>
+ . POJO Cache
+ won't put this field under management.
+ </para>
+ <para>The second one,
+ <literal>@org.jboss.cache.pojo.Serializable</literal>
+ when applied,
+ will cause POJO Cache to
+ treat the field as a Serializable object even when it is
+ <literal>@org.jboss.cache.pojo.Replicable</literal>
+ .
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a62">
+ <para>Why do you recommend load-time over compile-time instrumentation?</para>
+ </question>
+
+ <answer>
+ <para> The major problem with compile-time instrumentation is that it adds a binary dependency on your class files to whatever
+ version of JBoss AOP that was used to run aopc. Once this has been done, the class may not work with a future version of
+ JBoss AOP (although the AOP team tries to ensure binary compatibility across minor revisions). Load-time doesn't have
+ this problem since the class is instrumented only in memory, and only when it is loaded.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a63">
+ <para>Is it possible to store the same object multiple times but
+ with different Fqn paths? Like /foo/byName and /foo/byId ?
+ </para>
+ </question>
+
+ <answer>
+ <para>Yes, you can use POJO Cache to do that. It supports the
+ notion of multiple object references. POJO Cache manages the unique object
+ through association of the dynamic cache interceptor.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a64">
+ <para>Do I have to instrument my objects?
+ </para>
+ </question>
+
+ <answer>
+ <para> You can also attach objects that implement
+ <literal>Serializable</literal>. However, you lose field-level replication and object identity preservation.
+ This is really only supported as a compatibility measure. It is definately worth useing instrumentation.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a65">
+ <para>Will POJO Cache intercept changes made from Java Reflection?</para>
+ </question>
+
+ <answer>
+ <para>Yes and No. Since POJO Cache intercepts field changes, any method
+ of an object that has been annotated with @Replicable will be handled properly when called with reflection.
+ However, modifying fields using reflection is not currently supported.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a66">
+ <para>When I declare my POJO to be "aspectized", what happens to the
+ fields with transient, static, and final modifiers?
+ </para>
+ </question>
+
+ <answer>
+ <para>POJO Cache currently will ignore the fields with these
+ modifiers. That is, it won't put these fields into the cache (and
+ thus no replication either).
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a67">
+ <para>What are those keys such as
+ <literal>JBoss:internal:class</literal>
+ and
+ <literal>PojoInstance</literal>
+ ?
+ </para>
+ </question>
+
+ <answer>
+ <para>They are for internal use only. Users should ignore these keys
+ and values in the node hashmap.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a68">
+ <para>What about Collection classes? Do I need to declare them
+ "prepared"?
+ </para>
+ </question>
+
+ <answer>
+ <para>No. Since the Collection classes such as
+ <literal>ArrayList</literal>
+ are java util classes, aop by default
+ won't instrument these classes. Instead, POJO Cache will generate
+ a dynamic class proxy for the Collection classes (upon the
+ <literal>attach</literal>
+ call is invoked). The proxy will
+ delegate the operations to a cache interceptor that implements the
+ actual Collection classes APIs. That is, the system classes won't be
+ invoked when used in POJO Cache.
+ </para>
+
+ <para>Internally, the cache interceptor implements the APIs by
+ direct interaction with respect to the underlying cache store. Note
+ that this can have implications in performance for certain APIs. For
+ example, both
+ <literal>ArrayList</literal>
+ and
+ <literal>LinkedList</literal>
+ will have the same implementation.
+ Plan is currently underway to optimize these APIs.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a69">
+ <para>How do I use
+ <literal>List</literal>
+ ,
+ <literal>Set</literal>
+ ,
+ and
+ <literal>Map</literal> with POJO Cache?
+ </para>
+ </question>
+
+ <answer>
+ <para>POJO Cache supports all classes that implement
+ <literal>List</literal>
+ ,
+ <literal>Set</literal>
+ , and
+ <literal>Map</literal>
+ without instrumentation. This is done using a dynamic proxy. Here is an example using
+ <literal>ArrayList</literal>:
+ </para>
+
+ <programlisting role="JAVA"><![CDATA[
+ ArrayList list = new ArrayList();
+ list.add("first");
+
+ cache.attach("/list/test", list); // Put the list under the cache
+ list.add("second"); // Won't work since AOP intercepts the dynamic proxy not the original POJO.
+
+ ArrayList myList = (List)cache.find("/list/test"); // we are getting a dynamic proxy instead
+ myList.add("second"); // it works now
+ myList.add("third");
+ myList.remove("third");
+ ]]></programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a70">
+ <para>What is the proper way of assigning two different keys with
+ Collection class object?
+ </para>
+ </question>
+
+ <answer>
+ <para>Let's say you want to assign a
+ <literal>List</literal>
+ object
+ under two different names, you will need to use the class proxy to
+ insert the second time to ensure both are managed by the cache. Here
+ is the code snippet.
+ </para>
+
+ <programlisting role="JAVA"><![CDATA[
+ ArrayList list = new ArrayList();
+ list.add("first");
+
+ cache.attach("/list", list); // Put the list under the aop cache
+
+ ArrayList myList = (List)cache.find("/list"); // we are getting a dynamic proxy instead
+ myList.add("second"); // it works now
+
+ cache.attach("/list_alias", myList); // Note you will need to use the proxy here!!
+ myList.remove("second");
+ ]]></programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a71">
+ <para>OK, so I know I am supposed to use proxy when manipulating the
+ Collection classes once they are managed by the cache. But what
+ happens to POJOs that share the Collection objects, e.g., a
+ <literal>List</literal>
+ instance that is shared by two objects??
+ </para>
+ </question>
+
+ <answer>
+ <para>POJOss that share Collection instance references will be
+ handled by the cache automatically. That is, when you ask the Cache
+ to manage it, the Cache will dynamically swap out the regular
+ Collection references with the dynamic proxy ones. As a result, it
+ is transparent to you.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a72">
+ <para>What happens when my instrumented object contains collections?
+ </para>
+ </question>
+
+ <answer>
+ <para>When an object is passed to
+ <literal>attach</literal>
+ , it will recursively map the field
+ members into the cache store as well. If the field member is of a
+ Collection class (e.g., List, Set, or Map), POJO Cache will first
+ map the collection into cache. Then, it will swap out
+ the field reference with an corresponding proxy reference.
+ </para>
+
+ <para>This is necessary so that an internal update on the field
+ member will be intercepted by the cache.
+ </para>
+ </answer>
+ </qandaentry>
+
+
+ <qandaentry>
+ <question id="a73">
+ <para>What are the limitations of using Java Collections in POJO Cache?</para>
+ </question>
+ <answer>
+ <para>
+ List, Set, and Map are supported; however, these APIs do not stipulate
+ of constraints like whether a null key or value is allowed. Therefore the behavior of an attached collection may differ
+ slightly from the originals Java implementation. The behavior implemented by POJO Cache follows
+ java.util.HashSet for any Set type, java.util.ArrayList for any List type, and java.util.HashMap for any Map type.s
+ </para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+
+
+ <qandaset defaultlabel="qanda">
+ <title>Passiviation and eviction</title>
+ <qandaentry>
+ <question id="a80">
+ <para>Can I use eviction to evict a POJO from the memory?</para>
+ </question>
+ <answer>
+ <para>In 2.0 release, we removed the POJO-based eviction policy since it has always been
+ problematic in earlier release. You can, however, use the standard Core Cache eviction system to
+ evict the data that backs the POJO.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="a81">
+ <para>Is passivation supported?</para>
+ </question>
+ <answer>
+ <para>Yes, in order to reduce memory consumption, you can use the passivation feature that comes with
+ Core Cache. Passivation uses the combination of eviction and a cache loader such that when the
+ items are old, it will be evicted from memory and store in a cache store (can be DB or file). Next time,
+ when the item needs to be accessed again, we will retrieve it from the cache store.
+ </para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+
+ <qandaset defaultlabel="qanda">
+ <title>Troubleshooting</title>
+ <qandaentry>
+ <question id="a90">
+ <para>I am having problems getting POJO Cache to work, where can I get information on troubleshooting?</para>
+ </question>
+ <answer>
+ <para>Troubleshooting section can be found in the following
+ <ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=PojoCacheTroubleshooting">wiki link</ulink>
+ .
+ </para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+</article>
Deleted: pojo/tags/3.0.0.GA/src/main/docbook/tutorial/en/master.xml
===================================================================
--- pojo/trunk/src/main/docbook/tutorial/en/master.xml 2008-11-14 14:10:27 UTC (rev 7137)
+++ pojo/tags/3.0.0.GA/src/main/docbook/tutorial/en/master.xml 2008-11-14 16:19:25 UTC (rev 7141)
@@ -1,401 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<article lang="en">
- <articleinfo>
- <title>PojoCache Tutorial</title>
- <releaseinfo>Release 3.0.0</releaseinfo>
- <pubdate>November 2008</pubdate>
- <author>
- <firstname>Ben</firstname>
- <surname>Wang</surname>
- <email>ben.wang(a)jboss.com</email>
- </author>
- <author>
- <firstname>Galder</firstname>
- <surname>Zamarreño</surname>
- <email>galder.zamarreno(a)jboss.com</email>
- </author>
- </articleinfo>
-
- <section>
- <title>Introduction</title>
-
- <para>PojoCache is an in-memory, transactional, and replicated POJO (plain old Java object) cache system that
- allows users to operate on a POJO transparently without active user management of either replication or
- persistency aspects. This tutorial focuses on the usage of the PojoCache API.
- </para>
- <para>For details of configuration, usage and APIs, please refer to the
- <ulink url="http://labs.jboss.org/portal/jbosscache/docs/index.html">users manual</ulink>.
- </para>
- </section>
-
- <section>
- <title>What You Will Learn</title>
-
- <itemizedlist>
- <listitem>
- <para>PojoCache creation and modification</para>
- </listitem>
-
- <listitem>
- <para>Replication of POJO fields</para>
- </listitem>
-
- <listitem>
- <para>Using Collections in PojoCache</para>
- </listitem>
-
- <listitem>
- <para>Transactions</para>
- </listitem>
-
- </itemizedlist>
- </section>
-
- <section>
- <title>Configuration</title>
-
- <para>First download the JBoss Cache 2.x distribution from
- <ulink url="http://labs.jboss.org/portal/jbosscache/download/index.html">the download page</ulink>
- . You probably want the
- <literal>JBossCache-pojo-2.X.Y.zip</literal>
- distribution. Unzip it, and you will get a directory containing the distribution, such as
- <literal>JBossCache-pojo-2.X.Y</literal>
- .
- For the sake of this tutorial, I will refer to this as
- <literal>PojoCache</literal>
- .
- </para>
-
- <para>The configuration files are located under the
- <literal>PojoCache/etc</literal>
- directory. You can modify the behavior of the underlying cache through editing the various configuration files.
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <literal>log4j.xml</literal>
- . Logging output. You can enable logging, specify log levels or change the name and path to the log file.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>META-INF/replSync-service.xml</literal>
- . Cache configuration file used for this tutorial.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>pojocache-aop.xml</literal>
- . PojoCache configuration file that contains, amongst other things, the annotation to use on POJOs so
- that they're aspectised. For more information, please the PojoCache
- <ulink url="http://labs.jboss.org/portal/jbosscache/docs/index.html">users manual</ulink>
- .
- </para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section>
- <title>Script</title>
-
- <para>The only script needed for this tutorial is the
- <literal>PojoCache/build.xml</literal>
- ant script.
- </para>
- </section>
-
- <section>
- <title>Example POJOs</title>
-
- <para>The example POJO classes used for PojoCache demo are:
- <literal>org.jboss.cache.pojo.test.Person</literal>
- and
- <literal>org.jboss.cache.pojo.test.Address</literal>
- . They are located
- under
- <literal>tests/functional</literal>
- directory.The demo will demonstrate that once a POJO has been attached to the cache, plain get/set POJO methods
- will be intercepted by the cache.
- </para>
-
- <para>Here is the snippet of the class definition for
- <literal>Person</literal>
- and
- <literal>Address</literal>
- with the
- <literal>Replicable</literal>
- annotation.
- </para>
-
- <programlisting role="JAVA"><![CDATA[
-(a)org.jboss.cache.pojo.annotation.Replicable
-public class Person
-{
- ...
- public String getName()
- {
- return name;
- }
-
- public void setName(String name)
- {
- this.name=name;
- }
-
- // ...
-
- public List<String> getLanguages()
- {
- return languages;
- }
-
- public void setLanguages(List<String> languages)
- {
- this.languages = languages;
- }
-
- // ...
-
- public Address getAddress()
- {
- return address;
- }
-
- public void setAddress(Address address)
- {
- this.address = address;
- }
-
- // ...
-}
- ]]></programlisting>
-
- <programlisting role="JAVA"><![CDATA[
-(a)org.jboss.cache.pojo.annotation.Replicable
-public class Address
-{
- // ...
- public String getStreet()
- {
- return street;
- }
- public void setStreet(String street)
- {
- this.street=street;
- }
- // ...
-}
- ]]></programlisting>
- </section>
-
- <section>
- <title>Running The Demo GUI</title>
-
- <para>
- The demo is run by calling the ant script (via the driver) with the
- <literal>run.demo</literal>
- target. E.g.,
- </para>
-
- <para>
- <literal>ant run.demo</literal>
- </para>
- <para>
- This will cause a GUI window to appear, giving you a tree view of the cache in the top pane and a BeanShell
- view of the JVM in the lower pane.
- </para>
- <para>
- The BeanShell view is preset with the following variables:
- <itemizedlist>
- <listitem>
- <literal>cache</literal>
- - a reference to the PojoCache interface, used by the GUI instance.
- </listitem>
- <listitem>
- <literal>transactionManager</literal>
- - a reference to the registered transaction manager.
- </listitem>
- </itemizedlist>
- The references made available to the BeanShell window point to the same cache instance used by the tree view in
- the GUI above.
- </para>
-
- <para>
- To run the demo as a replicated demo, it is useful to start another command line window and run the ant script
- again as you did above. Now you will have two cache instances running in two separate GUIs, replicating state
- to each other.
- </para>
-
- </section>
-
- <section>
- <title>Tutorials</title>
- It is recommended that you shut down and restart the demo GUI for each of the following tutorials, to ensure
- clean caches every time. To inspect POJO attribute changes via GUI, please refer to the PojoCache
- <ulink
- url="http://labs.jboss.org/portal/jbosscache/docs/index.html">user manual
- </ulink>
- to understand how the POJOs are mapped internally in the cache.
-
- <section>
- <title>PojoCache API, POJO manipulation, and Replication</title>
- <para>
- For this tutorial, start two instance of the demo GUI. In this tutorial, we will:
-
- <itemizedlist>
- <listitem>Attach POJOs to the cache and see them being replicated.</listitem>
- <listitem>After attaching, manipulate the POJOs and see the individual changes replicated.</listitem>
- <listitem>Retrieve POJOs from the cache, manipulate them and see the changes replicated.</listitem>
- <listitem>Create POJOs that share a common POJO and the consequences of changes to this.</listitem>
- <listitem>Detach POJOs from the cache.</listitem>
- <listitem>After detaching, manipulates the POJOs and see how the values in the cache are unchanged.</listitem>
- </itemizedlist>
-
- </para>
-
- <orderedlist>
- <listitem>In the 1st GUI instance, create a POJO, i.e. a Person with an Address:
- <programlisting role="JAVA"><![CDATA[
- joe = new Person();
- joe.setName("Joe Black");
- joe.setAge(31);
-
- addr = new Address();
- addr.setCity("Sunnyvale");
- addr.setStreet("123 Albert Ave");
- addr.setZip(94086);
-
- joe.setAddress(addr);
- ]]></programlisting>
- </listitem>
-
- <listitem>Attach the POJO to the cache:
- <programlisting role="JAVA"><![CDATA[
- cache.attach("pojo/joe", joe);
- ]]></programlisting>
- </listitem>
-
- <listitem>Change attributes of the POJO and see the individual changes being propagated to the 2nd
- cache GUI:
- <programlisting role="JAVA"><![CDATA[
- joe.setAge(41);
- ]]></programlisting>
- </listitem>
-
- <listitem>In the 2nd GUI instance, get a reference to the Person in the cache and create a second Person
- with the existing Person's Address:
- <programlisting role="JAVA"><![CDATA[
- joe = cache.find("pojo/joe");
-
- mary = new Person();
- mary.setName("Mary White");
- mary.setAge(30);
-
- mary.setAddress(joe.getAddress());
- ]]></programlisting>
- </listitem>
-
- <listitem>Attach the new POJO to the cache:
- <programlisting role="JAVA"><![CDATA[
- cache.attach("pojo/mary", mary);
- ]]></programlisting>
- </listitem>
-
- <listitem>Now, change either Person's Address and see how the change applies to both POJOs and has been
- propagated to the other cache, visible in the 1st GUI instance:
- <programlisting role="JAVA"><![CDATA[
- mary.getAddress().setZip(95000);
- ]]></programlisting>
- </listitem>
-
-
- <listitem>Still in the 2nd GUI instance, detach the POJOs from the cache and see how the POJOs are no longer
- visible:
- <programlisting role="JAVA"><![CDATA[
- cache.detach("pojo/joe");
- cache.detach("pojo/mary");
- ]]></programlisting>
- </listitem>
-
- <listitem>Finally, in any of GUI instances, change some attributes of the POJO and see these changes have
- no effect in the cache:
- <programlisting role="JAVA"><![CDATA[
- joe.setName("Joe White");
- ]]></programlisting>
- </listitem>
-
- </orderedlist>
-
- </section>
-
- <section>
- <title>Collections</title>
- <para>
- For this tutorial, start two instances of the demo GUI. In this tutorial, we will:
-
- <itemizedlist>
- <listitem>Attach a POJO to the cache and see it being replicated.</listitem>
- <listitem>Set a Collection attribute in this POJO</listitem>
- <listitem>Manipulate this Collection attribute and see the changes visible in the GUI and being replicated</listitem>
- <listitem>Detach a POJO from the cache.</listitem>
- </itemizedlist>
-
- </para>
-
- <orderedlist>
- <listitem>In the 1st GUI instance, create a POJO with a Collection attribute:
- <programlisting role="JAVA"><![CDATA[
- joe = new Person();
- joe.setName("Joe Black");
-
- lang = new ArrayList();
- lang.add("Spanish");
-
- joe.setLanguages(lang);
- ]]></programlisting>
- </listitem>
-
- <listitem>Attach the POJO to the cache:
- <programlisting role="JAVA"><![CDATA[
- cache.attach("pojo/joe", joe);
- ]]></programlisting>
- </listitem>
-
- <listitem>Get a proxy reference to the Collection and add a new element to it:
- <programlisting role="JAVA"><![CDATA[
- proxyLang = joe.getLanguages();
- proxyLang.add("English");
- ]]></programlisting>
- </listitem>
-
- <listitem>Detach the pojo from the cache:
- <programlisting role="JAVA"><![CDATA[
- cache.detach("pojo/joe");
- ]]></programlisting>
- </listitem>
-
- <listitem>Use the proxy reference to the Collection to add another element and see how this does not get
- added to the cache:
- <programlisting role="JAVA"><![CDATA[
- proxyLang.add("French");
- ]]></programlisting>
- </listitem>
-
- </orderedlist>
- </section>
- </section>
-
- <section>
- <title>Transactions</title>
- <para>
- For this tutorial, start two instances instance of the demo GUI. Repeat the exercises in the previous
- tutorial, only starting transactions before attaching/detaching nodes or modiying the POJOs. This will depict
- how replication only occurs on transaction boundaries. Try rolling back a few transactions as well, to see how
- nothing gets replicated in these cases.
- </para>
- </section>
-
-</article>
Copied: pojo/tags/3.0.0.GA/src/main/docbook/tutorial/en/master.xml (from rev 7140, pojo/trunk/src/main/docbook/tutorial/en/master.xml)
===================================================================
--- pojo/tags/3.0.0.GA/src/main/docbook/tutorial/en/master.xml (rev 0)
+++ pojo/tags/3.0.0.GA/src/main/docbook/tutorial/en/master.xml 2008-11-14 16:19:25 UTC (rev 7141)
@@ -0,0 +1,401 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<article lang="en">
+ <articleinfo>
+ <title>PojoCache Tutorial</title>
+ <releaseinfo>Release 3.0.0</releaseinfo>
+ <pubdate>November 2008</pubdate>
+ <author>
+ <firstname>Ben</firstname>
+ <surname>Wang</surname>
+ <email>ben.wang(a)jboss.com</email>
+ </author>
+ <author>
+ <firstname>Galder</firstname>
+ <surname>Zamarreño</surname>
+ <email>galder.zamarreno(a)jboss.com</email>
+ </author>
+ </articleinfo>
+
+ <section>
+ <title>Introduction</title>
+
+ <para>PojoCache is an in-memory, transactional, and replicated POJO (plain old Java object) cache system that
+ allows users to operate on a POJO transparently without active user management of either replication or
+ persistency aspects. This tutorial focuses on the usage of the PojoCache API.
+ </para>
+ <para>For details of configuration, usage and APIs, please refer to the
+ <ulink url="http://labs.jboss.org/portal/jbosscache/docs/index.html">users manual</ulink>.
+ </para>
+ </section>
+
+ <section>
+ <title>What You Will Learn</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>PojoCache creation and modification</para>
+ </listitem>
+
+ <listitem>
+ <para>Replication of POJO fields</para>
+ </listitem>
+
+ <listitem>
+ <para>Using Collections in PojoCache</para>
+ </listitem>
+
+ <listitem>
+ <para>Transactions</para>
+ </listitem>
+
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Configuration</title>
+
+ <para>First download the JBoss Cache 3.x distribution from
+ <ulink url="http://labs.jboss.org/portal/jbosscache/download/index.html">the download page</ulink>
+ . You probably want the
+ <literal>JBossCache-pojo-3.X.Y.zip</literal>
+ distribution. Unzip it, and you will get a directory containing the distribution, such as
+ <literal>JBossCache-pojo-3.X.Y</literal>
+ .
+ For the sake of this tutorial, I will refer to this as
+ <literal>PojoCache</literal>
+ .
+ </para>
+
+ <para>The configuration files are located under the
+ <literal>PojoCache/etc</literal>
+ directory. You can modify the behavior of the underlying cache through editing the various configuration files.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>log4j.xml</literal>
+ . Logging output. You can enable logging, specify log levels or change the name and path to the log file.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>META-INF/replSync-service.xml</literal>
+ . Cache configuration file used for this tutorial.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>pojocache-aop.xml</literal>
+ . PojoCache configuration file that contains, amongst other things, the annotation to use on POJOs so
+ that they're aspectised. For more information, please the PojoCache
+ <ulink url="http://labs.jboss.org/portal/jbosscache/docs/index.html">users manual</ulink>
+ .
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Script</title>
+
+ <para>The only script needed for this tutorial is the
+ <literal>PojoCache/build.xml</literal>
+ ant script.
+ </para>
+ </section>
+
+ <section>
+ <title>Example POJOs</title>
+
+ <para>The example POJO classes used for PojoCache demo are:
+ <literal>org.jboss.cache.pojo.test.Person</literal>
+ and
+ <literal>org.jboss.cache.pojo.test.Address</literal>
+ . They are located
+ under
+ <literal>tests/functional</literal>
+ directory.The demo will demonstrate that once a POJO has been attached to the cache, plain get/set POJO methods
+ will be intercepted by the cache.
+ </para>
+
+ <para>Here is the snippet of the class definition for
+ <literal>Person</literal>
+ and
+ <literal>Address</literal>
+ with the
+ <literal>Replicable</literal>
+ annotation.
+ </para>
+
+ <programlisting role="JAVA"><![CDATA[
+(a)org.jboss.cache.pojo.annotation.Replicable
+public class Person
+{
+ ...
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name=name;
+ }
+
+ // ...
+
+ public List<String> getLanguages()
+ {
+ return languages;
+ }
+
+ public void setLanguages(List<String> languages)
+ {
+ this.languages = languages;
+ }
+
+ // ...
+
+ public Address getAddress()
+ {
+ return address;
+ }
+
+ public void setAddress(Address address)
+ {
+ this.address = address;
+ }
+
+ // ...
+}
+ ]]></programlisting>
+
+ <programlisting role="JAVA"><![CDATA[
+(a)org.jboss.cache.pojo.annotation.Replicable
+public class Address
+{
+ // ...
+ public String getStreet()
+ {
+ return street;
+ }
+ public void setStreet(String street)
+ {
+ this.street=street;
+ }
+ // ...
+}
+ ]]></programlisting>
+ </section>
+
+ <section>
+ <title>Running The Demo GUI</title>
+
+ <para>
+ The demo is run by calling the ant script (via the driver) with the
+ <literal>run.demo</literal>
+ target. E.g.,
+ </para>
+
+ <para>
+ <literal>ant run.demo</literal>
+ </para>
+ <para>
+ This will cause a GUI window to appear, giving you a tree view of the cache in the top pane and a BeanShell
+ view of the JVM in the lower pane.
+ </para>
+ <para>
+ The BeanShell view is preset with the following variables:
+ <itemizedlist>
+ <listitem>
+ <literal>cache</literal>
+ - a reference to the PojoCache interface, used by the GUI instance.
+ </listitem>
+ <listitem>
+ <literal>transactionManager</literal>
+ - a reference to the registered transaction manager.
+ </listitem>
+ </itemizedlist>
+ The references made available to the BeanShell window point to the same cache instance used by the tree view in
+ the GUI above.
+ </para>
+
+ <para>
+ To run the demo as a replicated demo, it is useful to start another command line window and run the ant script
+ again as you did above. Now you will have two cache instances running in two separate GUIs, replicating state
+ to each other.
+ </para>
+
+ </section>
+
+ <section>
+ <title>Tutorials</title>
+ It is recommended that you shut down and restart the demo GUI for each of the following tutorials, to ensure
+ clean caches every time. To inspect POJO attribute changes via GUI, please refer to the PojoCache
+ <ulink
+ url="http://labs.jboss.org/portal/jbosscache/docs/index.html">user manual
+ </ulink>
+ to understand how the POJOs are mapped internally in the cache.
+
+ <section>
+ <title>PojoCache API, POJO manipulation, and Replication</title>
+ <para>
+ For this tutorial, start two instance of the demo GUI. In this tutorial, we will:
+
+ <itemizedlist>
+ <listitem>Attach POJOs to the cache and see them being replicated.</listitem>
+ <listitem>After attaching, manipulate the POJOs and see the individual changes replicated.</listitem>
+ <listitem>Retrieve POJOs from the cache, manipulate them and see the changes replicated.</listitem>
+ <listitem>Create POJOs that share a common POJO and the consequences of changes to this.</listitem>
+ <listitem>Detach POJOs from the cache.</listitem>
+ <listitem>After detaching, manipulates the POJOs and see how the values in the cache are unchanged.</listitem>
+ </itemizedlist>
+
+ </para>
+
+ <orderedlist>
+ <listitem>In the 1st GUI instance, create a POJO, i.e. a Person with an Address:
+ <programlisting role="JAVA"><![CDATA[
+ joe = new Person();
+ joe.setName("Joe Black");
+ joe.setAge(31);
+
+ addr = new Address();
+ addr.setCity("Sunnyvale");
+ addr.setStreet("123 Albert Ave");
+ addr.setZip(94086);
+
+ joe.setAddress(addr);
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Attach the POJO to the cache:
+ <programlisting role="JAVA"><![CDATA[
+ cache.attach("pojo/joe", joe);
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Change attributes of the POJO and see the individual changes being propagated to the 2nd
+ cache GUI:
+ <programlisting role="JAVA"><![CDATA[
+ joe.setAge(41);
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>In the 2nd GUI instance, get a reference to the Person in the cache and create a second Person
+ with the existing Person's Address:
+ <programlisting role="JAVA"><![CDATA[
+ joe = cache.find("pojo/joe");
+
+ mary = new Person();
+ mary.setName("Mary White");
+ mary.setAge(30);
+
+ mary.setAddress(joe.getAddress());
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Attach the new POJO to the cache:
+ <programlisting role="JAVA"><![CDATA[
+ cache.attach("pojo/mary", mary);
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Now, change either Person's Address and see how the change applies to both POJOs and has been
+ propagated to the other cache, visible in the 1st GUI instance:
+ <programlisting role="JAVA"><![CDATA[
+ mary.getAddress().setZip(95000);
+ ]]></programlisting>
+ </listitem>
+
+
+ <listitem>Still in the 2nd GUI instance, detach the POJOs from the cache and see how the POJOs are no longer
+ visible:
+ <programlisting role="JAVA"><![CDATA[
+ cache.detach("pojo/joe");
+ cache.detach("pojo/mary");
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Finally, in any of GUI instances, change some attributes of the POJO and see these changes have
+ no effect in the cache:
+ <programlisting role="JAVA"><![CDATA[
+ joe.setName("Joe White");
+ ]]></programlisting>
+ </listitem>
+
+ </orderedlist>
+
+ </section>
+
+ <section>
+ <title>Collections</title>
+ <para>
+ For this tutorial, start two instances of the demo GUI. In this tutorial, we will:
+
+ <itemizedlist>
+ <listitem>Attach a POJO to the cache and see it being replicated.</listitem>
+ <listitem>Set a Collection attribute in this POJO</listitem>
+ <listitem>Manipulate this Collection attribute and see the changes visible in the GUI and being replicated</listitem>
+ <listitem>Detach a POJO from the cache.</listitem>
+ </itemizedlist>
+
+ </para>
+
+ <orderedlist>
+ <listitem>In the 1st GUI instance, create a POJO with a Collection attribute:
+ <programlisting role="JAVA"><![CDATA[
+ joe = new Person();
+ joe.setName("Joe Black");
+
+ lang = new ArrayList();
+ lang.add("Spanish");
+
+ joe.setLanguages(lang);
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Attach the POJO to the cache:
+ <programlisting role="JAVA"><![CDATA[
+ cache.attach("pojo/joe", joe);
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Get a proxy reference to the Collection and add a new element to it:
+ <programlisting role="JAVA"><![CDATA[
+ proxyLang = joe.getLanguages();
+ proxyLang.add("English");
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Detach the pojo from the cache:
+ <programlisting role="JAVA"><![CDATA[
+ cache.detach("pojo/joe");
+ ]]></programlisting>
+ </listitem>
+
+ <listitem>Use the proxy reference to the Collection to add another element and see how this does not get
+ added to the cache:
+ <programlisting role="JAVA"><![CDATA[
+ proxyLang.add("French");
+ ]]></programlisting>
+ </listitem>
+
+ </orderedlist>
+ </section>
+ </section>
+
+ <section>
+ <title>Transactions</title>
+ <para>
+ For this tutorial, start two instances instance of the demo GUI. Repeat the exercises in the previous
+ tutorial, only starting transactions before attaching/detaching nodes or modiying the POJOs. This will depict
+ how replication only occurs on transaction boundaries. Try rolling back a few transactions as well, to see how
+ nothing gets replicated in these cases.
+ </para>
+ </section>
+
+</article>
16 years, 1 month
JBoss Cache SVN: r7140 - in pojo/trunk: src/main/docbook/faq/en and 1 other directories.
by jbosscache-commits@lists.jboss.org
Author: jason.greene(a)jboss.com
Date: 2008-11-14 11:16:20 -0500 (Fri, 14 Nov 2008)
New Revision: 7140
Modified:
pojo/trunk/pom.xml
pojo/trunk/src/main/docbook/faq/en/master.xml
pojo/trunk/src/main/docbook/tutorial/en/master.xml
Log:
Update docs for 3.x GA
Modified: pojo/trunk/pom.xml
===================================================================
--- pojo/trunk/pom.xml 2008-11-14 16:09:08 UTC (rev 7139)
+++ pojo/trunk/pom.xml 2008-11-14 16:16:20 UTC (rev 7140)
@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<properties>
<jbosscache-pojo-version>3.0.0.CR3</jbosscache-pojo-version>
- <jbosscache-core-version>3.0.0.CR3</jbosscache-core-version>
+ <jbosscache-core-version>3.0.0-SNAPSHOT</jbosscache-core-version>
<jboss.aop.version>2.0.0.GA</jboss.aop.version>
</properties>
<parent>
Modified: pojo/trunk/src/main/docbook/faq/en/master.xml
===================================================================
--- pojo/trunk/src/main/docbook/faq/en/master.xml 2008-11-14 16:09:08 UTC (rev 7139)
+++ pojo/trunk/src/main/docbook/faq/en/master.xml 2008-11-14 16:16:20 UTC (rev 7140)
@@ -5,7 +5,7 @@
<article class="faq" lang="en">
<articleinfo>
<title>Frequently Asked Questions about POJO Cache</title>
- <releaseinfo>Release 3.0.0.CR3</releaseinfo>
+ <releaseinfo>Release 3.0.0</releaseinfo>
<pubdate>November 2008</pubdate>
<author>
@@ -192,11 +192,11 @@
<qandaentry>
<question id="a541">
- <para>What is the JDK version required to run POJO Cache 2.x?</para>
+ <para>What is the JDK version required to run POJO Cache 3.x?</para>
</question>
<answer>
- <para>POJO Cache 2.x requires Java 5 or newer.</para>
+ <para>POJO Cache 3.x requires Java 5 or newer.</para>
</answer>
</qandaentry>
@@ -214,7 +214,7 @@
<qandaentry>
<question id="a543">
- <para>What is the JBoss AS recommended version to run POJO Cache 2.x?</para>
+ <para>What is the JBoss AS recommended version to run POJO Cache 3.x?</para>
</question>
<answer>
@@ -241,14 +241,14 @@
<qandaentry>
<question id="a561">
- <para>In POJO Cache 2.x release, do I still need
+ <para>In the POJO Cache 2.x and 3.x releases, do I still need
<literal>annoc</literal>
?
</para>
</question>
<answer>
- <para>No. POJO Cache 2.x requires JDK 5, and recommends load-time instrumentation. Alternatively the offline aopc tool may be used.
+ <para>No. POJO Cache 2.x and 3.x requires JDK 5, and recommends load-time instrumentation. Alternatively the offline aopc tool may be used.
</para>
</answer>
</qandaentry>
@@ -325,7 +325,7 @@
</question>
<answer>
- <para>Yes, in release 2.0, we recommend you use the @Replicable annotation, and don't bother with editing the AOP files.
+ <para>Yes, in release 2.0 and 3.0, we recommend you use the @Replicable annotation, and don't bother with editing the AOP files.
</para>
</answer>
</qandaentry>
Modified: pojo/trunk/src/main/docbook/tutorial/en/master.xml
===================================================================
--- pojo/trunk/src/main/docbook/tutorial/en/master.xml 2008-11-14 16:09:08 UTC (rev 7139)
+++ pojo/trunk/src/main/docbook/tutorial/en/master.xml 2008-11-14 16:16:20 UTC (rev 7140)
@@ -54,12 +54,12 @@
<section>
<title>Configuration</title>
- <para>First download the JBoss Cache 2.x distribution from
+ <para>First download the JBoss Cache 3.x distribution from
<ulink url="http://labs.jboss.org/portal/jbosscache/download/index.html">the download page</ulink>
. You probably want the
- <literal>JBossCache-pojo-2.X.Y.zip</literal>
+ <literal>JBossCache-pojo-3.X.Y.zip</literal>
distribution. Unzip it, and you will get a directory containing the distribution, such as
- <literal>JBossCache-pojo-2.X.Y</literal>
+ <literal>JBossCache-pojo-3.X.Y</literal>
.
For the sake of this tutorial, I will refer to this as
<literal>PojoCache</literal>
16 years, 1 month
JBoss Cache SVN: r7139 - in core/tags/3.0.0.GA: src/main/java/org/jboss/cache and 1 other directory.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-11-14 11:09:08 -0500 (Fri, 14 Nov 2008)
New Revision: 7139
Modified:
core/tags/3.0.0.GA/pom.xml
core/tags/3.0.0.GA/src/main/java/org/jboss/cache/Version.java
Log:
Modified: core/tags/3.0.0.GA/pom.xml
===================================================================
--- core/tags/3.0.0.GA/pom.xml 2008-11-14 16:03:47 UTC (rev 7138)
+++ core/tags/3.0.0.GA/pom.xml 2008-11-14 16:09:08 UTC (rev 7139)
@@ -4,7 +4,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<properties>
- <jbosscache-core-version>3.0.0-SNAPSHOT</jbosscache-core-version>
+ <jbosscache-core-version>3.0.0.GA</jbosscache-core-version>
<!-- By default only run tests in the "unit" group -->
<defaultTestGroup>unit</defaultTestGroup>
<!-- By default only generate Javadocs when we install the module. -->
@@ -27,7 +27,7 @@
<dependency>
<groupId>jgroups</groupId>
<artifactId>jgroups</artifactId>
- <version>2.6.5.GA</version>
+ <version>2.6.7.GA</version>
</dependency>
<!-- For the JTA 1.1 API; consuming projects can safely
@@ -443,19 +443,19 @@
<activeByDefault>false</activeByDefault>
</activation>
<properties>
- <jbosscache-core-version>3.0.0-SNAPSHOT-JBossAS</jbosscache-core-version>
+ <jbosscache-core-version>3.0.0.GA-JBossAS</jbosscache-core-version>
</properties>
<dependencies>
<dependency>
<groupId>jgroups</groupId>
<artifactId>jgroups</artifactId>
- <version>2.6.5.GA</version>
+ <version>2.6.7.GA</version>
</dependency>
<!-- Replaces javax.transaction/jta -->
<dependency>
<groupId>org.jboss.javaee</groupId>
<artifactId>jboss-javaee</artifactId>
- <version>5.0.0.CR1</version>
+ <version>5.0.0.CR2</version>
</dependency>
<dependency>
<groupId>org.jboss</groupId>
Modified: core/tags/3.0.0.GA/src/main/java/org/jboss/cache/Version.java
===================================================================
--- core/tags/3.0.0.GA/src/main/java/org/jboss/cache/Version.java 2008-11-14 16:03:47 UTC (rev 7138)
+++ core/tags/3.0.0.GA/src/main/java/org/jboss/cache/Version.java 2008-11-14 16:09:08 UTC (rev 7139)
@@ -32,10 +32,10 @@
@Immutable
public class Version
{
- public static final String version = "3.0.0-SNAPSHOT";
+ public static final String version = "3.0.0.GA";
public static final String codename = "Naga";
//public static final String cvs = "$Id: Version.java 4592 2007-10-10 16:44:36Z manik.surtani(a)jboss.com $";
- static final byte[] version_id = {'0', '3', '0', '0', 'S'};
+ static final byte[] version_id = {'0', '3', '0', '0', 'G', 'A'};
private static final int MAJOR_SHIFT = 11;
private static final int MINOR_SHIFT = 6;
16 years, 1 month
JBoss Cache SVN: r7138 - core/tags.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-11-14 11:03:47 -0500 (Fri, 14 Nov 2008)
New Revision: 7138
Added:
core/tags/3.0.0.GA/
Log:
Copied: core/tags/3.0.0.GA (from rev 7137, core/trunk)
16 years, 1 month