Resin Download

resin_logo_25
For testing and starting out.
  • Java EE 6 Web Profile
  • World's fastest web server
  • Watchdog process
  • No third-party dependencies
  • Quercus
GPLv3
resinprologo
For large production applications.
  • Java EE 6 Web Profile
  • World's fastest web server
  • Watchdog process
  • No third-party dependencies
  • Quercus Professional
  • 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

Resin 4.0 is the current stable release branch suitable for production use.

Resin 4.0.41

2014-09-26

Description

Resin 4.0.41 bug fix release

Change List

  • health: update PdfReport on start to log warning messages for mail (#570, rep by \ D. Tapsell)
  • servlet: ServletContextListener was called twice when registered from ServletCont\ ainerInitializer (#5611, rep by Gerrit Janssen)
  • scheduled-task: check for early task call (#5709, rep by Daniel Jimenez)
  • gzip: gzip response needs to filter out content-length (#5777, rep by wxiaoguang)\
  • jni: update EINTR processing for poll/nonblocking read (#5627, rep by bean)
  • log: ensure rollover worker is called after flush (#5785, rep by mros2stf)
  • log: missing timestamp due to buffer fill condition (#5794, rep by Daniel Jimenez\ )
  • health: add "DISABLED" state to HealthStatus for disabled health checks (#5711, r\ ep by Shinomiya Nobuaki)
  • dbpool: reduce logging level for dbpool driver close, because exception are expected in Mysql (#5637, rep by Srikanth Pulikonda)
  • cli: added -timeout to deploy command (#5598, #5597)
  • openssl: add +tlsv1.1 and +tlsv1.2 (#5682, rep by Sarah Gillespie)
  • servlet: welcome-file processing with query string creates duplicate for getParam\ eterValues (#5642)
  • servlet: content-type and application/json (#5565, rep by 54chen)
  • health: add ping-port attribute to HttpStatusHealthCheck in health.xml (#5572)
  • async: allow dispatch() in onTimeout() (#5779, rep by azuo_lee)
  • ssl: jni ssl mmap support must go through OpenSSL API (#5790, rep by N. Kikhia)
  • jni: calculate_poll_result could return invalid value (#5632, rep by bean)
  • session: check for NPE on shutdown (#5633, #5681 rep by M. Jindal)
  • configure: change ln -sfT to ln -sf for Mac install (#5717, rep by wileysaw)
  • io: null source check on read (#5731)
  • config: jvm-arg not properly picking up dynamic server.id (#5793, rep by daniel)<\ /li>
  • jni: use _filelengthi64 for windows JniRandomAccessFile.getLength (#5733, rep by \ Mattias Lagerwall)
  • config: ResinEnv exception declaration in init() (#5737, rep by matthiasblaesing)\
  • server: add NPE check for generateController (#5744, rep by Shinomiya Nobuaki)
  • file: added TransmitFile for windows (#5784)
  • servlet: error-page for 400-bad request NPE (#5749)
  • servlet: loadOnStartup was incorrectly enabled for @WebServlet even when unset (#\ 5778, rep by Marko Asplund)
  • load-balance: utf-8 encoding in urls (#5785, rep by R Cohen)
  • access-log: rollover-count was not property matching files with .gz extension (#5\ 789, rep by Uv Wildner)
  • jdbc: UserStatement.getWarnings() needs to work even after close (rep by Ole Dalg\ aard)
  • health: add critical/fatal messages to health shutdown message (#5762, rep by J. \ Meyer)
  • resin.xml: moved default cluster-default.xml to classpath and defaulted app-defau\ lt.xml to be dir-relative (#5762, rep by M. Lowe)
  • @WebSocket: interference between @WebSocket and CDI/JSP EL (#5776, rep by marko_a\ splund)
  • jsp-el: cookie.containsKey() fix: (#5683, rep. by Jason Wang)

Resin 4.0.40

2014-05-13

Description

This release is a maintenance release. It contains an XSS security bug fix for the ISO-8859-1 encoder where specially-crafted characters could pass through unescaped to the client.

Change List

  • classLoader: getResource() should skip broken jars (#5706, rep by Constantinos Karantzas)
  • servlet-env: bind java:comp/BeanValidation (#5587, rep by Matthias Jiderhamn)
  • vfs: normalize windows drive letters to lower case to avoid dups (#5592, rep by Matthias Jiderhamn)
  • bam: increase default timeout for remote deploy (#5652, rep by Matthias Jiderhamn)
  • xa: clear _suspendState on transaction resume for memory issues (#5647, rep by Matthias Jiderhamn)
  • i18n: iso-8859-1 encoding issue with non-latin-1 characters needs to return error character (rep by Yoel Gluck)

Resin 4.0.39

2014-04-07

Description

This is a maintenance release.

Change List

  • session: session-mode=before-header was disabling reloading on secondary servers (#5639, rep by Thomas Rogan)
  • resin: disable-soft command timeout error fix (#5656, rep by Sarah Gillespie)
  • resin: shutdown-wait-max not propagating to ShutdownSystem fix (#5660, rep by Shinomiya Nobuaki)
  • resin-admin: cross-site scripting vulnerability in /resin-admin (#5669, rep by G. Krstic)
  • jsp: taglib defined listeners should be called before Filter's init() (#5659, rep by Mattias Jiderhamn)
  • quercus: SimpleXMLElement->xpath() does not work for relative queries (#5622, rep by G. Krall)
  • quercus: SimpleXMLElement->children() returns null values (#5432, rep by ckir)
  • quercus: DOMDocument->schemaValidate() not implemented (#5613, rep by G. Krall)
  • quercus: empty() needs to call ArrayAccess->offsetExists() (#5620, rep by tssets)
  • quercus: spl_object_hash() not implemented (#5623, rep by G. Krall)
  • quercus: cannot execute multiple PDO statements on the same connection (#5625, rep by remaus)
  • quercus: nowdoc does not work (#5626, rep by remaus)
  • quercus: parent classes needs to call its version of private methods within its scope (#5631, rep by G. Krall)
  • quercus: ReflectionParameter::getClass() returns null (#4863, rep by ds82)
  • quercus: Parent keyword does not work inside a Trait (#5581, rep by tobia)
  • quercus: class_alias() is not implemented (#5443, rep by jsnoriegam)
  • quercus: quercus namespace issue in compiled mode (#5640, rep by R. Emaus)
  • quercus: simplexml children()->foo does not work for nodes with only text (#5655, rep by G. Krall)
  • quercus: rename META-INF/services/* so JBoss doesn't parse them (#5654, rep by G. Krall)
  • quercus: JsonSerializable class not implemented (#5504)
  • quercus: add FILTER_SANITIZE_STRIPPED as an alias of FILTER_SANITIZE_STRING (#5663, rep by M. McHugh)
  • quercus: implement filter_input(FILTER_UNSAFE_RAW) for phpMyFaq (#5661, rep by M. McHugh)
  • quercus: implement FILTER_SANITIZE_SPECIAL_CHARS (#5665, rep by M. McHugh)
  • quercus: force the java Mysql driver to use prepared statements (#5671, rep by R. Emaus)
  • quercus: quercus cannot start on Wildfly (#5674, rep by G. Krall)
  • quercus: unpack("H*") returns nothing (#5676, rep by M. Dykman)
  • quercus: clearstatcache() has 2 optional arguments (#5687, rep by G. Krall)
  • quercus: stream_is_local() is not implemented (#5685, rep by G. Krall)
  • quercus: curl_multi_init() suite of functions not implemented (#3516, rep by koreth)
  • quercus: SplObjectStorage class not implemented (#5696, rep by G. Krall)

Resin 4.0.38

2013-12-15

Description

This is a maintenance release.

Change List

  • win32: windows returns incorrect mtime for stat() for DST (#5578, rep by Jason Barr)
  • deploy: NPE on undeploy (#5596)
  • session: update to session id generation to reduce reliance on SecureRandom to avoid duplication (#5602)
  • memcached: MemcachedClient in independent Resin's was improperly caching (rep by Scott Weatbrook)
  • jpa: EntityManager proxy needs to check isOpen before freeing EntityManager for reuse (#5541, rep by Riccardo Cohen)
  • ear: dependency-check could get stuck in the modified state (#5525, rep by Ryan Edwards)
  • rpm: %config updates for /etc/resin, and file mode on /usr/bin (#5562, rep by Christopher Powell, #5539, rep by Khalid Hosein)
  • cache: add memory-size-min to ClusterCache to configure minimum memory cache size (#5558, rep by J Tschida)
  • cluster: dynamic server must heartbeat address to recover from triad restarts (#5561, rep by T Pohl)
  • health: sort message times so PDF report of health dump will be most recent (#5358)
  • watchdog: increate idle thread on startup to avoid dependency on swap (#5500, rep by K. Hosein)
  • jms: transaction/ack issues with file and message driven bean (#5535, rep by Scott Weatbrook)
  • hessian: InetAddress serialization (#5540, rep by Michael Charnoky)
  • servlet: on shutdown, check facade._request for null (#5537)
  • deploy: redeploy delete issues with symlinks (#5536, rep by ssmax)
  • health: OpenFileDescriptorCount is not available on some JMVs (#5515, rep by Y. Zhao)
  • servlet: missing cookie-config in web.xml (#5521, rep by Arjan Tijms)
  • ioc: remove validatio of generic type on produces method (#5522, rep by A Tijms)
  • ioc: extends observers now auto-convert ProcessManagedBean<Foo> to ProcessManagedBean<? extends Foo> (#5531, rep by A Tijms)
  • quercus: empty() needs to call ArrayAccess->offsetExists() (#5612, rep by G. Krall)
  • quercus: session_status() not implemented (#5609, rep by G. Krall)
  • quercus: self doesn't work inside a namespace (#5608, G. Krall)
  • quercus: ReflectionParameter->getClass() not implemented (#5607, rep by G. Krall)
  • quercus: IllegalArgumentException vfs: not found on JBoss (#5606, rep by G. Krall)
  • quercus: ReflectionFunction does not work for closures (#5605, rep by G. Krall)
  • quercus: Xml reader is not working (#5603, rep by qumo)
  • quercus: call_user_func() needs to call __invoke (#5601, rep by G. Krall)
  • quercus: instanceof Closure returns false for closures (#5600, rep by G. Krall)
  • quercus: QuercusCompiledScript.eval() needs to return the Value object (#5589, rep by S. Guo)
  • quercus: ScriptEngineManager.getEngineByName("php") returns Quercus with unicode.semantics=off (#5588, rep by S. Guo)

Resin 4.0.37

2013-09-04

Description

This is a maintenance release.

Change List

  • ejb: avoid double EJB timer call when timer is slow (#5518, rep by K. Hosein)
  • admin/rest: missing close on resource
  • windows: Added a global mutex to windows service wrapper to avoid starting multiple instances of Resin Watchdog
  • cloud: elastic server issues with dynamic remove/timeout (#5510, rep by T Pohl)
  • log: check for null logger name in LogRecord (#5499)
  • cdi: cdi vs jpa load order (#5493)
  • elastic: elastic servers use server-multi defaults (#5412)
  • jni: added check on nativeRead for buffer length (#5428, rep by Daniel Shearer)
  • deploy: start/fail must notify waiting threads (Hrushi Agrawal)
  • health: AnomalyAnalyzer now has min-deviation to avoid spurious messages (#5365)
  • cli: add password verification to password-generate (#5384)
  • access-log: add <access-log-buffer-size> in <cluster> (#5393, rep by A. Foong)
  • bam: force restart if BAM overflow continues (#5479, rep by J. Barr)
  • vfs: stat vs _stati64 issues on win64 (#5494, rep by Matias Lagerwall)
  • jsp: updated JSP page compile locking (#5460, rep by Nikolay Fedorov)
  • jsf: updated javax.faces to 2.1.24 (#5485, rep by cyttesen)
  • load-balance: cookie with max-age(0) not properly propagated (#5456, rep by H. Cleland)
  • shutdown: avoid spurious warnings on connection close during shutdown (#5463, rep by Stefanos Zachariadis)
  • cdi: multiple initializer classes in separate jars need to be unique (#5481, rep by Rick Mann)
  • bytecode: add constant-pool scanning for JDK 7 MethodHandle (#5466, rep by wxiaoguang)
  • session: add table-name to JDBC sessions (#5488, rep by B. Garber)
  • watchdog: add -Djava.web.headlesslib=true (# 5474, rep by Riccardo Cohen)
  • el: descriptor in BeanELResolver should be initialized lazily to work around JSF memory leak (rep by Mattias Jiderhamn)
  • servlet: ServletResponse.reset() should reset cookies (#5464)
  • iis.net: fixed Resin.IIS.handler.dll intermittent slow connection to resin issue (#5455, rep by Shinomiya Nobuaki)
  • cli: heap-dump double-dash isn't recognized with -raw option(#5454)
  • socket: client-disconnect exception needs to construct exception before socket close (#5392)
  • openssl: added "compression" flag with a default false (#5435)
  • jsp: dependency detection issues with inner classes causing recompilation (#5408, rep by stefan_bieler2)
  • servlet/async: async support with hmux (#5420, rep by bhauer1)
  • el: issue with permissions on inner classes (#5447, rep by mate)
  • webapp: check state on controller init (#5406, rep by gattu)
  • servlet: allow @Observes on servlet (#5444)
  • cli: status command needs to accept -watchdog-port (#5442)
  • servlet: getServerName() with IPv6 and no port (#5399, rep by shiny)
  • servlet: servlets with @Inject were not calling servlet init() (#5427, rep by Bill Digman)
  • classloader: classload errors in system classloader should not be at warning (#5416)
  • ejb: @Schedule must be removed when context closes (#5434)
  • cli: --version option was treated as version command (#5415, rep by Tamas Perlaky)
  • jsp: array index exception from utf-8 encoding buffer issues (#5436)
  • jsp: utf-8 encoding buffer issues with surrogate pairs (#5437)
  • network: issue with socket-timeout an non-jni (#5426, rep by HS Im)
  • quercus: preg_replace($array[0]) array dereference fix for preg_replace
  • quercus: ReflectionProperty::isProtected() fix
  • quercus: method_exists("__invoke") does not work with closures (#5501)
  • quercus: static local variables must be unique to a particular closure instance (#5502)

Download

To help us better understand our users, please be kind enough to provide your information.

Older releases are available in the download archive.