Resin's buzzword compliance has been enhanced in 3.0.8. Instead of
the old, boring "bean-style init" phrase, parts of the documentation have
been upgraded to use the snazzier "dependency injection" buzzword.
Since Resin's configuration is based on setters, the proper buzzword
is "setter based dependency injection."
The upgraded, buzzword-compliant documentation includes:
The main documentation on Resin's bean-style
init has not yet been upgraded to the new buzzwords, but
provides more information on the configuration patterns.
MBeans now have a JNDI URL, "mbean:", which allows them to the used
for bean-style init (Dependency Injection.)
The JNDI lookup will return the MBean's proxy interface
if one is available.
If a MBean domain is included in the name, e.g. "mbean:foo:type=Bar",
Resin will use the full MBean name. If only the attributes are used,
e.g. "mbean:type=Bar", Resin will add the local JMX context name. In other
words, Resin will add the web-app's properties. This allows the
configuration to be independent of the web-app or host configuration block.
So "mbean:type=Bar", might be converted
to the full MBean name "resin:Host=foo.bar,WebApp=/dir,type=Bar".
Since jndi:lookup can be used for dependency injection (bean-style init),
you can use it to configure mbeans.
In the preceeding example, T1 has a setTest(TestMBean)
The persistent/distributed sessions have been changed because the
old configuration had caused much confusion. (The old configuration
still works for backward compatibility.)
configures the persistent/distributed store in the <server> level for
all persistent store types: jdbc, cluster (tcp), and file. The
<server> level is required because the persistent-store needs to
communicate with other servers in the cluster to notify about
Each <web-app> needs to enable persistent store for its
session-config individually. The use-persistent-store
attribute of the <session-config> enables the persistent-store.
web-apps configured with web-app-deploy can now be custom configured
in the resin-conf using <web-app> inside the web-app-deploy.
In particular, the <web-app> can define a <context-path> different
from the default value given by the .war name.
The web-apps are matched using the <document-directory> as a unique
A new standard ThrottleFilter has been added. The filter restricts
the number of requests from the same IP, defaulting to 2 (the HTTP spec limit.)
The ThrottleFilter is useful to limit some parallel download programs
that can use more threads than they should.