⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resin-3.0.0.xtp

📁 RESIN 3.2 最新源码
💻 XTP
字号:
<document>  <header>    <product>resin</product>    <title>Resin 3.0.0 Beta Release Notes</title>  </header><body><summary objsummary="localtoc"/><s1 title="Overview"><p>Resin 3.0.0 is a significant internal redesign of Resin.  As featureshave accumulated and Java and XML design have progressed, the old codeneeded a severe cleaning.</p><p>Because of the large number of changes, developers should stresstest their application with Resin 3.0.0 thoroughly before deployingit.</p><p>We are calling the Resin 3.0.x series "beta".  The "production"versions will be the Resin 3.1.x series.  The two reasons for callingthe code "beta" is the large number of changes, and because we areexpecting to add a great deal of features to following 3.0.xreleases.  For many users, the stability of 3.0.x will be sufficientfor deployment, but we wanted to give an extra warning to make surethat people stress tested their applications before deploying on 3.0.x.</p></s1><s1 title="Configuration Changes">  <s2 title="Backward Compatibility"><p>As much as possible, Resin 3.0.0 configuration is expected toprovide backward compatibility.  In most cases, the Resin 2.1.xconfiguration should work with Resin 3.0.  If not, it should bereported as a bug.  However, backward compability only applies whenvalidation is disabled.  In other words, if the configurationspecifies the xmlns="http://caucho.com/ns/resin" namespace, only thenew configuration will be accepted.</p><p>The primary exceptions are handling of web-app and host defaults.Resin 3.0.0 has a &lt;web-app-default&gt; and a &lt;host-default&gt;elements.  It is now no longer legal to put web-app configuration inthe &lt;host&gt; or the &lt;server&gt; sections.</p><p>In addition, there is no longer any default web-app or host.  Inother words, if the resin.conf has no &lt;host id=''&gt; or &lt;web-appid='/'&gt;,then requests to an unknown host will fail with a 404 filenot found exception.</p>  </s2>  <s2 title="Top-level and validation"><p>Resin now uses Relax-NG to validate configuration files.  Thisshould help find configuration errors faster.  The Resin configurationXML namespace is <var>http://caucho.com/ns/resin</var>.  Allconfiguration files using Resin extensions should use that namespace.In addition, Resin understands the new J2EE namespace,http://java.sun.com/xml/ns/j2ee.  Configuration files using thatnamespace must conform exactly to the j2ee specification.</p><p>The Relax-NG schema are contained in the resin.jar andresin-ee.jar.</p><dl>  <dt>com/caucho/server/resin/env.rnc</dt>  <dd>environment/resource configuration</dd>  <dt>com/caucho/server/resin/resin.rnc</dt>  <dd>resin.conf definition</dd>   <dt>com/caucho/server/webapp/web-xml.rnc</dt>  <dd>J2EE web.xml definition</dd>  <dt>com/caucho/server/webapp/resin-web-xml.rnc</dt>  <dd>Resin web.xml definition</dd>  <dt>com/caucho/server/ejb/ejb-jar.rnc</dt>  <dd>J2EE ejb-jar definition</dd>  <dt>com/caucho/jsp/cfg/jsp-tld.rnc</dt>  <dd>J2EE JSP .tld file definition</dd>  <dt>com/caucho/server/ejb/resin-ejb.rnc</dt>  <dd>Resin ejb definition</dd></dl> <example title="resin.conf">&lt;resin xmlns="http://caucho.com/ns/resin"&gt;  &lt;server&gt;    ...    &lt;host&gt;    &lt;/host&gt;  &lt;/server&gt;&lt;/resin&gt;</example><example title="web.xml">&lt;web-app xmlns="http://caucho.com/ns/resin"&gt;   ...&lt;/web-app&gt;</example><example title="foo.ejb">&lt;ejb-jar xmlns="http://caucho.com/ns/resin"&gt;   ...&lt;/ejb-jar&gt;</example>  </s2>  <s2 title="tag name changes"><p>Some tags have had some name changes to more accurately reflecttheir meanings.  If the xmlns="http://caucho.com/ns/resin" isspecified, the old names are no longer allowed.  If the old&lt;caucho.com&gt; is used, they will be allowed.</p><deftable><tr><th>new</th><th>old</th><th>explanation</th></tr><tr><td>resin</td><td>caucho.com</td><td>the internal logic of the configurationfile has changed.  The "caucho.com" name reflected a registry-styleconfiguration.  "resin" more accurately reflects a schema-basedconfiguration.</td></tr><tr><td>server</td><td>http-server</td><td>Since the server is not actuallydependent on the protocol (HTTP), it doesn't make sense to call ithttp-server.</td></tr><tr><td>resource</td><td>resource-ref</td><td>resource-ref is intended as a hintto GUI tools.  &lt;resource&gt; configures the resource itself.</td></tr><tr><td>database</td><td>resource-ref</td><td>database-specific configurationuses the &lt;database&gt; tag to make configuration files cleaner.</td></tr><tr><td>ejb-server</td><td>resource-ref</td><td>EJB server configurationuses the &lt;ejb-server&gt; tag to make configuration files cleaner.</td></tr><tr><td>log</td><td>error-log</td><td>The error logging has been integrated intothe JDK 1.4 logging system, so there is no longer need for a separateconfiguration.</td></tr><tr><td>class-loader</td><td>classpath</td><td>The class loader configurationhas been extensively upgraded.  The old &lt;classpath&gt; tag wasinsufficiently powerful to handle the new class loading configuration.</td></tr><tr><td>javac</td><td>java</td><td>Since javac configures the compiler, not theJDK itself, it make more sense to call it "javac".</td></tr><tr><td>dependency-check-interval</td><td>class-update-interval</td><td>Becausethe dependency checking tests more than just class updates, includingconfiguration file changes, a more general name was appropriate.</td></tr><tr><td>cluster-store</td><td>tcp-store</td><td>Cluster store is a moreappropriate name.</td></tr><tr><td>web-app-deploy</td><td>war-dir</td><td>More general definition of .war expansion.</td></tr></deftable>  </s2>  <s2 title="&quot;Environment&quot; configuration"><p>Resin's configuration is now organized into "Environments".  Eachenvironment has its own classloader, JNDI space, resources, logs,system properties, etc.  The Environment is just a generalization ofResin 2.1's class-loader context for &lt;http-server&gt;, &lt;host&gt;,and &lt;web-app&gt;.  Now, any context could have its own environment:EJB servers, the outer &lt;resin&gt; declaration, even individualsession beans.</p><p>Any of the class loader and resource configuration is allowed inany environment.  See the <a href="doc|env-tags.xtp">environmentconfiguration</a> for the list.</p>  </s2>  <s2 title="class loader configuration"><p>Class loading configuration has been split from the old classpathinto a new set of class loading implementations: compiling-loader,simple-loader, library-loader, and make-loader.  These are primarilyintended to make class loader configuration more clear.</p>  </s2>  <s2 title="reference configuration"><p><a href="doc|env-tags.xtp#reference">reference</a> configuresJNDI ObjectFactories, while <a href="doc|env-tags.xtp#resource">resource</a> configures bean objectsdirectly.  Several third-party components expect to be configured asObjectFactory references instead of configured as beans.</p>  </s2>  <s2 title="database configuration"><p>With the exception of replacing &lt;reference-ref&gt; with thenew &lt;database&gt;, database configuration is similar to the oldstyle.  &lt;driver-class&gt; and &lt;driver-url&gt; are the new primarysubtags of the &lt;database&gt; configuration.</p><p>For transactions, &lt;xa&gt;true&lt;/xa&gt; configures the DataSource astransactional.</p>  </s2>  <s2 title="ejb-server configuration"><p>&lt;ejb-server&gt; now replaces the resource configurationfor com.caucho.ejb.EJBServer.</p>  </s2>  <s2 title="web-app-default and host-default"><p>Resin's support for web-app defaults and host defaults is now moreconsistent and robust.  All the defaults, including *.jsp and theconfiguration of WEB-INF/classes and WEB-INF/lib, are now implementedusing web-app-default and host-default.  The distribution puts thesein $RESIN-HOME/conf/app-default.xml.</p><p>All the configuration items in web-app-default are applied to theweb-app at initialization time.  Since web-app-default items areapplied first, the later web.xml definitions will override them.</p>  </s2>  <s2 title="web-app-deploy"><p>.war deployment has been generalized from the simple war-dirin Resin 2.1. "webapps" directories can now be subdirectoriesof a web-app.  For example, doc/servlet/tutorial is an expansiondirectory.  All the tutorial examples are separateweb-apps added automatically.</p>  </s2>  <s2 title="root-directory and document-directory"><p>The configuration of directories for server, host, and web-apphas been cleaned up to remove some confusion.</p><p>The &lt;server&gt; has only a root-directory.  The server'sroot-directory specifies the top-level location for log files,caching, etc.</p><p>The &lt;host&gt; has a root-directory and a document-directory.  Theroot-directory defaults to the server's root-directory if none isspecified.  The document-directory is the location for the host'sdocuments.</p><p>The &lt;web-app&gt; has only a document-directory.  It replaces theapp-dir configuration.</p>  </s2></s1><s1 title="JSP-EL and Bean-Style Configuration"><p>All configuration in Resin is now based on bean-style configurationusing XML to configure beans.  Each tag in all the configuration filescorresponds to a setXXX or addXXX or createXXX method in a bean.</p><p>The configuration allows JSP-EL expressions in any context whereprimitive values are allowed.  So any string or path can be configuredwith JSP-EL using variables like ${'${'}serverId}.</p><p>Servlets and Filters can be configured with &lt;init&gt; blocks thatuse the full power of Resin's configuration.  So the followingconfiguration would be possible:</p><example>&lt;servlet servlet-name='test'&gt;  &lt;servlet-class&gt;test.TestServlet&lt;/servlet-class&gt;  &lt;init&gt;    &lt;greeting&gt;Hello, World&lt;/greeting&gt;  &lt;/init&gt;&lt;/servlet&gt;</example></s1><s1 title="JDK 1.4 logging"><p>Resin's logging is now integrated with the JDK 1.4java.util.logging classes.  The <a href="doc|config-log.xtp">log</a>configuration configures the Logger classes.  So applications whichuse JDK 1.4 will automatically get integration with Resin'slog configuration.</p></s1><s1 title="threads, TCP, and &quot;nonblocking&quot; I/O"><p>Resin's threading and TCP accept implementationhas been rewritten.  All ports for a &lt;server&gt; now share the same poolof worker threads.</p><p>For the most part, this change should be invisible to mostusers.</p><p>On Unix, Resin has JNI support for "nonblocking" I/O forkeepalive connections. (Resin 3.0 uses select instead of a truenonblocking call.)  This new support means Resin can support many morekeepalive connections without dedicating any threads.</p><p>In other words, an application could have 500 keepaliveconnections waiting for a client response and only need 5-10 activethreads to process that response.</p><p>This support is not yet available for Windows. Under Unix, you must./configure, make, and make install the libexec/libresin.so to get thenew keepalive support.</p></s1><s1 title="bin/resin has been removed"><p>Most of the capabilities of bin/resin are now handled by JNI.  The&lt;user-name&gt; and &lt;group-name&gt; support have not yet been added toResin 3.0.x.  Older versions of Linux will need to use an alternativemethod of changing the user.  Newer Linux versions will be able to usethe JNI-based &lt;user-name&gt; once that's reintroduced.</p></s1><s1 title="JavaScript for JSP support has been dropped"><p>Since the JavaScript for JSP was used by too few users, it nolonger makes sense to continue support.</p><p>In addition, the JSP-EL and JSTL tag libraries make the need for aseparate dynamically-typed language less important.</p></s1><s1 title="Significant plugin changes"><p>The plugins, mod_caucho and isapi_srun.dll, havebeen changed significantly.  The plugin configurations are truly"beta" quality as more work is needed to bring them up to the usualResin standards.</p><p>If you intend to deploy with Resin 3.0.0-beta, it is highlyrecommended that you use Resin standalone instead of using Apache orIIS.  The quality issues are expected to be resolved by 3.0.1.</p><p>The plugins now use the HMUX protocol to talk from Apache/IIS tothe Resin backend.</p><p>The plugins also now query the backend for their configuration.They no longer read the resin.conf independendly.  (This is the partthat's very new.)</p></s1><s1 title="Cluster support"><p>Resin's load balancing and session backup has been cleaned up andgeneralized somewhat.  &lt;srun&gt; ports now belong in a &lt;cluster&gt;definition.  This should make the configuration a bit clearer.</p><example>&lt;cluster&gt;  &lt;srun id='' host='127.0.0.1' port='6802'/&gt;&lt;/cluster&gt;</example><p>The appropriate load balance servlet is nowcom.caucho.servlets.LoadBalanceServlet.  It uses the HMUX protocol asthe plugins do.</p></s1><s1 title="package changes"><p>The Caucho servlets are now in com.caucho.servlets.  The filtersare in com.caucho.filters.</p><p>The authentication classes are in com.caucho.server.security.</p><p>We do plan to implement backward compatibility classes for thosewho have used custom authenticators, but this has not yet beendone.</p></s1><s1 title="JSP 2.0 and Servlet 2.4 drafts"><p>The next versions of the JSP and Servlet specs are currently in thedraft stage.  Resin 3.0 does implement the new specs, but may not yetbe fully up to date on the latest drafts.</p></s1></body></document>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -