📄 ch04.html
字号:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 4. Feature Matrix: JBossCX (JBoss version 3.0)</title><link rel="stylesheet" href="styles.css" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/styles.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets Vimages/callouts/"><link rel="home" href="index.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/index.html" title="JBoss 3.0 Documentation"><link rel="up" href="index.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/index.html" title="JBoss 3.0 Documentation"><link rel="previous" href="ch03s13.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/ch03s13.html" title="Migration from older jboss versions"><link rel="next" href="ch04s02.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/ch04s02.html" title="Sample configuration files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table border="0" cellpadding="0" cellspacing="0" height="65"><tr height="65"><td rowspan="2"><img src="jboss.gif" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/jboss.gif" border="0"></td><td rowspan="2" background="gbar.gif" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/gbar.gif" width="100%" align="right" valign="top"><a href="index.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/index.html"><img src="doc.gif" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/doc.gif" border="0"></a><a href="index.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/index.html"><img src="toc.gif" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/toc.gif" border="0"></a><a href="ch03s13.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/ch03s13.html"><img src="prev.gif" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/prev.gif" border="0"></a><a href="ch04s02.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/ch04s02.html"><img src="next.gif" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/next.gif" border="0"></a></td></tr><tr></tr></table><div class="chapter"><div class="titlepage"><div><h2 class="title"><a name="d0e1279"></a>Chapter 4. Feature Matrix: JBossCX (JBoss version 3.0)</h2></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="ch04.html#d0e1282" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/ch04.html#d0e1282">Features of the JBoss JCA implementation</a></dt><dt><a href="ch04s02.html" tppabs="http://www.huihoo.org/jboss/online_manual/3.0/ch04s02.html">Sample configuration files</a></dt></dl></div><div class="section"><a name="d0e1282"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="d0e1282"></a>Features of the JBoss JCA implementation</h2></div></div><div class="table"><p><a name="d0e1286"></a><b>Table 4.1. Feature Matrix</b></p><table summary="Feature Matrix" border="1"><colgroup><col><col><col align="center"></colgroup><thead><tr><th>Feature</th><th>Description</th><th align="center">Availability</th></tr></thead><tbody><tr><td colspan="3"><span class="emphasis"><i>General</i></span></td></tr><tr><td>Open Source Licensing under the Lesser Gnu Public License (LGPL)</td><td>For details visit: <a href="javascript:if(confirm('http://www.gnu.org/copyleft/lesser.html \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.gnu.org/copyleft/lesser.html'" tppabs="http://www.gnu.org/copyleft/lesser.html" target="_top">
<i>GNU</i>
</a> or <a href="javascript:if(confirm('http://www.opensource.org/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.opensource.org/'" tppabs="http://www.opensource.org/" target="_top">
<i>Open Source Initiative</i>
</a>.
</td><td align="center">Y</td></tr></tbody><tbody><tr><td>Standards based Implementation</td><td>The JBoss implementation is based on standards such as Java, J2ee, and JCA.</td><td align="center">Y</td></tr><tr><td>100% Pure Java</td><td>Deploy on any platform with a JVM.</td><td align="center">Y</td></tr><tr><td>Complete implementation of JCA 1.0</td><td>For details visit the <a href="javascript:if(confirm('http://java.sun.com/j2ee/connector/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://java.sun.com/j2ee/connector/'" tppabs="http://java.sun.com/j2ee/connector/" target="_top"><i>Connector</i>
</a> page.</td><td align="center">Y</td></tr><tr><td colspan="3"><span class="emphasis"><i>JCA</i></span></td></tr><tr><td>Full support for JCA 1.0</td><td>JBoss provides full support for the JCA 1 specifications within its revolutionary JMX-based management system. Resource adapters and ConnectionFactories may be deployed, undeployed, and reconfigured on the fly while the server is running. Configuration is provided via an easy-to-use XML-based MBean configuration system
</td><td align="center">Y</td></tr><tr><td>Resource Adapter.</td><td>A Resource Adapter is a standard interface to an EIS, providing the ability for the application server to manage connection pooling and transaction management for the EIS while allowing EIS specific operations to be handled by client programs. The RA maps its standard interfaces to the interfaces of the underlying EIS.
</td><td align="center">Y</td></tr><tr><td>Service Provider Interface (SPI)</td><td>The SPI is the standard way to integrate the Connection, Transaction, and Security management facilities of an AppServer with a Transaction Manager.</td><td align="center">Y</td></tr><tr><td>Common Client Interface (CCI)</td><td>The CCI is a standard client API presenting a generic model of EIS interaction, enabling a consistent format for client interaction with an EIS while preserving the application server managed transaction, pooling, and security aspects of the SPI.</td><td align="center">Y</td></tr><tr><td>Use of CCI in CMP</td><td>Use arbitrary CCI connections in CMP so that entity beans may be mapped to arbitrary EIS systems declaratively rather than requiring the use of relational databases to use CMP.</td><td align="center">Under active development</td></tr><tr><td>Use of CCI in the JMS Resource Adapter for JMS</td><td>JBoss features the first JCA adapter to provide an interface to a JMS implementation. We may modify this to use the CCI API in the future.</td><td align="center">To do</td></tr><tr><td>Use of CCI in a Rules Engine Adapter</td><td>In combination with the completely modular and extensible EJB container architecture featured by JBoss, a prototype rules engine adapter was developed, allowing completely transparent declarative interaction with a RETE-based rules engine. The rules engine adapter implements the JCA SPI and CCI APIs to provide for possible pluggable rules engines.</td><td align="center">Under development</td></tr><tr><td>Managed Application Clients (3-Tier)</td><td>Access to EISs from Managed Application Clients is the "normal" scenario. 3-Tier Thin clients use the CCI to interact with the EIS. The J2EE Server uses the SPI to manage Configuration, Connections, Transactions, and Security.</td><td align="center">Y</td></tr><tr><td>Non-Managed Application Clients (2-Tier)</td><td>Access to EISs from Non-Managed Application Clients
2-Tier Fat clients can directly use the Resource Adapter. The Client uses the CCI and SPI interfaces and takes responsibility for managing Transactions and Security. Connections are still managed by the Resource Adapter.
The non-managed application client scenario is not particularly relevant to an application server, which after all is an application manager. However, it may sometimes be useful to supply connections that are not under transaction manager control, for instance for "read only" access from a servlet. Although this may be a questionable design choice, it is possible to set up a ConnectionFactory with pooling and, security management, but no transaction management, provided that the Connection supports the getLocalTransaction() method.</td><td align="center">Y</td></tr><tr><td colspan="3"><span class="emphasis"><i>Connection Management</i></span></td></tr><tr><td>Consistent model for Connections.</td><td>Provides a consistent application development model for connection acquisition for Managed and Non-Managed application clients.</td><td align="center">Y</td></tr><tr><td>Choice of ConnectionManagers.</td><td>The ConnectionManager is the primary application server-side interface between the application server (as opposed to the managed client) and a (external) resource adapter. JBoss ships with three ConnectionManagers, all providing connection pool management, and providing different levels of transaction support (XA transaction, LocalTransaction, and No transaction). As with most JBoss components, these are completely pluggable, allowing you to add your own ConnectionManager should you have more specific needs.
</td><td align="center">Y</td></tr><tr><td>ConnectionFactories.</td><td>Of course, the whole point of the JCA architecture is to provide connections from connection factories so your application can do some useful work. Enable theA Resource Adapter to provides a Connection Factory and Connection iInterfaces: these may be based on the CCI specification, based on JDBC, or based on the CCI specific to the EIS. JBoss supports dynamic deployment and undeployment of connection factories through a ConnectionFactoryLoader MBean. The configuration for a ConnectionFactoryLoader MBean contains all the information necessary to set up a ManagedConnectionFactory, configured to connect to an EIS instance, a ConnectionManager to manage pooling, transactions, and security, and the JNDI binding of the ConnectionFactory itself. The configuration of a ManagedConnectionFactory, ConnectionManager, or ConnectionFactory can be changed at any time through the html JMX interface or programmatically through the MBean server.
</td><td align="center">Y</td></tr><tr><td>Connection Pooling.</td><td>Typically physical connections to an EIS are time consuming to set up and tear down and tie up significant resources. In an application server environment, it is essential to share connections between clients, and maintain a pool of connections available for use. JBoss comes with several ConnectionManagers that implement different policies on the circumstances under which a connection may be shared or reused. If none of these are suitable for a particular resource adapter, a custom ConnectionManager may be written and plugged seamlessly into the JBoss framework.
</td><td align="center">Y</td></tr><tr><td colspan="3"><span class="emphasis"><i>Transaction Management</i></span></td></tr><tr><td>Transactions (JTA)</td><td>Full support for JTA. JBoss comes configured with a JTA based transaction manager that implements all needed functionality for a single server, including 2PC and 1PC optimization. All transaction management is done within the JTA framework.
</td><td align="center">Y</td></tr><tr><td>Integration with external DTM (Tyrex).</td><td>JBoss includes a configuration and integration for the Tyrex DTM for use when transactions need to span more than one jboss instance.</td><td align="center">Y</td></tr><tr><td>XA-Transactions</td><td>An XA-Transaction is managed outside the EIS by the help of an external Transaction Manager. For resource adapters supporting XA transactions, all transaction management will beis done from the JBoss transaction manager using the XAResource interface.</td><td align="center">Y</td></tr><tr><td>Local-Transactions</td><td>A Local-Transaction is managed internally by the EIS without the use of any external Transaction Manager. For resource adapters not supporting XA transactions, the transaction manager uses the LocalTransaction interface, intended for use in transactions encompassing only one resource manager.</td><td align="center">Y</td></tr><tr><td>2PC using XA-Transactions</td><td>Two Phase Commit is required if multiple EISs need to participate in a transaction. The J2EE Server uses a Transaction Manager to coordinate the steps involved in a two phase commit of the Transaction using the XAResource interface.</td><td align="center">Y</td></tr><tr><td>1PC using XA-Transactions</td><td>One Phase Commit is sufficient for transactions within a single EIS. The Transaction Manager uses 1PC optimizations to manage the transactions for this single EIS, using the XAResource interface.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -