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