[jboss-cvs] JBossAS SVN: r108860 - projects/docs/community/6/JCA_Guide/en-US.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Oct 24 06:55:37 EDT 2010
Author: jeff.zhang
Date: 2010-10-24 06:55:37 -0400 (Sun, 24 Oct 2010)
New Revision: 108860
Modified:
projects/docs/community/6/JCA_Guide/en-US/Author_Group.xml
projects/docs/community/6/JCA_Guide/en-US/JCA_Guide_Introduction.xml
projects/docs/community/6/JCA_Guide/en-US/JCA_Guide_Reference.xml
Log:
[JBAS-8016] jca document, remove XARevery tech details
Modified: projects/docs/community/6/JCA_Guide/en-US/Author_Group.xml
===================================================================
--- projects/docs/community/6/JCA_Guide/en-US/Author_Group.xml 2010-10-23 23:08:50 UTC (rev 108859)
+++ projects/docs/community/6/JCA_Guide/en-US/Author_Group.xml 2010-10-24 10:55:37 UTC (rev 108860)
@@ -3,7 +3,7 @@
]>
<authorgroup>
<author>
- <firstname>Jeff</firstname>
- <surname>Zhang</surname>
+ <firstname>JBoss JCA Team</firstname>
+ <surname></surname>
</author>
</authorgroup>
Modified: projects/docs/community/6/JCA_Guide/en-US/JCA_Guide_Introduction.xml
===================================================================
--- projects/docs/community/6/JCA_Guide/en-US/JCA_Guide_Introduction.xml 2010-10-23 23:08:50 UTC (rev 108859)
+++ projects/docs/community/6/JCA_Guide/en-US/JCA_Guide_Introduction.xml 2010-10-24 10:55:37 UTC (rev 108860)
@@ -2,7 +2,7 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<chapter id="jca-intro.chapt">
- <title>JCA Introduce</title>
+ <title>JCA Introduction</title>
<section id="jca_introduce">
<title>JCA Overview</title>
Modified: projects/docs/community/6/JCA_Guide/en-US/JCA_Guide_Reference.xml
===================================================================
--- projects/docs/community/6/JCA_Guide/en-US/JCA_Guide_Reference.xml 2010-10-23 23:08:50 UTC (rev 108859)
+++ projects/docs/community/6/JCA_Guide/en-US/JCA_Guide_Reference.xml 2010-10-24 10:55:37 UTC (rev 108860)
@@ -473,83 +473,6 @@
<para>Describes the design of how the JCA layer registers XA datasource for XA Resource Recovery with the JBoss TS project.</para>
- <section id="JCA_XARecovery_Goals">
- <title>Goals</title>
- <para>The goal of the feature is to register XA datasource with the JBoss TS project through the <code>org.jboss.tm.XAResourceRecovery</code> interface.</para>
-
-
- <para>This is done by register the component that implements the above with the <code>org.jboss.tm.XAResourceRecoveryRegistry</code>
- component through its addXAResourceRecovery() / removeXAResourceRecovery() methods.</para>
-
- <para>The XAResourceRecovery interface contains the method</para>
-
- <programlisting>
-<![CDATA[
-/**
-* Provides XAResource(s) to the transaction system for recovery purposes.
-*
-* @return An array of XAResource objects for use in transaction recovery
-* In most cases the implementation will need to return only a single XAResource in the array.
-* For more sophisticated cases, such as where multiple different connection types are supported,
-* it may be necessary to return more than one.
-*
-* The Resource should be instantiated in such a way as to carry the necessary permissions to
-* allow transaction recovery. For some deployments it may therefore be necessary or desirable to
-* provide resource(s) based on e.g. database connection parameters such as username other than those
-* used for the regular application connections to the same resource manager.
-*/
-public XAResource[] getXAResources()
-]]>
- </programlisting>
-
- <para>which must return a single XAResource that represents the datasource.</para>
- </section>
- <section id="JCA_XARecovery_Requirements">
- <title>Requirements</title>
- <para>The JCA specification states that XA recovery is done through</para>
-
-
-<code>ManagedConnection mc = mcf.createManagedConnection(subject, null)</code>
-
-
- <para>where "mcf" is the ManagedConnectionFactory and "subject" represents the javax.security.auth.Subject instance.</para>
-
-
- <para>This ties into the above with</para>
-
-
-<code>XAResource xaResource = mc.getXAResource()</code>
-
-
- <para>In order to provide additional information to JBoss TS we can use an instance of the <code>org.jboss.tm.XAResourceWrapper</code> interface.</para>
-
- </section>
- <section id="JCA_XARecovery_Design">
- <title>Design</title>
- <para>First some considerations:</para>
-
- <itemizedlist spacing="compact">
- <listitem>
- The current JCA container is based on the JBoss JMX architecture, so we must use a mix of JBoss Microcontainer and JBoss JMX in order to implement this feature.
- </listitem>
- <listitem>
- We must create a new -ds.xml which can contain the needed security information for recovery.
- </listitem>
- <listitem>
- We should keep changes as local as possible such that the patch overhead is minimal.
- </listitem>
- </itemizedlist>
-
- </section>
- <section id="JCA_XARecovery_MC_JMX">
- <title>MC vs. JMX</title>
- <para>We will bridge the JBoss Microcontainer components with the JBoss JMX components using the
-
-<code>org.jboss.system.metadata</code>
-
- package in our builders.</para>
-
- </section>
<section id="JCA_XARecovery_DsXML">
<title>New -ds.xml file</title>
<para>We will create a jboss-ds_5_1.dtd (EAP 5.1) / jboss-ds_6_0.dtd (AS 6) which has the additional fields of</para>
@@ -575,6 +498,7 @@
<para>The fields should have a fall back value of their non-recover counterparts - e.g. user-name, password and security-domain.</para>
</section>
+
<section id="JCA_XARecovery_Min_Changes">
<title>Minimal changes</title>
<para>We should limit the main changes to</para>
@@ -584,132 +508,7 @@
<para>which controls the ManagedConnectionFactory for the resource adapter.</para>
</section>
- <section id="JCA_XARecovery_Implementation">
- <title>Implementation</title>
- <para>We will make the following changes:</para>
-<code>org/jboss/resource/metadata/mcf/XADataSourceDeploymentMetaData</code>
- <para>Add support for the new fields in jboss-ds_5_1.dtd / jboss-ds_6_0.dtd</para>
-
-<code>org/jboss/resource/metadata/mcf/RecoverSecurityDomainMetaData</code>
-
- <para>will represent recover-security-domain.</para>
-
-<code>org/jboss/resource/deployers/builder/ManagedConnectionFactoryBuilder</code>
-
- <itemizedlist spacing="compact">
- <listitem>
- Make the "SubjectFactory" MC bean a required dependency
- </listitem>
- <listitem>
- Make the "jboss:service=TransactionManager" JMX bean a required dependency (EAP)
- </listitem>
- <listitem>
- Make the "RecoveryManager" MC bean a required dependency (AS)
- </listitem>
- <listitem>
-
- Pass the JMX ObjectName for the connection manager to the generated
- <code>ManagedConnectionFactoryDeployment</code> in the constructor
-<code>org/jboss/resource/connectionmanager/ManagedConnectionFactoryDeployment</code>
- </listitem>
- <listitem>
- startService()
- <itemizedlist spacing="compact">
- <listitem>
- If XA datasource and XAResourceRecovery is defined
- <itemizedlist spacing="compact">
- <listitem>
- Extract the recover user name, password and security domain from the configuration
- </listitem>
- <listitem>
- Fall back to standard values
- </listitem>
- <listitem>
- Register with XAResourceRecovery
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- stopService()
- <itemizedlist spacing="compact">
- <listitem>
- If we are registered for recovery
- <itemizedlist spacing="compact">
- <listitem>
- Unregister with XAResourceRecovery
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- getXAResources()
- <itemizedlist spacing="compact">
- <listitem>
- Get the subject
- </listitem>
- <listitem>
- Get the ManagedConnection
- </listitem>
- <listitem>
- Get the XAResource
- </listitem>
- <listitem>
- If possible create a XAResourceWrapperImpl based on the values from the connection manager
- </listitem>
- <listitem>
- Return
- </listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- getSubject()
- <itemizedlist spacing="compact">
- <listitem>
- If no security domain is defined
- <itemizedlist spacing="compact">
- <listitem>
- Create a SimplePrincipal
- </listitem>
- <listitem>
- Create a PasswordCredential
- </listitem>
- <listitem>
- Assign ManagedConnectionFactory to PasswordCredential
- </listitem>
- <listitem>
- Add above to Subject
- </listitem>
- <listitem>
- Return
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- If security domain is defined
- <itemizedlist spacing="compact">
- <listitem>
- Use Unauthenticated subject to access security domain
- </listitem>
- <listitem>
- Get Subject from security domain
- </listitem>
- <listitem>
- Return
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
-
- <para>The implementation can be tested using the XA recovery test cases in the JBoss Application Server test suite.</para>
-
- </section>
<section id="JCA_XARecovery_Availability">
<title>Availability</title>
More information about the jboss-cvs-commits
mailing list