resin 4.0.0 release notes
Resin 4.0.x is now the development branch. Due to the addition of new features, it may be more unstable than the production branch. The 3.1.x branch is the stable branch. Resin's concurrent connections has been tested up to 10,000 simultaneous keepalive connections. Since the CPU usage of that test was only 1.0, the actual upper limit would be even larger than 10k. Resin's configuration and dependency injection is based on the JSR-299 (CanDI) draft specification. Applications can use Java Injection to create and configure custom components, including configuration of third party libraries. New .war versions can be deployed to a distributed cluster. All servers in the cluster will receive the new .war updates. Updates are incremental, with only changed files requiring new uploads. Plugins for distributed .war are available for eclipse, ant, and maven. Resin's distributed deployment uses the git file format for transactional reliability, and uses BAM/HMTP for distributed communication. Clustered caching is now available using the JCache API, which is a java.util.Map extension. All servers in a cluster will receive updates for cache updates. The clustered caching uses BAM/HMTP to communicate cache updates. Resin 4.0 now lets you add and remove servers dynamically. You'll add the new server in the /resin-admin or through JMX, and start the server normally. Distributed sessions now use the new distributed caching capabilities to share changes across all servers in the cluster. The internal, distributed JMX implementation now uses BAM/HMTP to communicate JMX attributes and actions. The eclipse plugin has been rewritten to include remote distribution of .war files, and improve remote control of Resin instances.. Project and library jar files may now be placed in
a Resin's rewrite rules have been improved to allow easier customization and configuration based on CanDI style configuration. <web-app xmlns="http://caucho.com/ns/resin"> xmlns:resin="urn:java:com.caucho.resin"> <resin:FastCgiProxy regexp="^/fcgi" address="localhost:9000"/> <resin:HttpProxy regexp="^/http" address="localhost:8080"/> <resin:Dispatch regexp="(\.php|\.js|\.gif|\.png)$"/> <resin:Dispatch regexp="^" target="/index.php"/> </web-app> Resin now supports fast cgi as a front-end protocol, allowing it to be used with servers like nginx and IIS fastcgi support. <resin xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <cluster id=""> <server id=""> <resin:FastCgiPort port="9000"/> ... </server> ... </cluster> </resin> Resin's security rules have been improved to allow easier customization and configuration based on CanDI style configuration. <web-app xmlns="http://caucho.com/ns/resin"> xmlns:resin="urn:java:com.caucho.resin"> <resin:XmlAuthenticator> <user name="harry" password="..."/> </resin:XmlAuthenticator> <resin:BasicLogin/> <resin:Allow url-pattern="/secure/*"> <resin:IfUserInRole role="user"/> </resin:Allow> </web-app> Resin's management services have been reconfigured to use CanDI style configuration. <resin xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <cluster id="app"> <resin:DeployService/> <resin:JmxService/> <resin:LogService/> <resin:StatService/> <resin:XaLogService/> ... </cluster> </resin> JMS configuration now uses CanDI style configuration. <web-app xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <resin:JmsConnectionFactory/> <resin:MemoryQueue name="test"/> </web-app> Resin now uses BAM/HMTP for all internal messaging, including the distributed caching, dynamic servers, and distributed deployment. Win32 openssl version is compiled against Shining Light's 0.9.8k Win64 openssl version is compiled against Shining Lights 0.9.8k Quercus continues to improve, with significant performance improvements and many compatibility bug fixes. An GoogleQuercusServlet has been created to support Quercus on the Google Application Engine.
|