Search |
||
jfarcand's Blog@ MUST \!A = 4\pi r^2 : Atmosphere 0.5 is releasedPosted by jfarcand on January 21, 2010 at 10:29 AM PST
Atmosphere 0.5 is released. This release includes many new features like Guice Support, asynchronous request processing, JMS support, JQuery support, Events listeners, etc..
The community around Atmosphere is shaping and we have received many good feedback, which is reflected by the new features added: Guice Support: Now quite simple to integrate with Google Guice using the new AtmosphereGuiceServlet.As simple a:
New Broadcaster: Easy Asynchronous HTTP Request ProcessingThe new set of Broadcaster allow you to do full asynchronous http processing, similar to what RESTEasy offer:
New AtmosphereResourceEventListenerYou can now listen to events like resume, client disconnections and broadcast.
where
The Meteor now supports scheduled and delayed events broadcastingIf you want to use Atmosphere without re-writing your Servlet based application (or don't want to use the Servlet 3.0 Async API), you can use a Meteor instead and do all the same operation as when you use the annotations:
Build in Framework support for different browser behaviors and proxyThe Framework is now adding the proper headers required to make it work with any proxy. The framework also make sure all browsers work out of the box by writing some default comments when a response get suspended so browser like Chome and Webkit works properly. The framework is also taking care of errant connections when hot deployment happens. Improved algorithm for WebServer detection like App Engine, Tomcat, Jetty and GlassFishThe Framework is auto detecting which WebServer is running on in a more efficient way. The behaviour is also configurable by adding, in web.xml:
JMS supportYou can now cluster your application using JMS, Shoal or JGroups
Annotation improvementsAll annotations has been reviewed and some cool functionality added like resumeOnBroadcast, event listeners, etc. See the API for more information. JQuery SupportSee how simple it can be here. Better Control of BroadcastFilter state, allowing easier agreggation/filtering/pruning of eventsIf your application extensively broadcast events, it is important to pick up the right strategy to make sure all events reach your clients as fast as possible, even under high load. BroadcastAction has been added to make the writing BroadcastFilter's aggreagation/filtering/pruning of events really simple. Simple as
Powerful PubSub sampleTake a look at our PubSub sample that demonstrate all the power of Atmosphere!!! We also improved our white paper (PDF). Woooooo!As usual, Thanks to Matthias (ADF Faces), Paul (Jersey), Viktor (Akka), Hubert (Grizzly) and Catagay (PrimeFaces) and all the users for their contributions to Atmosphere! Special Thanks to Ning for allowing me to work on this project (and Thanks to Sun before Ning!). For any questions or to download Atmosphere, go to our main site and use our Nabble forum (no subscription needed) or follow us on Twitter and tweet your questions there! technorati: atmosphere framework rest comet jersey ajax push »
Related Topics >>
Blogs Comments
Comments are listed in date ascending order (oldest first)
Using Google Guice with AtmospherePosted by jfarcand on December 15, 2009 at 8:15 AM PST
Starting with Atmosphere 0.5, you can now use Google Guice to configure Atmosphere
Google Guice support is enabled by referencing the Guice filter and the application specific servlet context listener may be as follows: with That's it. You can download the previously Atmosphere-Jersey sample, this time Guice enabled from here. For any questions or to download Atmosphere, go to our main site and use our Nabble forum (no subscription needed) or follow us on Twitter and tweet your questions there! technorati: atmosphere framework rest comet jersey ajax push »
Comments
Comments are listed in date ascending order (oldest first)
Google Guice is popularly
Submitted by mkp on Sun, 2010-01-10 06:08.
Google Guice is popularly known as the Google Juice is a light weight version for the Java 5 application. Guice helps you with the use of factories and new lines in the codes. You will be needed to write the code but still that should be much easier than the way you have done it before. The attraction that I got while working with the guice is that it can be easily debugged with a much faster response than the way we do it normally. You would be able to understand the code more easily with and without the tool. That is also another advantage with the Guice. GuiceFilter and an application specific ServletContextListener is good and the code would help in the implementation of the projects. Super Bowl Ticket |Structural Foam | Pool Tables| Tube Notcher
"Google Guice is popularly
Submitted by gm0nk3y1 on Mon, 2010-02-01 08:42.
"Google Guice is popularly known as the Google Juice is a light weight version for the Java 5 application. Guice helps you with the use of factories and new lines in the codes. You will be needed to write the code but still that should be much easier than the way you have done it before. The attraction that I got while working with the guice is that it can be easily debugged with a much faster response than the way we do it normally. You would be able to understand the code more easily with and without the tool. That is also another advantage with the Guice. GuiceFilter and an application specific ServletContextListener is good and the code would help in the implementation of the projects." - I absolutely agree on this point. Great post! steam press iron | ways to make money online
org.atmosphere.samples.guice.
Submitted by christmassms on Thu, 2010-02-04 19:43.
org.atmosphere.samples.guice.GuiceChatModule
Guice Filter
com.google.inject.servlet.GuiceFilter
Guice Filter
/*
I am happy to find it. Thanks for sharing it here. Birthday SMS Funny Text Good Morning SMS
Putting GlassFish v3 in Production: Essential Surviving GuidePosted by jfarcand on November 27, 2009 at 7:56 AM PST
On December 10, GlassFish v3 GA will spread the world. As you are aware, the marketing vehicle for this release will be Java EE 6 and the fact that GlassFish is now a full OSGi runtime/container!!! Both are innovative technology, but they will not save your life once you put GlassFish in production hence this survival guide :-). At the end, once your OSGi/EE 6 application is ready, you still want to have the same great performance you've got with GlassFish v2. This blog will gives some hints about how to configure and prepare GlassFish v3 for production use.
New ArchitectureWith v3, the Grizzly Web Framework role has significantly increased if you compare with v2. In v2, its role was to serve HTTP requests in front of the Tomcat based WebContainer. In v3, Grizzly is used as an extensible micro-kernel which handle almost all real time operations including dispatching HTTP requests to the Grizzly's Web based extensions (Static Resource Container, Servlet Container, JRuby Container, Python Container, Grails Container), Administrative extensions (Java WebStart support, Admin CLI), WebService extension (EJB) and Monitoring/Management REST extensions.
At runtime, Grizzly will do the following
If you are familiar with Grizzly's internals
As you can see, it is critical to properly configure GlassFish in order to get the expected performance for your application and GlassFish in general. Debugging GlassFishBefore jumping into the details, I recommend you always run GlassFish using the following property, which display in the server log the Grizzly internal configuration for both the NIO and Web Framework If you need to see what Grizzly is doing under the hood like the request header received, the response written etc. you may want to turn on snoop so you don't need to use Wireshark or ngrepNote that if you enable that mechanism, the performance will drop significantly so use it only for debugging purpose.Configuring the VMMakes sure you remove in domain.xml the following jvm-options: and replace it with For anything other than Solaris/SPARC, 3500m needs to be 1400m. On a multi-CPU machine, add: where N is the number of CPUs if < 8 (so really, you can leave it out altogether in that case) and N = number of CPUs / 2 otherwise. On a Niagara, add:You can also install the 64-bit JVM and use with JDK 6u16 and later. A 64-bit JVM with will allow you to specify larger Java heaps, especially useful on Windows x64, where you are limited to about of max Java heap. Note that a 64-bit JVM will mean you'll need to be running a 64-bit operating system. That's not an issue with Solaris. Many people who run Linux only run the 32-bit version of Linux. And, for Windows users, they'll need a 64-bit Windows in order to use a 64-bit Windows JVM. A 64-bit JVM with -XX:+UseCompressedOops will give you larger Java heaps with 32-bit performance. 64-bit JVMs also provides additional CPU registers to be available on Intel/AMD platforms.Configuring the Thread PoolMake sure you take a look at "what changed" since v2 and how you can properly configure Grizzly in v3. The one you should care are acceptors-thread and the number of worker threads The recommended value for acceptors-thread should be the number of core/processor available on the machine you deploy on. I recommend you always run sanity performance test using the default value (1) and with the number of core just to make sure. Next is to decide the number of threads required per HTTP port. With GlassFish v2, the thread pool configuration was shared amongst all HTTP port, which was problematic, as some port/listener didn't needed to have that many threads as port 8080. We fixed that in v3 so you can configure the thread pool per listener. Now the ideal value for GlassFish v3 should always be between 20 and 500 maximum as Grizzly use an non blocking I/O strategy under the hood, and you don't need as many threads as if you were using a blocking I/O server like Tomcat. Here I can't recommend a specific number, it is always based on what your application is doing. For example, if you do a lot of database query, you may want to have a higher number of threads just in case the connection pool/jdbc locks on a database, and "waste" threads until they unlock. In GlassFish v2, we did see a lot of applications that were hanging because all the worker threads were locked by the connection-pool/jdbc. The good things in v3 is those "wasted" threads will eventually times out, something that wasn't available with v2. The default value is 5 minutes, and this is configurable I/O strategy and buffer configurationIn terms of buffers used by Grizzly to read and write I/O operations, the default (8192) should be the right value but you can always play with the number If your application is doing a lot of I/O operations like write, you can also tell Grizzly to use an asynchronous strategyWhen this strategy is used, all I/O write will be executed using a dedicated thread, freeing the worker thread that executed the operation. Again, it could make a big differences. An alternative that could be considered also is if you are noticing that some write operations seems to takes more time than expected. You may try to increase the pool of "write processor" by increasing the number of NIO Selector:Make sure this number is never smaller than the number of worker thread as it will gives disastrous performance result. You should increase that number if you application use the new Servlet 3.0 Async API, the Grizzly Comet Framework or Atmosphere (recommended). When asynchronous API are used, GlassFish will needs more "write processor" than withoutLet Grizzly magically configure itselfNow Grizzly supports two "unsupported" properties in GlassFish that can always be used to auto configure GlassFish by itself. Those properties may or may not make a difference, but you can always try them with and without your configuration. The first one will configure for you the buffers, acceptor-threads and worker threads: The second one will tell Grizzly to change its threading strategy to leader/follower It may or may not make a difference, but worth the try. You can also force Grizzly to terminates all its I/O operations using a dedicated thread It may makes a difference if you application do a small amount of I/O operations under load.Cache your static resources!Now by default, the Grizzly HTTP File Caching is turned off. To get decent static resources performance, I strongly recommend you turn it on (it makes a gigantic difference)Only for JDK 7Now, if you are planning to use JDK 7, I recommend you switch Grizzly ByteBuffer strategy and allocate memory outside the VM heap by using direct byte bufferOnly on JDK 7 as with JDK 6, using allocating heap byte buffer gives better performance than native. Now if you realize GlassFish is allocate too much native memory, just addThat should reduce the native memory usage.WAP and Slow NetworkIf your application will be used by Phone using the WP protocol or if from slow network, you may configure extends the default time out when Grizzly is executing I/O operations: for read, and for write. The default for both is 30 seconds. That means Grizzly will wait 30 seconds for incoming bytes to comes from the client when processing a request, and 30 seconds when writing bytes back to the client before closing the connection. On slow network, 30 seconds for executing the read operations may not be enough and some client may not be able to execute requests. But be extra careful when changing the default value as if the value is too high, a worker thread will be blocked waiting for bytes and you may end up running out of worker threads. Note to say that a malicious client may produce a denial-of-service by sending bytes very slowly. It may takes as 5 minutes (see the thread times out config above) before Grizzly will reclaims the worker threads. If you experience write times out, e.g the remote client is not reading the bytes the server is sending, you may also increase the value but instead I would recommend you enable the async I/O strategy described above to avoid locking worker thread.Configuring the keep alive mechanism a-la-TomcatThe strategy Grizzly is using for keeping a remote connection open is by pooling the file descriptor associated with the connection, and when an I/O operations occurs, get the file description from the pool and spaw a thread to execute the I/O operation. As you can see, Grizzly isn't blocking a Thread who waits for I/O operation (the next client's request). Tomcat strategy is different, e.g when Tomcat process requests, a dedicated thread will block between the client requests for maximum 30 seconds. This gives really good throughput performance but it doesn't scale very well, as you need one thread per connection. But if your OS have tons of Threads available, you can always configure Grizzly to use a similar strategy: Tomcat also have an algorithm that will reduce the waiting time a Thread can block waiting for the new I/O operations, so under load threads don't get blocked too long, giving the change to other requests to execute. You can enable a similar algorithm with Grizzly:Depending on what your application is doing, you may get nice performance improvement by enabling those properties.Ask questions!As I described here, I will no longer work on GlassFish by the time you read this blog, so make sure you ask your questions using the GlassFish mailing list (users@glassfish.dev.java.net) or you can always follow me on Twitter! and ask the question there!
»
Comments
Comments are listed in date ascending order (oldest first)
Leaving Sun MicrosystemsPosted by jfarcand on November 24, 2009 at 9:20 AM PST
It is always hard to write these type of posts. As of December 4th, I will no longer be with Sun Microsystems.
It all started from working on Java EE1.3 and a server called Tomcat. I was on Tomcat for a couple of years and then came with the idea of a NIO based HTTP Connector for Tomcat called ... Grizzly :-) Funny it never ended into Tomcat! Grizzly started with SJS AS 8.0 and slowly replaced the old Netscape C Runtime and Tomcat inside Sun's products (they are many many now :-)). I've then moved to a Project called Minnow, a components based server running on top of Grizzly and Maven 2. You start Grizzly and Grizzly was, at runtime, taking care of downloading/installing the artifacts needed to serve the request: Containers installed on the fly! The project got canned as soon as I've presented it internally ...I've always had trouble inside Sun with my projects :-) ... but it has opened the door to GlassFish v3 as the code got re-used to create the Grizzly based micro-kernel of the current GlassFish v3. Didn't wasted my time finally :-) During that time GlassFish moved from being a Zero to a Hero, and now it is just amazing to see where GlassFish is and the perception the community have of it. My fingers hurt when I look at the emails traffics we have generated on users@glassfish! Finally the "Comet things" surrounded me and at the end I've created the Atmosphere Framework, which is positively invading the planet those days :-). I will really miss my team I've been working for the last 7 years.....Now the sad news: I will stop working on both GlassFish and Grizzly on December 4, letting something I've created growing by itself. But the Grizzly community is quite mature and I'm fully confident to see amazing release in the future! BTW, since I am privately getting up to 30 emails per weeks from early adopter or existing GlassFish users, please make sure you either ping Sun's support directly or use the Grizzly/GlassFish public mailing list to get the appropriate response starting now :-) What about Atmosphere? This project is way too innovative to leave it and I will continue working on it or on something similar, depending on what Sun is up to :-). Where do I go? I'm going to Ning.com. Don't worries I will continue polluting this blog and worse you can always follow me on Twitter!
»
Comments
Comments are listed in date ascending order (oldest first)
Bonne chance, et je te
Submitted by survivant on Tue, 2009-11-24 12:55.
Bonne chance, et je te remercie de m'avoir fait découvrir Grizzly et fait rejoindre l'équipe. Ce fut un très bonne expérience pour le développement professionnel et je vais continuer de suivre tes blogs. Faut bien suivre la technologie et si possible d'en faire parti.
That is sad news for the rest
Submitted by sdo on Tue, 2009-11-24 14:37.
That is sad news for the rest of us indeed, but incredibly exciting for you. Without all you've done, Glassfish would still be an also-ran. Best of luck in the future!
Thanks for everything
Submitted by bobtreacy on Tue, 2009-11-24 18:28.
Good luck with your new endeavors. Thanks for all the help getting us get started with GlassFish at IQSS at Harvard
Sorry to see you go
Submitted by rdelaplante on Tue, 2009-11-24 19:44.
It's sad to see so many of Sun's greats leaving the company because of the extremely long merger process and all of the uncertainty. It's understandable though. The GlassFish community will miss you. Good luck at your new job.
thanks, jean francois
Submitted by writtmeyer on Wed, 2009-11-25 07:37.
Thanks, Jean Francois for your excellent work on GlassFish, Grizzly and Atmosphere. Of course this is sad news for all of us. Your conference talks also will be missed (so sad that I couldn't go to this year's Devoxx) - unless ning.com will allow you to keep up with this work.
I wish you much pleasure at your new workplace, a good team to work with and many interesting projects. Good luck!
Thanks for the fish, JFA!
Submitted by pelegri on Wed, 2009-11-25 12:08.
I'm sure the move will be good for you, JFA!
Thanks for all your contributions; we will take good care of Grizzly, and will work with you on Atmosphere!
- eduard/o
It's a shame to see you go,
Submitted by bvansomeren on Thu, 2009-11-26 02:15.
It's a shame to see you go, but thanks for all the good work you've done that I get to benefit from daily!
La vie est courte, il faut savoir saisir les opportunités !
Submitted by elecharny on Fri, 2009-11-27 02:54.
Et tant pis pour Sun :) OOps, Oracle... BTW, on démarre juste MINA 3.0, tu es le bienvenu !
Bonne chance chez Ning, et salut nos amis les apaches qui y bossent (Henning, Brian...)
Merci !
Submitted by cyrilleleclerc on Sun, 2009-11-29 11:11.
Merci d'avoir fait progresser le moteur de servlet qui en avait bien besoin, merci d'avoir pris le temps de passer voir le Paris JUG, merci d'avoir bousculé le monde java avec Comet ...
Merci pour tout et bonne continuation chez Ning.com. Un chat communautaire de millions d'utilisateurs avec Atmosphere ? :-)
Cyrille
Servlet 3.0 Asynchronous API or Atmosphere? Easy decision!Posted by jfarcand on November 6, 2009 at 9:38 AM PST
One the comment I'm getting about Atmosphere is why should I use the framework instead of waiting for Servlet 3.0 Async API. Well, it simple: much simpler, works with any existing Java WebServer (including Google App Engine!), and will auto-detect the Servlet 3.0 Async API if you deploy your application on a WebServer that support it.
To make a fair comparison, let's write the hello world of Comet, a Chat application and compare the server side code. Without technical details, let's just drop the entire server code. First, the Servlet 3.0 version (can probably be optimized a little): OK now with Atmosphere , the same code consist of: OK so what's the deal? What's makes Atmosphere so easy? The Servlet 3.0 new Async API offers:
Still not convinced? Well, you can write your Atmosphere applications today and not have to wait for Servlet.3.0 implementation (OK easy plug for my other project: GlassFish v3 supports it pretty well!). Why? Atmosphere always auto-detected the best asynchronous API when you deploy your application. It always try first to look up the 3.0 Async API. If it fails, it will try to find WebServer's native API like Grizzly Comet (GlassFish), CometProcessor (Tomcat), Continuation (Jetty), HttpEventServlet (JBossWeb), AsyncServlet (WebLogic), Google App Engine (Google). Finally, it will fallback to use a blocking I/O Thread to emulate support for asynchronous events. But you don't want to use Java? Fine, try the Atmosphere Grails Plug In, or Atmosphere in PrimesFaces if you like JSF, or use Scala: Echec et Mat! Now, I can understand you already have an existing application and just want to update it with suspend/resume/broadcast functionality, without having to re-write it completely. Fine, let's just use the Atmosphere's Meteor API: Servlet 3.0 Async API is Game Over! Finally I must admit that Servlet 3.0 Async API have asynchronous dispatcher you can use to forward request asynchronously: With Atmosphere, the same code will works but your application will only works when deployed on Servlet 3.0 WebServer. Instead, you can implement the same functionality using Broadcast's delayed broadcast API and still have a portable application without limiting you with Servlet 3.0 Async API...that's something I will talk in my next blog! For any questions or to download Atmosphere, go to our main site and use our Nabble forum (no subscription needed) or follow us on Twitter and tweet your questions there! technorati: atmosphere framework rest comet jersey ajax push »
Comments
Comments are listed in date ascending order (oldest first)
Meteor and notifications
Submitted by aaime on Tue, 2009-11-24 09:08.
Hi,
the Meteor/servlet integration is really interesting. Let's say I have an existing application and that I just want to be notified of when the client drops the connection. The Meteor API does not look like it's providing such ability. Is it implementable, or I'm just looking for unicorns here? ;-)
You are right. If you want to
Submitted by jfarcand on Fri, 2009-11-27 08:19.
You are right. If you want to get notified when the client close the remote connection. If you want to to get notified when the connection close and use the Meteor, you will need to extend the ReflectorServletProcessor ... let's continue the discussion on users@atmosphere.dev.java.net
See you in Europe in NovemberPosted by jfarcand on November 4, 2009 at 9:58 AM PST
I'm will be leaving Québec next week for talks at JFall, Paris JUG, Prague JUG and Devoxx. The talks will focus on Atmosphere and it's spin off (Grail Plug In, Akka, PrimesFaces) and a little bit of Grizzly's work-in-progress Servlet Container.
First, I will stop by Amsterdam November 11 and talk about Atmosphere at JFall 2009. Next I will stop by Paris JUG November 12 for an al-in-French talk on Atmosphere (I means pure French from Québec). Then on November 16 I will talk about Atmosphere at the Prague JUG. Finally I will be in Anwerp for Devoxx 2009, presenting Atmosphere and our new Grizzly Servlet Container which support new OSGi Http Service spec. See you in EU! technorati: atmosphere framework ajax push comet jersey grizzly »
Comments
Comments are listed in date ascending order (oldest first)
Writing a RESTful and Comet based PubSub application using Atmosphere in less than 10 linesPosted by jfarcand on November 3, 2009 at 12:58 PM PST
Writing a publisher/subscriber (PubSub) is quite simple with Atmosphere using the atmosphere-jersey module. ![]() The main idea here is to use Comet for suspending the response when a client subscribe to a topic, and use REST for publishing messages to the those suspended responses. First, let’s bind our application to the root uri using the @path annotation
Next, let’s implement the subscribe operation by using the @Suspend and inject our Atmosphere’s Broadcaster using the @PathParam annotation:
The code above will be invoked when we want to create a new topic (@Path("/{topic}"), we will return a Broadcastable instance which will tell Atmosphere to use the passed Broadcaster, who got injected using the @PathParam, when broadcasting {topic}. Finally, the underlying response will be suspended forever via @Suspend annotation. Next, let’s implement the publish operation:
To publish, we just need to send a uri that takes the form of "/{topic}/{message}" as defined by @Path("/{topic}/{message}") and again, the Broadcaster we want to use to broadcast messagse will be injected based on the {topic} value. Finally, we just return a Broadcastable object and let Atmosphere broadcast the value to all suspended connections. That’s it! Now we can see it in action by doing: The source for the entire sample can be viewed here. Really simple, is it? For any questions or to download Atmosphere, go to our main site and use our Nabble forum (no subscription needed) or follow us on Twitter and tweet your questions there! technorati: atmosphere framework rest comet jersey ajax push »
Comments
Comments are listed in date ascending order (oldest first)
Atmosphere 0.4 ReleasedPosted by jfarcand on October 26, 2009 at 7:22 PM PDT
Atmosphere 0.4, the framework that allow the creation of RESTFul and Ajax Push/Comet applications, is ready for prime time. This release contains many new features and can be seen in action in many well-known frameworks. First, I would like to thanks Paul Sandoz, Viktor Klang, Gerard Davison, Vlatko Davidobski, Hubert Iwaniuk, Bertrand Goetzmann,Cagatay Civici, Michal Hanti, A. Eduardo Garcia, Ransford Segu-Baffoe and Jim Driscoll for their contribution to that release! Atmosphere's adoption continues with this release, starting with PrimeFaces' support for Ajax Push/Comet (event on the iPhone). You can also see Atmosphere in action within the Scala based Akka Project. Don't want to use Java? Why not using the Atmosphere Grails' plug in. Don't like Scala, Java and Groovy? Why not trying JRuby!
What's new since Atmosphere 0.3?
For any questions or to download Atmosphere, go to our main site and use our Nabble forum (no subscription needed) or follow us on Twitter and tweet your questions there! technorati: atmosphere framework cluster comet scala ajax »
Comments
Comments are listed in date ascending order (oldest first)
Congratulations!
Submitted by tjkincaid on Mon, 2009-11-02 11:39.
Great work and Congratulations to all who contributed!!!
Atmosphere at Oracle OpenWorld UnconferencePosted by jfarcand on October 7, 2009 at 5:32 PM PDT
@jfarcand will talk about the Atmosphere Framework at the upcoming Oracle OpenWorld (October 13th Tuesday, 1-2pm). If you are around, come to learn what is Atmosphere and how you can write RESTful and Asynchronous Web (Comet/Ajax Push) application using Scala, JRuby, Java or Groovy!
I will describe what is the Atmosphere Framework and its components, where the community is and how our next release 0.4 is going, demonstrate the framework power using JRuby, Scala, Java and Groovy (via the new Atmosphere Grails Plug In). I will also talk about the role of the framework in akka (RESTFul Distributed Persistent Transactional Actors), and conclude by transforming GlassFish V3 into an Atmosphere-OSGI-only Server. Sound like a lot of buzzwords, does it! If you can't come, just follow us on Twitter since everything about the framework and its evolution are twitted on line. technorati: atmosphere framework cluster comet scala ajax »
Comments
Comments are listed in date ascending order (oldest first)
Grizzly 1.9.18 is outPosted by jfarcand on September 14, 2009 at 10:13 AM PDT
We have been quiet for awhile with the monster...but we keep making improvements, and this week the team is proud to announce the GA availability of 1.9.18 This version doesn't contains any new features as we have focused on performance and fixing bugs. The change logs can be found here. Note that we are more and more to work on the Grizzly Servlet Container and make it pass the Servlet 2.5 TCKs. Hopefully before the end of the year we will have it working on both Grizzly 1.9.x and 2.0.0! On The Grizzly 2.0.0 side, we have been swamped by the upcoming GlassFish v3 release all summer (hopefully Oracle allow us more resources :-))....but 1.9.18 should be the last one integrated in v3, hence we will resume our full time work on completing Grizzly 2.0.0. GlassFish v3 is a heavy user of the Grizzly HTTP Framework: ALL Scripting language support: JRuby, Python and Groovy, the Admin CLI, Monitoring/Management REST API (with the help of Jersey's GrizzlyAdapter), EJB WebServices, Java WebStart, etc..... Finally, one interesting use of Grizzly can be seen with the Atmosphere Framework, which offer an end to end stack for writing Comet and REST applications with the help of Jersey. For any questions or to download samples and tutorials, go to our main site and use our Nabble forum (no subscription needed) or follow us on Twitter and tweet your questions there!
technorati: grizzly nio framework embedded »
Related Topics >>
Blogs Java Enterprise Comments
Comments are listed in date ascending order (oldest first)
|
||
|
htp://atmosphere.dev.java.net