<document>

Resin 3.0.2-beta is the final beta release of Resin 3.0.x. It is now feature-complete. Any bug you find in 3.0.2 is a real bug and should be reported in the bugtrack.

Because of the large number of changes, developers should stress test their application with Resin 3.0.2 thoroughly before deploying it.

The planned version naming scheme has changed back, so 3.0.3 is the first expected non-beta release.

Configuration for the web server plugins now uses a ResinConfigServer configuration, replacing the old CauchoConfigFile. CauchoConfigFile is no longer valid.

The plugins query a backend Resin configuration server for the configuration. The backend configuration server could be a different Resin instance from the production servers (although normally will be the same server) and can be clustered.

The ResinConfigServer is in the httpd.conf for Apache or resin.ini in the inetpub/scripts directory for IIS.

<example> ResinConfigServer localhost 6802 </example>

Configuration for most resources has change to make them consistent. All resources use "jndi-name" to specify the JNDI name and "type" to specify the class (or type) of the resource.

<resource jndi-name="test/foo" type="test.Bean"> <init> <value>${1 + 3}</value> </init> </resource>

The database configuration has been cleaned up. Configuration tags for the driver itself is now distinct from configuration for the pool.

<database jndi-name="jdbc/test"> <driver type="org.gjt.mm.mysql.Driver"> <url>jdbc:mysql://localhost:3306/test</url> <user></user> <password></password> </driver> <max-connections>20</max-connections> <max-idle-time>30s</max-idle-time> </database>

In addition, the <ping> tag now replaces <ping-on-idle>, <ping-on-free> and <ping-on-reuse>. In all cases, the ping occurs when the connection is reused. The <ping-interval> governs whether to ping or not. If the connection is reused within the <ping-interval>, it is not pinged. Only older idle connections are pinged.

Resin's database support now uses Resin's JCA implementation for connection pooling. This change should not be visible to applications, but is a major implementation change.

Resin 3.0.2 implements the current (3rd) drafts for both Servlet 2.4 and JSP 2.0.

Resin 3.0.2 now supports JMX 1.1. The JMX tutorials give a good overview.

Configuration with JMX uses the <resource> tag, like any other resource. Registering a resource with JMX simply involves adding an <mbean-name> tag (and implementing an *MBean.java interface.)

Resources can register as JMX listeners with the <listener> tag.

<web-app xmlns="http://caucho.com/ns/resin"> <resource mbean-name="example:name=emitter" type="example.Emitter"> </resource> <resource mbean-name="example:name=listener" type="example.Listener"> <listener mbean-name="example:name=emitter" handback="tutorial"/> </resource> </web-app>

The ResinStatusServlet has been reimplemented as com.caucho.servlets.ResinStatusServlet.

</document>