Follow documentation and download links from our main project page. View our full release notes from JIRA. Special thanks goes out to Solomon Duskis for helping me nail down the Spring integration and for implementing the Spring MVC bridge. This is a pretty extensive release with a lot of new features:
- Asynchronous HTTP (Comet) support via Tomcat 6, JBoss Web, or Servlet 3.0 (Jetty 7). This is a tiny, but simple abstraction over these APIs
- Expanded Multipart support. You can now marshal collections(Maps and Lists) of objects to and from multipart/mixed and multipart/form-data.
- Atom + JAXB support. I wrote a few JAXB annotated classes to represent the Atom format. You can embed JAXB classes within Atom content as well as marshall Atom to and from XML, JSON, and Fastinfoset.
- Atom support via Apache Abdera
- Arrays and Collections of JAXB objects marshalled automatically.
- Enhanced Spring support. We now support autoproxied beans as well as some nice Spring MVC support and the ability to output ModelAndView objects. Thanks Solomon!!!
This will hopefully be the last beta. I’ve been waiting patiently (since October 1st) for Red Hat and Sun to hammer out the licensing terms so I can download the JAX-RS TCK and get RESTEasy certified. I should be getting it any day now and so the next release of RESTEasy will be RC1 and certified. I’m not sure how long the TCK will take as I don’t have my hands on it yet, but I’m hoping around 6-8 weeks. Shortly after RC1 will be 1.0.
Dec 02, 2008 @ 14:54:28
Can you please elaborate on the new Spring support?
The documentation for version 1.0-beta-9 still mentions SpringContextLoaderListener which is no longer found in the new release:
http://www.jboss.org/file-access/default/members/resteasy/freezone/docs/1.0-beta-9/userguide/html_single/index.html#RESTEasy_Spring_Integration
Thank you,
Ophir
Dec 02, 2008 @ 15:06:31
Oh, I see SpringContextLoaderListener was moved to the resteasy-spring module.
I’d still like to know more about the autoproxied Spring beans 🙂
Dec 03, 2008 @ 18:45:50
@Ophir: SpringContextLoaderListener scans for beans that have JAX-RS annotations, and scans the Class for @Path/@GET/etc. methods, and keeps the beanName. At run time, we perform a getBean on the beanName and delegate to whatever bean gets returned, be it the original bean or a proxied bean.
Note: RESTEasy doesn’t do any proxying itself; rather it supports any proxied beans, such as any beans with @Transactional annotations, or otherwise AoP’ed beans.
The biggest issue with all of this is the nature of proxying: Spring either use Java Proxy, which proxies interfaces, or CGLib that proxies the class. If you’re using interfaces, you basically have to put all of your JAX-RS annotations on the interface rather than the class itself.
Dec 03, 2008 @ 19:47:50
Solomon wrote: “you basically have to put all of your JAX-RS annotations on the interface rather than the class itself.”
This isn’t true anymore. I fixed this in the beta-9 release. The only thing we don’t support is manually roled proxies, i.e. ProxyFactory
Dec 04, 2008 @ 15:06:13