Jersey 2.x and Async REST API handling and 0.7?

973 views
Skip to first unread message

Ken Yee

unread,
Sep 17, 2013, 4:07:13 PM9/17/13
to dropwiz...@googlegroups.com
Jersey 2.x (currently at 2.2) didn't seem to be on the list of changes to 0.7 though the latest Jetty seems to be.

Seems like this would be good for performance...
Has anyone tried integrating in Jersey 2.x?

Tatu Saloranta

unread,
Sep 17, 2013, 4:14:55 PM9/17/13
to dropwiz...@googlegroups.com
On Tue, Sep 17, 2013 at 1:07 PM, Ken Yee <ken...@gmail.com> wrote:
Jersey 2.x (currently at 2.2) didn't seem to be on the list of changes to 0.7 though the latest Jetty seems to be.

Seems like this would be good for performance...

Based on... ?

Has this been measured, or is it just assumption that newer versions are faster than older?

JAX-RS specification itself has quite a few things that add unnecessary overhead (many things that could be statically resolved, given that class definitions are static, are nonetheless left dynamic, requiring lots of per-call resolution), and I didn't think specs have changed much.
So it would be up to implementation improvements. But I don't recall seeing measurements on whether there is meaningful differences.

-+ Tatu +-

Coda Hale

unread,
Sep 17, 2013, 6:46:06 PM9/17/13
to dropwiz...@googlegroups.com
Jersey 2.x is missing functionality required to implement many of Dropwizard's features. I've brought this up on their mailing list, but it doesn't seem to be much of a priority for them.
--
You received this message because you are subscribed to the Google Groups "dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dropwizard-us...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


--
Coda Hale
http://codahale.com

Ken Yee

unread,
Sep 17, 2013, 6:54:41 PM9/17/13
to dropwiz...@googlegroups.com


On Tuesday, September 17, 2013 4:14:55 PM UTC-4, Tatu Saloranta wrote:
Has this been measured, or is it just assumption that newer versions are faster than older?

Stuff like this:
  http://nurkiewicz.blogspot.com/2011/03/tenfold-increase-in-server-throughput.html

And Grails has added async REST APIs....Node.js performs a lot better w/ a smaller memory footprint because it's inherently async, etc..

I'm specifically interested in the async REST API piece improving concurrency and the max# of users per instance, not the newer version...

Ken Yee

unread,
Sep 17, 2013, 6:57:56 PM9/17/13
to dropwiz...@googlegroups.com


On Tuesday, September 17, 2013 6:46:06 PM UTC-4, Coda Hale wrote:
Jersey 2.x is missing functionality required to implement many of Dropwizard's features. I've brought this up on their mailing list, but it doesn't seem to be much of a priority for them.

Have you put in JIRA bugs in their system so we can vote for them or push for them as well?
I found these dropwizard related bugs:
  https://java.net/jira/browse/JERSEY-1574
  https://java.net/jira/browse/JERSEY-1561
 

Jerry Carter

unread,
Sep 17, 2013, 8:49:06 PM9/17/13
to dropwiz...@googlegroups.com
Both of those issues appear to apply to 1.15.  It might be worth filing newer issues against 2.x and then notifying this list.  Like Ken, I would be happy to vote for the issues.

-=- Jerry

Jacek Furmankiewicz

unread,
Sep 18, 2013, 2:15:14 PM9/18/13
to dropwiz...@googlegroups.com
Out of curiosity...have you ever evaluated Apache CXF instead?

At my previous job, we had an in-house framework that was very similar to Dropwizard (nowhere near as polished though, obviously),
but we used CXF instead of Jersey for our REST layer, with great results.

Just a suggestion, in case you feel Jersey is not being responsive.


Gili T.

unread,
Dec 6, 2013, 12:22:47 PM12/6/13
to dropwiz...@googlegroups.com
I've had a similar experience, for over 4 months now.

We need to find a way to either fix Jersey 2.x (get more traction from the committers) or find an alternative. I took a quick look at alternative JAX-RS implementations but none of them looked nearly as good as Jersey 1.x. Perhaps it is time to write our own JAX-RS implementation? :)

Gili


On Tuesday, September 17, 2013 6:46:06 PM UTC-4, Coda Hale wrote:
Jersey 2.x is missing functionality required to implement many of Dropwizard's features. I've brought this up on their mailing list, but it doesn't seem to be much of a priority for them.

On Tuesday, September 17, 2013, Ken Yee wrote:
Jersey 2.x (currently at 2.2) didn't seem to be on the list of changes to 0.7 though the latest Jetty seems to be.

Seems like this would be good for performance...
Has anyone tried integrating in Jersey 2.x?

--
You received this message because you are subscribed to the Google Groups "dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dropwizard-user+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

Jacek Furmankiewicz

unread,
Dec 6, 2013, 12:25:57 PM12/6/13
to dropwiz...@googlegroups.com
I've had great experience with Apache CXF.

In my previous job we developed an internal stack that was very similar to Dropwizard (embedded Jetty, etc).
But it relied on Apache CXF for the JAX-RS API.

The additional benefit is that CXF has a SOAP implementation as well, for those cases when you need to support legacy API and REST is not an option (which still happen sometimes)


--
You received this message because you are subscribed to a topic in the Google Groups "dropwizard-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dropwizard-user/w7jqlCqU-00/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dropwizard-us...@googlegroups.com.

cowwoc

unread,
Dec 6, 2013, 12:45:56 PM12/6/13
to dropwiz...@googlegroups.com
How is the community and committers? I ask because I've run across many Apache projects that were poorly managed.
  • The fact that they still use SVN is not great.
  • They didn't really have much in the way of JAX-RS documentation and their samples were very basic.
  • It's not clear what "JAXRSServerFactoryBean" is. Do they force us to use their own proprietary server?
  • Is it possible to use Guice to configure and inject into this library?
  • How can you extend the standard JAX-RS Application class with them?
Thanks,
Gili


On 06/12/2013 12:25 PM, Jacek Furmankiewicz wrote:
I've had great experience with Apache CXF.

In my previous job we developed an internal stack that was very similar to Dropwizard (embedded Jetty, etc).
But it relied on Apache CXF for the JAX-RS API.

The additional benefit is that CXF has a SOAP implementation as well, for those cases when you need to support legacy API and REST is not an option (which still happen sometimes)
On Fri, Dec 6, 2013 at 11:22 AM, Gili T. <cow...@bbs.darktech.org> wrote:
I've had a similar experience, for over 4 months now.

We need to find a way to either fix Jersey 2.x (get more traction from the committers) or find an alternative. I took a quick look at alternative JAX-RS implementations but none of them looked nearly as good as Jersey 1.x. Perhaps it is time to write our own JAX-RS implementation? :)

Gili

On Tuesday, September 17, 2013 6:46:06 PM UTC-4, Coda Hale wrote:
Jersey 2.x is missing functionality required to implement many of Dropwizard's features. I've brought this up on their mailing list, but it doesn't seem to be much of a priority for them.

On Tuesday, September 17, 2013, Ken Yee wrote:
Jersey 2.x (currently at 2.2) didn't seem to be on the list of changes to 0.7 though the latest Jetty seems to be.

Seems like this would be good for performance...
Has anyone tried integrating in Jersey 2.x?

--
You received this message because you are subscribed to the Google Groups "dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dropwizard-us...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.


--
Coda Hale
http://codahale.com
--
You received this message because you are subscribed to a topic in the Google Groups "dropwizard-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dropwizard-user/w7jqlCqU-00/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dropwizard-us...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Jacek Furmankiewicz

unread,
Dec 6, 2013, 3:26:56 PM12/6/13
to dropwiz...@googlegroups.com
I don't recall all the details, but we were able to wire everything quite well using their Spring integration layer, it worked great with that.

There seemed to be releases on a very regular basis.

Overall I had very positive experiences with CXF

Danilo Reinert

unread,
Dec 6, 2013, 4:38:47 PM12/6/13
to dropwiz...@googlegroups.com
Gili, How about current JBoss RestEasy? Why doesn't it look good to you?

The project is at github and had improved quite well lately.

It also has a good support from it's leader, Bill Burke, in the community.

--
D. Reinert

cowwoc

unread,
Dec 6, 2013, 5:00:04 PM12/6/13
to dropwiz...@googlegroups.com
Hi Danilo,

I am still in the process of evaluating RestEasy. Here are my thoughts so far:
  • JBoss: -1
    • I've only used one other product by JBoss: Hibernate.
    • I had two negative experiences with it:
      • Its committers treated users like garbage (telling them off for reporting legitimate bugs)
      • Over-engineered, hard-to-understand code.
    • That left a very bitter taste in my mouth. It's quite possible that RestEasy is different but I remain cautious.
  • DI support: +1
    • Guice, Spring, Seam, oh my!
    • On the surface this looks interesting, though I would point out that their DI implementation violates at least one JAX-RS rule I am familiar with: the injector must use the constructor with the longest argument list. I don't care much for this rule, but this indicates that their implementation might not be 100%.
  • Mailing lists on Sourceforge: -1
    • I always joke that Sourceforge is where projects go to die. It has an awful user interface that discourages discussions
    • Overall there is a healthy discussion but I've noticed that multiple recent discussion threads are unanswered (seemingly ignored)
  • Bug tracking: +2
    • JIRA: +1
    • Multiple committers: +1
  • Source code: 0
    Overall score of +1 :) It definitely seems to warrant further investigation.

    The most important factor is their community support. Unfortunately, I it usually takes a few weeks to gauge this. Putting aside the technical merits of RestEasy, does anyone have any experience with their community support?

Thanks,
Gili
You received this message because you are subscribed to a topic in the Google Groups "dropwizard-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dropwizard-user/w7jqlCqU-00/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dropwizard-us...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages