Wednesday Mar 23, 2011

Jersey.next

Dear Jersey users,

As you know from the last post by Paul, he left Oracle about a month ago and as a result of that lost write access to blogs.sun.com, so had to move his blog to a different location. I'd like to let you know we are going to keep this blog around as a valuable part of "internet memory" and an archive of lots of useful info.

I'd also like to use this opportunity to share a little more about the Jersey team and our future plans, since I've been receiving some questions around this recently.

Jakub Podlesak, who worked closely with Paul and Marc from the very beginning of Project Jersey, took over Paul's role of the Jersey technical lead. Next week we are planning to release Jersey 1.6 and we are resuming the 6-8 weeks release cycles (which we kind of stopped doing as we were finalizing delivery for GlassFish 3.1). Together with Pavel Bucek - another senior member of our team - they are doing their best to make sure you continue loving Jersey :), and Jon Benoit - our QA engineer is making sure whatever features we put in are well tested.

Marek Potociar, former lead of Project WSIT, took over the Jersey 2.0 prototyping work from Paul and is now working closely with Roberto Chinnici on co-driving JAX-RS 2.0. You will start seeing him more often once we push the 2.0 prototyping work to the open workspace.

Here are the team's blogs you may want to bookmark to be able to track the future progress of Jersey more closely:

And we always welcome questions and suggestions on our mailing list: users@jersey.java.net.

Thanks for your continued support!

Martin Matula
Dev. Manager, Jersey Team

Thursday Jan 27, 2011

301 Moved Permanently

HTTP/1.1 301 Moved Permanently 
Location: http://earthly-powers.blogspot.com/
Cache-Control: public
Content-Type: text/plain
Date: Thu, 27 Jan 2011 15:43:59 GM
Content-Length: 807

My last day at Oracle will be the 14h of February. I will be moving on to do
some exciting new stuff, more details on that date at the new location.

After that date I will no longer be actively engaged in leading JAX-RS and 
Jersey.

Given my public involvement in both projects I feel it appropriate to
communicate this earlier than normally anticipated, especially now that the
JAX-RS 2.0 ballot has passed (yes!) and the expert group formation can start.

JAX-RS leadership and Jersey will still be in the very capable hands of the
GlassFish and Jersey teams, specifically Dianne, Jakub, Jon, Marek, Martin,
Pavel and Roberto

Jakub will take over responsibility for leading Jersey 1.x. Marek, who is new 
to the Jersey team, will take over responsibility for being the JAX-RS co-spec 
lead with Roberto.

Jersey 1.5 is released

We have recently released version 1.5 of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.

For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started section of that guide. To understand more about what Jersey depends on read the dependencies section of that guide. See change log here.

In the interval between releasing Jersey 1.4 and Jersey 1.5 both the JSR 311 project and the Jersey project transitioned to the new java.net infrastructure. There are probably a few links here and there that still need updating. One noticeable improvement is the visibility of the project to search engines now that HTTPS is not the default. That means it is much easier to search for stuff in the User guide and JavaDoc. The project name is starting to compete in search ranking with the island and comes out favorably when searching for JAX-RS.

This release contains mostly bug fixes rather than features. This version, failing any showstoppers, will be shipped with GlassFish 3.1.

For feedback send email to:

users@jersey.java.net (archived here)

or log bugs/features here.

Wednesday Nov 03, 2010

Completion of Jersey and Atmosphere migration to Kenai is delayed

The Jersey and Atmosphere projects are currently in the process of being migrated from CollabNet hosted infrastructure to Kenai hosted infrastructure. While this occurs both projects are in read/only mode: no commits; and no emails :-(

For more details on the migration see here:

http://markmail.org/message/nqz3uvlbdkvjss6h?q=list:net.java.dev.jersey.users+FInal+Notice+order:date-backward&page=1

The migration started last week on Thu 28th of Oct. However, it is taking longer than expected to obtain the data to complete the migration (i.e. it should be easy to work out who is dragging their heels in this process). It may take until Tue 9th of Nov to complete!

This is extremely frustrating for the developers and the users of Jersey and Atmosphere. My apologies, hopefully this will all be sorted out by next week.

Friday Oct 15, 2010

Jersey 1.4 was released on September 11th

[This is a rather tardy announcement of the Jersey 1.4 release which occurred just before the week of JavaOne a week of vacation to decompress.]

We have recently released version 1.4 of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.

For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started section of that guide. To understand more about what Jersey depends on read the dependencies section of that guide. See change log here.

Pavel integrated JRebel support with Jersey, see here.  So now it is possible to modify code, compile and JRebel will inform Jersey to reload information. Jersey needs to reload because it caches information about classes, using reflection, at runtime.

Martin and Jon improved the look and feel of the JavaDoc and user guide, added a search bar on the main page, and improved the way Google indexes the Jersey site, user guide and JavaDoc. For example if one searches for Viewable information about Jersey's Model View Controller support is displayed (note that documentation still needs to be added for this).

A client side HTTP digest authentication filter was contributed Raphael Jolivet.

Jackson was upgraded to version 1.5.5 (this project releases fast!). And Jakub added simplified configuration support for Jackson so it is not necessary to explicitly register the Jackson JAX-RS providers. See here.

The jersey-core module now bundles the classes from the jsr-311.jar so it is no longer necessary to include the latter jar in your class path. This was required so we can correctly isolate OSGi bundles using different versions of Jersey.

Roberto added support for improved CDI integration such that parameters of constructors of CDI constructed or managed beans may be injected with JAX-RS artifacts. This requires some fairly funky adaption of the CDI bean module in a CDI extension and pushes CDI and Weld to the limits. Unfortunately because of this it has introduced a regression with with GlassFish 3.1 and the current version of Weld. We tried to work around the issue but alas it sometimes fails with an NPE. However, the good news is i managed to create an alternative work around, which looks promising (thanks John Lister for verifying and providing addition feedback/patches!). The new workaround should be available in an early access release of 1.5 next week.

Martin is my manager but Martin codes :-) he added an API and SPI to make it easy to build OAuth 1.0 service providers. The default in-memory implementation of the SPI can be used for samples and tests and to guide people on how they can develop a more advanced implementation that persists credential information. See more here.

For feedback send email to:

users@jersey.dev.java.net (archived here)

or log bugs/features here.

Wednesday Sep 22, 2010

JavaOne presentatons available

Advanced Java API for RESTful Web Services (JAX-RS) and examples

Building Powerful WebSocket, Comet, and RESTful Applications Using Atmosphere

What's Next for Java API for RESTful Web Services (JAX-RS)

Thanks to all the those who attended the presentations.

I also moderated the ScriptBowl session, standing in for Rags at the last minute, with Clojure, JRuby, Scala and Groovy represented by Rich Hickey, Nick Sieger, Dick Wall and Graeme Rocher respectively. Roberto Chinnici was the judge. Congratulations to Groovy that won, by the loudest clapometry reading from the audience, with Scala a close second. JRuby was at a slight disadvantage since the ScriptBowl clashed with a JRuby session but i hope the EngineYard developers got lots of attendance at their JRuby event last night.

For me though Scala was the winner with Clojure a close second. The REPL support in the Scala console is getting really good and gives the feel of a dynamic language, and the tooling is also getting good taking advantage of the static typing features of Scala. Scala and Clojure are i think the only languages that are really attempting to correctly tackle immutability and state change. Clojure is disruptive and i expect some of it's innovations to feed through into other languages, as is already the case with Scala, efficient persistent collections, and the Scala-based Akka framework.

Friday Jul 02, 2010

Jersey 1.3 is released

We have recently released version 1.3 of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.

For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started section of that guide. To understand more about what Jersey depends on read the dependencies section of that guide. See change log here.

Usually this version would also be placed on the GlassFish Update Center and integrated into the GlassFish M2 release but we hit some last minute glitches with our GlassFish OSGi integration that broke the RESTful admin service. So we are working on fixing that for the next release.

This release only works with Java SE 6 or greater (still eagerly waiting for SE 7!) which greatly simplifies our build and deployment infrastructure. In addition to stopping those annoying compilation issues when developing on SE 6 but compiling on SE 5 (String.isEmpty() i am talking about you)

After seeing too many developers place asserts in JAX-RS/Jersey code to check that injection was working i simply could not stand by any longer. What had been put of for way too long is now implemented in Jersey 1.3 and dependency related errors will occur on deployment. As many errors as possible will be displayed to avoid a compile fix loop.

We added a nice little addition to Guice so that singleton-based provider classes can be injected using the @Inject semantics, see the JerseyServletModule. Unfortunately due to Guice's restriction in binding it is not currently possible to support the @\*Params in the same manner. However, IMHO, such extensions using modules is way better than the extensibility approach defined by CDI (see later). All i need to do is find the time to tweak Guice as after having looked at the code i estimate only minor changes to the API and implementation are required.

For the next release, 1.4, we are going to improve the CDI integration. Roberto is doing some seriously impressive Java magic in the Jersey CDI extension class and has it working in a branch. This will mean all JAX-RS artifacts, such as UriInfo and @QueryParam will work with @Inject. CDI has the virtue of being more extensible than Guice (with the set of shoot yourself in the foot implementations being much larger than the set of workable implementations) but IMHO the approach is not modular nor deterministic if one or more extension is present. Or to put it more succinctly: Guice is better. However, CDI is in Java EE 6 so we must make Jersey work well with CDI.

Jakub continues to improve the OSGi integration, which is proving particularly tricky as we are effectively managing 4 platforms: non-OSGI, pure OSGI (tested on Felix), GlassFish OSGi; and Web/war deployment.

Pavel has been making improvements to the test framework and recently added experimental support for JRebel. A sample will be included in the near future.

A new team member, Jon, has joined us to help work on testing, our Hudson infrastructure, and the test framework. He is already up and running tidying up niggles in our inconsistent documentation.

We continue to ensure that Atmosphere, which recently cranked out a 0.6 release with loads of stuff, works smoothly with Jersey. For 0.7 we may have something interesting to say about high-level integration with WebSocket, stay tuned for more details on that (and for a session at JavaOne).

For feedback send email to:

users@jersey.dev.java.net (archived here)

or log bugs/features here.

Wednesday Jun 30, 2010

JavaOne session schedule

All done in the first half of the week (unless a repeat is requested), i like that :-)

D#: S313265
Title: Advanced Java API for RESTful Web Services (JAX-RS)
Track: Enterprise Service Architectures and the Cloud
Date: 20-SEP-10
Time: 13:00 - 14:00
Venue: Hilton San Francisco
Room: Golden Gate 6/7

ID#: S313035
Title: Building Powerful WebSocket, Comet, and RESTful Applications Using Atmosphere
Track: Java EE Web Profile and Platform Technologies
Date: 21-SEP-10
Time: 11:30 - 12:30
Venue: Hilton San Francisco
Room: Yosemite C

ID#: S313266
Title: What's Next for Java API for RESTful Web Services (JAX-RS)
Track: Enterprise Service Architectures and the Cloud
Date: 21-SEP-10
Time: 20:00 - 20:45
Venue: Hilton San Francisco
Room: Yosemite B 

Monday May 10, 2010

Jersey 1.2 is released

We have just released version 1.2 of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.

For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started section of that guide. To understand more about what Jersey depends on read the dependencies section of that guide. See change log here.

The main driver for this release is basic OSGi support. This has been hard work as Jakub will testify. Most of Jakub's time was spent on testing.

Currently only the jersey-core, jersey-server, jersey-client and jersey-json modules have been made OSGi aware (the other modules will be completed in the next release). The following deployment scenarios work. Deploying using Grizzly or Jetty with the OSGi HTTP service (see osgi-http-service sample) and deploying OSGi war-bundles to Jetty (see helloworld-osgi-webapp sample). Deployment requires that root resource and provider classes are explicitly declared (the next release will hopefully support package scanning).

For the next release, 1.3, Jersey will only work on Java SE 6 or greater.

For feedback send email to:

users@jersey.dev.java.net (archived here)

or log bugs/features here.

Tuesday Apr 27, 2010

Synchonicity

 My three year subscription of the Economist has ended. Are they trying to tell me something?

Thursday Mar 11, 2010

Jersey 1.1.5.1 is released

We have just released version 1.1.5.1 of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.

For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started section of that guide. To understand more about what Jersey depends on read the dependencies section of that guide. See change log here.

This release is targeted at users of the WebLogic application server and contains patches for regressions to class and package scanning algorithms that scan for root resource and provider classes.

As soon as the OSGi work is finalized (and considered suitably battle tested) we will release 1.2. Nearly there :-)

Wednesday Feb 03, 2010

GlassFish @ Oracle

Two very interesting comments on the server-side from Mike Lehman and Eduardo about GlassFish @ Oracle.

This clarifies some mis-interpretations and counters some prematurely shot FUD.

Mike states at the end of his comment:

We are very excited to have GlassFish on board at Oracle. Areas like GlassFish proper and key constituent pieces like Metro, Grizzly, Jersey etc are state of the art; there is huge incentive to shepherd them correctly. You will have to judge us on how we execute over the next few months while we realign roadmaps and delivery schedules but I hope we can surprise folks with some good turns we can do as a combined company.

Eduardo states at the end of his comment:

So, my suggestion to GlassFish fans is to please give us some time to put together that roadmap, and then use it to make your own decisions.


Wednesday Jan 20, 2010

Jersey 1.1.5 is released

We have just released version 1.1.5 of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.

It will be available soon from the GlassFish v2 and v3 update centers.

For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started section of that guide. To understand more about what Jersey depends on read the dependencies section of that guide. See change log here.

This release will align with the soon to be released of Atmosphere 0.5. 

Deployment to Google App Engine now works and we have a tracing mechanism (inspired from Hudson) to aid debugging.

In between releasing 1.1.4.1 and 1.1.5 Bill Burke's JAX-RS book has been published. I have not had a chance to look at the book in detail, but it appears generally well received from the tweets i have seen. The examples in the book require RESTEasy so Pavel, with Bill's permission, converted those samples to work with Jersey and, with much help of Alexis Moussine-Pouchkine, embedded GlassFish. The examples required minimal modifications to the web.xml (Java EE 6 solves that problem!) and some minor tweaks to reach parity with some RESTEasy specific features (specifically around configuration of URI content negotiation and human readable formatting of XML responses). Overall the portability of the examples was very good. You can find the samples here.

Jakub has made some good progress on OSGi, many thanks to the developers who have helped test and provide feedback. It is in the trunk, but we decided not to connect it up to the build and deployment process until we have more thoroughly tested the implementation and investigated some areas for further improvement. (It certainly has not been trivial to develop good and robust OSGi support!)

So when OSGi support is ready we will release the next version of Jersey, 1.2.

Meanwhile Santiago has been very busy investigating better hypermedia support for both the Jersey client and server. There is a prototype sample in a branch that reflects Santiago's current thinking.

For feedback send email to:

users@jersey.dev.java.net (archived here)

or log a bugs/features here.

Thursday Dec 10, 2009

GlassFish v3 is go

GlassFish v3 is go!

This is a biggie. It's been about 3 years in the making. It is a modularized OSGi container. It implements Java EE 6. It's 70Mb compared to 700Mb. It could make coffee if i programmed it so... but realistically is not likely to win the Nobel prize for peace (although... <joke>given the current awardee perhaps there is a chance?</joke>). Even so, i think v3 is going to be very popular.

GlassFish v3 includes Jersey 1.1.4.1 that implements JAX-RS 1.1.

About

sandoz

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today