For testing and starting out.
- Java EE 6 Web Profile
- World's fastest web server
- Watchdog process
- No third-party dependencies
GPLv3
For large production applications.
- Java EE 6 Web Profile
- World's fastest web server
- Watchdog process
- No third-party dependencies
- Dynamic cloud servers
- Distributed sessions
- Distributed JCache
- Smart load balancer
- OpenSSL integration
- Fast proxy cache
- Cluster health monitoring
- High performance socket JNI
- Enterprise support options
- Download Resin 4.0
- Download Resin Pro 4.0
Resin Pro 4.0 is the current stable release branch suitable for production use. You can also download Resin Pro 3.1.
2024-11-20
Description
Bug fix release
Change List
- security: add LruCache for mime encoding (rep by Harry)
- security: add length validation for multipart form parsing (rep by liu xuyu\ )
- security: disable webdav (rep by liuxuyu)
- memcached: throw illegal request for long methods
- http: throw illegal request for content-length and chunked
- hessian: add limit classes to AbstractSkeleton and HessianServlet
- rewrite: ForwardAbsoluteFilterChain root webapp (#6470, rep by M. Lowe)
- websocket: error checking for sec-websocket-key (#6460, rep by knut_forkals\ rud)
- http: content-encoding parsing for http input (#6479, rep by shampster)
- dbpool: when poolitem is unexpectedly closed, return null instead of NPE (#\ 6469, rep by M. Shimomura)
2021-12-08
Description
Bug fix release.
Change List
- security: windows-specific URL file visibility issue.
- ssl: add certificate-chain-file to sni-host (#6434, rep by Brygid)
- misc: synchronize ScriptStackTrace (#6435, rep by M. Secrett)
- config: add config for watchdog-jvm_args
- database: in XA when a first getConnection() has a sql error, a second getConnection() wasn't properly returning the first (#6407, rep by Mitsuo Shimomura)
- server: HttpRequest header/url expansion isn't correctly recalculating tail (#6391, rep by cyflhn)
- server: LibraryLoader isModified needs synchronization because of shared _newPathList (#6395, rep by Mitsuo)
- config: use access_log_format from resin.properties in cluster-default (#6380, rep by mitsuo)
- ssl: add null check for JNI free of string argument (#6378, rep by J. Blachon)
- health: SendMail connection errors shouldn't force restart (#6374, rep by S. Sampgaonkar)
- ssl: add ssl="true" to HttpProxy (#6343, rep by C.Fernandez)
- ssl: use openssl_cipher_suite from resin.properties (#6369, rep by Kok-Chai)
- servlet: url map syncronization during startup
- http: transfer-encoding chunked has priority over content-length (#6365, rep by shampster)
- watchdog: remove -Xmx limitation on watchdog, instead launching with normal memory (#6329, #6330, rep by M. Shimomura, Gabriel Costea)
- watchdog: update schema cache to use native path
- windows: windows setup.exe fails when reading registry Services (#6400, rep by ahoroviy)
2020-07-29
Description
Bug fix release.
Change List
- redirect: escape urls for resin:MovedPermanently (#6348, rep by stbu)
- jsp: JspPrecompileListener can't use more than one thread because of shared tags (#6350, rep by Mitsuo)
- websocket: flush() was called on output stream because normal servlet request flush wasn't disabled (#6339)
- log: update access log to support long content length (#6355, rep by stbu)
- form: update int/long to handle large uploads (#6349, rep by stbu)
- cloud: improve debug message for connection failure (#6352)
- anomaly: add auto thread dump for anomalous request time (#6318, rep by Mitsuo)
- webapp: startup logging in webapp (#6346, rep by R. Mann)
- admin: manage tag ids with special characters (#6341, rep by stbu)
- thread: add timestamp for low-level ThreadPool (#6338)
- openssl: add +/tlsv1.3 (#6314, rep by O. Aiken)
- class-scan: catch and continue from .class parse exceptions
- access-log: add %{param}p for parameter (#6305, rep by Yoo)
- websocket: avoid wrapping IOException in IllegalStateException (#6326, rep by James Byatt)
- jdk: EventManager need to use ConcurrentHashMap.putIfAbsent, not Map.putIfAbsent (#6331, rep by alis
- config: openssl-protocol, openssl-cipher-suite, openssl-chain-file (#6316)
- health: avoid reporting time outside window as downtime (#6300, rep by M. Shimomura)
2020-02-12
Description
Big fix release.
Change List
- cluster: fix heartbeat close
- deploy: fix duplicate remote deploy
- config: add jvm_classpath to cluster-default.xml (#6311)
- config: add access_log_format (#6302, rep by T. DeHaan)
- jdk: TcpPort._activeConnectionSet.keySet() must use Map api (#6294, rep by Y. Guedj)
- jdk: getAttribute should not wrap AttributeNotFound (#6297)
- jdk-compat: dynamic Logging during initialization (#6293)
2019-10-28
Description
Bug fix release.
Change List
- port: thread launchers were started before initialization (#6287, rep by A. Thai)
- session: SessionImpl should not clear _isModified on no-change load (#6289, rep by alpor9)
- jdk: use Map.keySet() instead of ConcurrentHashMap.keySet() for linking issues (#6288, rep by A. Thai)
- server: on HMUX requests, wait for server start
- server: keepalive timeout needs to killKeepalive not turn to active (#6268, rep by M. Shimomura)
- http: HttpsEmbed missing jsse.init() (#6282, rep by mikeb01)
- jdk-compat: jdk init with -javaagent cannot use logging from appendToClassPathForInstrumentation (#6279, rep by M. Shimomura)
- http: HttpProxy encoding issue with ch>0x8000 (#6276)
- admin: added resin.admin.heap-dump.file system property for heap-dump directory (#6242 rep by Oneshin)
- hessian: close of Hessian proxy stream when result is inputstream (#3655, rep by Mattias Jiderhamn)
- config: add health_log_expire_timeout (#6271, rep by K. Ng)
- jsp-el: issues with bean getters and get() (#6269, rep by Mitsue Shimomura)
- remote: allow JDK11 w/o WebService class (#6266, rep by Matt S)
- jdk-compat: TcpPort.close() exception on JDK6/7 (#6254)
- mod_caucho: handling of https forwarding
- file: add default-content-type to FileServlet (#6237, rep by stbu)
- config: add openssl_chain_file to cluster-default.xml (#6253)
- dist: split out jpa-16.jar from javaee-16.jar
Download
To help us better understand our users, please be kind enough to provide your information.
Older releases are available in the download archive.