User: d_jencks
  Date: 01/11/12 10:35:18

  Modified:    src/xdocs resource.xml
  Log:
  Updated the manual to show mbean refs: simplified the pool configuration.  The pool 
changes are a bit of a hack, but do expose what I think is a better interface.  
Blocking is always on, idle timeout is always on. Idle timeout and CleanupInterval are 
in minutes.
  
  Revision  Changes    Path
  1.6       +33 -86    manual/src/xdocs/resource.xml
  
  Index: resource.xml
  ===================================================================
  RCS file: /cvsroot/jboss/manual/src/xdocs/resource.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- resource.xml      2001/10/11 22:13:58     1.5
  +++ resource.xml      2001/11/12 18:35:18     1.6
  @@ -75,78 +75,72 @@
                   <formalpara>
                     <title>mbean code="org.jboss.resource.ConnectionFactoryLoader" 
                
name="DefaultDomain:service=ConnectionFactoryLoader,name=DefaultDS"</title>
  -                  <para>This is the mbean declaration, identifying it as a 
ConnectionFactoryLoader instance and supplying an ObjectName.  Note that the 
name="myObjectName" is part of the ConnectionFactoryLoader mbean ObjectName and has 
nothing to do with the jndi name the ConnectionFactory will be bound under.</para>
  +                  <para>This is the mbean declaration, identifying it as a 
ConnectionFactoryLoader instance and supplying an ObjectName.  Note that the 
name="myObjectName" is part of the ConnectionFactoryLoader mbean ObjectName and has 
nothing to do with the jndi name the ConnectionFactory will be bound under. Remember 
also that ObjectNames have to be unique.</para>
                   </formalpara>
                 </listitem>
                 <listitem>
                   <formalpara>
  -                  <title>JndiName (formerly FactoryName)</title>
  +                  <title>(attribute) JndiName (formerly FactoryName)</title>
                     <para>This is the JNDI name that the ConnectionFactory will end 
up getting bound under in JNDI.  You or JAWS use this to find the ConnectionFactory 
when you want to do some work on the resource it is connected to.</para>
                   </formalpara>
                 </listitem>
                 <listitem>
                   <formalpara>
  -                  <title>TransactionManagerName</title>
  -                  <para>This is the jndi name of the transaction manager to hook up 
transactions from.  Normally it is java:/TransactionManager</para>
  +                  <title>(attribute)TransactionManagerName</title>
  +                  <para>This is the jndi name of the transaction manager to hook up 
transactions from.  Normally it is java:/TransactionManager.  This may concievably be 
changed to an mbean-ref at some time in the future.</para>
                   </formalpara>
                 </listitem>
                 <listitem>
                   <formalpara>
  -                  <title>RARDeployerName</title>
  -                  <para>This is the (string representation of) the mbean ObjectName 
of the connector deployer.  This is needed because usually the ConnectionFactoryLoader 
is configured and started before the resource adapter is deployed.  When the resource 
adapter is deployed, all the ConnectionFactoryLoaders are notified that they can 
finish their setup and actually create the ManagedConnectionFactory etc.</para>
  +                  <title>(mbean-ref)ResourceAdapterName</title>
  +                  <para>This is the (string representation of) the ObjectName of 
the RARDeployment set up by the RARDeployer when it deploys the needed rar.  The 
connection factory loader will not be started until this mbean is present.  The object 
names look like this: JCA:service=RARDeployment,name=[display name of rar].  </para>
                   </formalpara>
                 </listitem>
                 <listitem>
                   <formalpara>
  -                  <title>ResourceAdapterName</title>
  -                  <para>This is a little more interesting! Finally we specify which 
resource adapter this ConnectionFactory should be using.  This is the display-name 
element from the resource adapter's internal deployment descriptor (ra.xml)</para>
  +                  <title>(attribute)ManagedConnectionFactoryProperties</title>
  +                  <para>These are, in Properties.load file format, all the 
configuration you want to do on the ManagedConnectionFactory.  Typically this will 
include what resource you are connecting to and such adapter specific items as 
transaction isolation.  The configurable items are specified in the resource adapter's 
deployment descriptor (ra.xml). Most of the relevant contents of this deployment 
descriptor may be viewed in the RARDeployment mbean created by the RARDeployer when it 
deploys the connector.</para>
                   </formalpara>
                 </listitem>
                 <listitem>
                   <formalpara>
  -                  <title>ManagedConnectionFactoryProperties</title>
  -                  <para>These are, in Properties.load file format, all the 
configuration you want to do on the ManagedConnectionFactory.  Typically this will 
include what resource you are connecting to and such adapter specific items as 
transaction isolation.  The configurable items are specified in the resource adapter's 
deployment descriptor (ra.xml)</para>
  +                  <title>(mbean-ref)ConnectionManagerFactoryLoaderName</title>
  +                  <para>This is the mbean ObjectName of a 
ConnectionManagerFactoryLoader. By specifying the ConnectionManagerFactoryLoader, you 
are specifying what kind of connection manager you want to use.  There are three 
choices supplied with JBoss providing different levels of transaction support: none, 
local, and xa.  They all rely on the same pooling code, although they will behave 
differently when receiving multiple requests for a connection from within the same 
transaction.  If you wish to provide alternate pooling or other ConnectionManager 
functionality, you must provide both a ConnectionManager and a 
ConnectionManagerFactory, and provide a ConnectionManagerFactoryLoader configuration 
section in jboss.jcml to make the factory available. The ConnectionFactoryLoader will 
not be started until the ConnectionManagerFactoryLoader is available. The three 
supplied ConnectionManagerFactoryLoaders have ObjectNames: 
JCA:service=ConnectionManagerFactoryLoader,name=MinervaNoTransCMFactory, 
JCA:service=ConnectionManagerFactoryLoader,name=MinervaSharedLocalCMFactory, and 
JCA:service=ConnectionManagerFactoryLoader,name=MinervaXACMFactory.</para>
                   </formalpara>
                 </listitem>
                 <listitem>
                   <formalpara>
  -                  <title>ConnectionManagerFactoryName</title>
  -                  <para>This is the jndi name of a ConnectionManagerFactory. By 
specifying the ConnectionManagerFactory, you are specifying what kind of connection 
manager you want to use.  There are three choices supplied with JBoss providing 
different levels of transaction support: none, local, and xa.  They all rely on the 
same pooling code, although they will behave differently when receiving multiple 
requests for a connection from within the same transaction.  If you wish to provide 
alternate pooling or other ConnectionManager functionality, you must provide both a 
ConnectionManager and a ConnectionManagerFactory, and provide a 
ConnectionManagerFactoryLoader configuration section in jboss.jcml to make the factory 
available.</para>
  -                </formalpara>
  -              </listitem>
  -              <listitem>
  -                <formalpara>
                     <title>ConnectionManagerProperties</title>
                     <para>For the three jboss ConnectionManagers, this configures, in 
property file format, the pooling parameters.
                       <orderedlist>
                         <listitem>
                           <formalpara>
  -                          <title>MinSize</title>
  -                          <para>The initial and minimum number of managed 
connections in the pool.  IMPORTANT NOTE: If you wish to set this greater than 0, your 
resource adapter must support setting a default Subject in the 
ManagedConnectionFactoryProperties, usually by means of UserName and Password 
properties.  Without this, there is no way for the pool to determine the Subject for 
the initial connections.</para>
  +                          <title>PoolConfiguration</title>
  +                          <para>(per-factory, per-user) Configures whether pooling 
is based on the users identity or not.  If you have only one user (for instance you 
are using the ManyToOnePrincipalMapping), per-factory is appropriate.  If your 
connector supports reauthentication, per-factory is also appropriate.  Otherwise, 
per-user is apt to work better.  As far as I know, this has not been tested 
significantly.</para>
                           </formalpara>
                         </listitem>
                         <listitem>
                           <formalpara>
  -                          <title>MaxSize</title>
  -                          <para>The maximum number of managed connections in the 
pool. Requests beyond this will block or return null depending on the value of the 
Blocking parameter. ????is returning null supported by the spec????</para>
  +                          <title>MinSize</title>
  +                          <para>The initial and minimum number of managed 
connections in the pool.  IMPORTANT NOTE: If you wish to set this greater than 0, your 
resource adapter must support setting a default Subject in the 
ManagedConnectionFactoryProperties, usually by means of UserName and Password 
properties.  Without this, there is no way for the pool to determine the Subject for 
the initial connections.</para>
                           </formalpara>
                         </listitem>
                         <listitem>
                           <formalpara>
  -                          <title>Blocking</title>
  -                          <para>(true, false).  If true, requests for connections 
when there are none available will block.  If false, such requests will return null. 
???Is this speccompliant???</para>
  +                          <title>MaxSize</title>
  +                          <para>The maximum number of managed connections in the 
pool. Requests beyond this will block.</para>
                           </formalpara>
                         </listitem>
                         <listitem>
                           <formalpara>
  -                          <title>IdleTimeoutEnabled</title>
  -                          <para>(true, false).  If true, ManagedConnections idle 
for the idle timeout value will be disposed of.  If false, ManagedConnections will 
remain in the pool indefinitely.  Note that if your resource manager closes 
connections after a period of inactivity you should set this true and adjust the idle 
timeout value to match your resource managers characteristics. Note that the scan for 
idle connections occurs with the same frequence as the garbage collection, controlled 
by the GCIntervalMillis parameter, so you will want to adjust this value as well.  The 
default value for GCInterval is 2 minutes.CHECKTHIS</para>
  +                          <title>BlockingTimeoutMillis</title>
  +                          <para>The length of time to wait when the pool is 
exhausted before throwing a ResourceException.  -1 means never.</para>
                           </formalpara>
                         </listitem>
                         <listitem>
                           <formalpara>
  -                          <title>IdleTimeoutMillis</title>
  -                          <para>This is the (minimum) time for the connection 
manager to wait in milliseconds before closing unused connections.  This is used only 
if IdleTimeoutEnabled is true.</para>
  +                          <title>IdleTimeoutMinutes</title>
  +                          <para>This is the (minimum) time for the connection 
manager to wait in minutes before closing unused connections.  This may not be exact, 
the cleanup process is run based on the CleanupIntervalMinutes parameter.</para>
                           </formalpara>
                         </listitem>
                         <listitem>
  @@ -156,35 +150,11 @@
                           </formalpara>
                         </listitem>
                         <listitem>
  -                        <formalpara>
  -                          <title>GCEnabled</title>
  -                          <para>(true, false) Garbage collection reclaims 
connections that havebeen held too long (as determined by the GCIntervalMillis 
parameter) by a client.  If a reclaimed connection is still valid, as determined by 
ManagedConnection.cleanup() returning without an exception, the connection is made 
immediately available in the pool.  If the connection cannot be reclaimed, as 
determined by the cleanup() method throwing a ResourceException, the connection is 
discarded.</para>
  -                        </formalpara>
  -                      </listitem>
  -                      <listitem>
  -                        <formalpara>
  -                          <title>GCMinIdleMillis</title>
  -                          <para>The time a connection can be held by a client 
before being reclaimed by the pool without the client releasing it, if GCEnabled is 
true.</para>
  -                        </formalpara>
  -                      </listitem>
  -                      <listitem>
  -                        <formalpara>
  -                          <title>GCIntervalMillis</title>
  -                          <para>The time between garbage collection/ idle timeout 
removal runs.  This may not be exact due to server load.</para>
  -                        </formalpara>
  -                      </listitem>
  -                      <listitem>
                           <formalpara>
  -                          <title>TimestampUsed</title>
  -                          <para>(true, false) If true, PoolEvents will update the 
timestamp, preventing garbage collection/idle timeout.  It is not clear to me at the 
moment if PoolEvents can be generated for this purpose except on getting or closing 
connections and starting or ending resources and committing or rolling back 
transactions.</para>
  +                          <title>CleanupIntervalMinutes</title>
  +                          <para>The time between idle timeout removal runs.  This 
may not be exact due to server load.</para>
                           </formalpara>
                         </listitem>
  -                      <listitem>
  -                        <formalpara>
  -                          <title>InvalidateOnError</title>
  -                          <para>(true, false) Sets whether a connection is removed 
from the pool in case of error.  The errors come from a PoolEvent announcing an error. 
I don't know how such PoolEvents are generated.</para>
  -                        </formalpara>
  -                      </listitem>
                       </orderedlist>
                     </para>
                   </formalpara>
  @@ -202,7 +172,7 @@
                   </formalpara>
                 </listitem>
               </orderedlist>
  -    </para>
  +          </para>
           </formalpara>
         </section>
         <section id="resource-jdbc-wrappers">
  @@ -278,17 +248,12 @@
   <!--                                                                       -->
   <!-- ===================================================================== -->
   
  -<!-- $Id: resource.xml,v 1.5 2001/10/11 22:13:58 d_jencks Exp $ -->
  +<!-- $Id: resource.xml,v 1.6 2001/11/12 18:35:18 d_jencks Exp $ -->
   
   
   <server>
   
  -  <depends>JBOSS-SYSTEM:service=Naming</depends>
  -  <depends>JBOSS-SYSTEM:service=TransactionManager</depends>
  -  
<depends>JCA:service=ConnectionManagerFactoryLoader,name=MinervaSharedLocalCMFactory</depends>
  -  <depends>JCA:service=RARDeployer</depends>
   
  -
     <classpath archives="
         mm.mysql-2.0.4-bin.jar"/>
   
  @@ -304,21 +269,15 @@
         UserName=</attribute>
       <attribute name="JndiName">fooDS</attribute>
       <attribute name="TransactionManagerName">java:/TransactionManager</attribute>
  -    <attribute name="ResourceAdapterName">Minerva JDBC LocalTransaction 
ResourceAdapter</attribute>
  -    <attribute name="RARDeployerName">JCA:service=RARDeployer</attribute>
  -    <attribute 
name="ConnectionManagerFactoryName">MinervaSharedLocalCMFactory</attribute> 
  +    <mbean-ref name="ResourceAdapterName">JCA:service=RARDeployment,name=Minerva 
JDBC LocalTransaction ResourceAdapter</mbean-ref>
  +    <mbean-ref 
name="ConnectionManagerFactoryLoaderName">JCA:service=ConnectionManagerFactoryLoader,name=MinervaSharedLocalCMFactory</mbean-ref>
 
       <attribute name="ConnectionManagerProperties">#
         #Wed Aug 15 16:17:29 EDT 2001
  -      InvalidateOnError=false
         BlockingTimeoutMillis=500000
  -      IdleTimeoutMillis=1800000
  +      IdleTimeoutMinutes=30
         MaxSize=10
  -      TimestampUsed=false
  -      IdleTimeoutEnabled=false
  -      CleanupIntervalMillis=120000
  +      CleanupIntervalMinutes=10
         MinSize=0
  -      GCMinIdleMillis=1200000
  -      GCEnabled=false
         MaxIdleTimeoutPercent=1.0
       </attribute>
       <attribute name="PrincipalMappingClass">
  @@ -348,16 +307,10 @@
   <!--                                                                       -->
   <!-- ===================================================================== -->
   
  -<!-- $Id: resource.xml,v 1.5 2001/10/11 22:13:58 d_jencks Exp $ -->
  +<!-- $Id: resource.xml,v 1.6 2001/11/12 18:35:18 d_jencks Exp $ -->
   
   <server>
   
  -  <depends>JBOSS-SYSTEM:service=Naming</depends>
  -  <depends>JBOSS-SYSTEM:service=TransactionManager</depends>
  -  
<depends>JCA:service=ConnectionManagerFactoryLoader,name=MinervaSharedLocalCMFactory</depends>
  -  <depends>JCA:service=RARDeployer</depends>
  -
  -
     <classpath archives="
         jdbc7.0-1.2.jar"/>
   
  @@ -374,21 +327,15 @@
     Password=postgres</attribute>
       <attribute name="JndiName">FooPostgresDS</attribute>
       <attribute name="TransactionManagerName">java:/TransactionManager</attribute>
  -    <attribute name="ResourceAdapterName">Minerva JDBC LocalTransaction 
ResourceAdapter</attribute>
  -    <attribute name="RARDeployerName">JCA:service=RARDeployer</attribute>
  -    <attribute 
name="ConnectionManagerFactoryName">MinervaSharedLocalCMFactory</attribute> 
  +    <mbean-ref name="ResourceAdapterName">JCA:service=RARDeployment,name=Minerva 
JDBC LocalTransaction ResourceAdapter</mbean-ref>
  +    <mbean-ref 
name="ConnectionManagerFactoryLoaderName">JCA:service=ConnectionManagerFactoryLoader,name=MinervaSharedLocalCMFactory</mbean-ref>
 
       <attribute name="ConnectionManagerProperties">#
         #Wed Aug 15 16:17:29 EDT 2001
  -      InvalidateOnError=false
         BlockingTimeoutMillis=500000
  -      IdleTimeoutMillis=1800000
  +      IdleTimeoutMinutes=30
         MaxSize=10
  -      TimestampUsed=false
  -      IdleTimeoutEnabled=false
  -      CleanupIntervalMillis=120000
  +      CleanupIntervalMinutes=10
         MinSize=0
  -      GCMinIdleMillis=1200000
  -      GCEnabled=false
         MaxIdleTimeoutPercent=1.0
       </attribute>
       <attribute name="PrincipalMappingClass">
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to