Pages
Wednesday, November 24, 2010
Saturday, November 20, 2010
Thursday, November 18, 2010
JRebel at Devoxx 2010, Conference Day #2
Day 3 at Devoxx for me is over. Lots of JRebel demos today again at Devoxx expo area.
We've got plenty of feedback for the product and features/improvements we would consider to implement in the next releases. That includes Grails GORM support, support for adding new EJBs (3.0) on-the-fly, support for Servlets 3, better support for Wicket, better NetBeans plugin, plugin.xml support for Eclipse RCP, and many more! So that's something we should definitely to consider for the upcoming releases of JRebel.
Also, I met some people who haven't used JRebel yet, or haven't heard of it at all. After the demo they wanted to start using it! I hope we'll get to hear from those who started using JRebel - the feedback for is really appreciated!
I managed to escape from the booth to attend JavaPosse live session at the conference - I haven't had a chance to attend their sessions before. That was fun! :)
With that, the expo is over and JRebel team is going back to continue doing the awesome job!
We've got plenty of feedback for the product and features/improvements we would consider to implement in the next releases. That includes Grails GORM support, support for adding new EJBs (3.0) on-the-fly, support for Servlets 3, better support for Wicket, better NetBeans plugin, plugin.xml support for Eclipse RCP, and many more! So that's something we should definitely to consider for the upcoming releases of JRebel.
Also, I met some people who haven't used JRebel yet, or haven't heard of it at all. After the demo they wanted to start using it! I hope we'll get to hear from those who started using JRebel - the feedback for is really appreciated!
I managed to escape from the booth to attend JavaPosse live session at the conference - I haven't had a chance to attend their sessions before. That was fun! :)
![]() | ![]() |
With that, the expo is over and JRebel team is going back to continue doing the awesome job!
Wednesday, November 17, 2010
JRebel at Devoxx 2010, Conference Day #1
Day 2 at Devoxx for me is over! Lots of demos, chatting, explaining things, etc
For a start we had a quick chat with Geertjan Wielenga about Javeleon. Even after a short conversation I think I have more understanding what it is about.

Also, I had luck to "unvirtualize" with Claus Ibsen and Charles Moulliard (from FuseSource), the guys behind Apache Camel - it is always a pleasure to meet people in person.

Also, somehow, my twitter reference have gotten to the Devoxx daily web page. Just because we have released a new JRebel version before Devoxx we were actually get quite a lot of buzz for the product which is positive as it gives the opportunity to get the feedback faster from the users. For Devoxx attendees we still have the giveaway "LiquidMetal" licenses - so go grab one!
I attended one session, the Reflection Madness by Heinz Kabutz. This was an awesome talk, but pretty much a compilation of the articles from JavaSpecialists.eu newsletter.
I can say I really like the spirit of Devoxx (compared to JavaOne this year) - it is even more technical: people come and ask good questions about JRebel. Some already use it but want to know more - that's also great! What I'm realizing now, is that the awareness is quite low for the issues that we're trying to solve. Probably, it would be a good idea to submit a talk at JAZOON'11, just to show what problems exist that are related to deployment under application servers of all sorts...
For a start we had a quick chat with Geertjan Wielenga about Javeleon. Even after a short conversation I think I have more understanding what it is about.

Also, I had luck to "unvirtualize" with Claus Ibsen and Charles Moulliard (from FuseSource), the guys behind Apache Camel - it is always a pleasure to meet people in person.

Also, somehow, my twitter reference have gotten to the Devoxx daily web page. Just because we have released a new JRebel version before Devoxx we were actually get quite a lot of buzz for the product which is positive as it gives the opportunity to get the feedback faster from the users. For Devoxx attendees we still have the giveaway "LiquidMetal" licenses - so go grab one!
I attended one session, the Reflection Madness by Heinz Kabutz. This was an awesome talk, but pretty much a compilation of the articles from JavaSpecialists.eu newsletter.
I can say I really like the spirit of Devoxx (compared to JavaOne this year) - it is even more technical: people come and ask good questions about JRebel. Some already use it but want to know more - that's also great! What I'm realizing now, is that the awareness is quite low for the issues that we're trying to solve. Probably, it would be a good idea to submit a talk at JAZOON'11, just to show what problems exist that are related to deployment under application servers of all sorts...
Tuesday, November 16, 2010
JRebel at Devoxx 2010
The first day for us was actually the University Day #2 at Devoxx. Not as many participants yes as it is expected on the real conference days. I did a few demos today demonstrating the PetClinic Spring MVC app. Frankly, I've got sick from doing the same demo again and again. Gotta prepare a new demo for tomorrow so it wouldn't be as boring :)

The fun stuff is that I managed to convince some hard-core devs that JRebel isn't about continuous integration, and it doesn't prevent devs from doing TDD and any other 'enterprise practices' one may apply during the development cycle.

The fun stuff is that I managed to convince some hard-core devs that JRebel isn't about continuous integration, and it doesn't prevent devs from doing TDD and any other 'enterprise practices' one may apply during the development cycle.
Sunday, September 26, 2010
JRebel at JavaOne
And so as JavaOne 2010 is over and I'm back home, I probably should make a summary of the event as I seen it.
We arrived at the venue on Sunday to set up the boot for the upcoming expo. It was the very disappointing: the expo area was really small compared to the previous years. I do understand that OOW and JavaOne are held together as one event for the unity to show the benefit of using Oracle products. But JavaOne is a conference considered to be a #1 conference for Java developers for a long time and now this - sessions moved to Hilton and Park 55, and broken apart, and the expo is tiny small :(
Anyways, we had busy time showing JRebel demos one ofter another. And the most exciting part of that was that some of the people coming already used JRebel for their development and just came to say thanks for that JRebel exists! :)
Our marketing guys hired two pretty models to attract people to the booth. This was a blast! People stopped by even if they weren't interested at first! :) I could feel the jealousy coming from the booth next to us :) I admit, it was a dirty trick, but it worked well.
Unfortunately, we couldn't take part in the sessions as it was almost impossible to get in if you weren't preregistered. That said, I'm in a hunt for the slides of the Core Java sessions for now :)
Personally I've met quite a lot of interesting people (Hello, everyone!), hopefully I we'll be able to develop the connections further on. Also, I had luck to take part in the JRuby meetup at EngineYerd's office and JetBrains Be Wiser Party. Enjoyed that!
We arrived at the venue on Sunday to set up the boot for the upcoming expo. It was the very disappointing: the expo area was really small compared to the previous years. I do understand that OOW and JavaOne are held together as one event for the unity to show the benefit of using Oracle products. But JavaOne is a conference considered to be a #1 conference for Java developers for a long time and now this - sessions moved to Hilton and Park 55, and broken apart, and the expo is tiny small :(
Anyways, we had busy time showing JRebel demos one ofter another. And the most exciting part of that was that some of the people coming already used JRebel for their development and just came to say thanks for that JRebel exists! :)
Our marketing guys hired two pretty models to attract people to the booth. This was a blast! People stopped by even if they weren't interested at first! :) I could feel the jealousy coming from the booth next to us :) I admit, it was a dirty trick, but it worked well.
Unfortunately, we couldn't take part in the sessions as it was almost impossible to get in if you weren't preregistered. That said, I'm in a hunt for the slides of the Core Java sessions for now :)
Personally I've met quite a lot of interesting people (Hello, everyone!), hopefully I we'll be able to develop the connections further on. Also, I had luck to take part in the JRuby meetup at EngineYerd's office and JetBrains Be Wiser Party. Enjoyed that!
Sunday, September 5, 2010
Saturday, September 4, 2010
IntelliJ IDEA column mode editing
Ctrl+Alt+Insert shortcut brings you into "column mode", which might be very helpful!
Thursday, August 26, 2010
Screencast: RESTEasy application instant updates with JRebel
JRebel manages the updates while adding new changes to a simple RESTEasy application: adding new resource using the JAX-RS annotations and adding new Java code to the application. No re-deploy phase required.
Tuesday, August 24, 2010
RESTEasy. rest, easy.
I've spent some days figuring out how does RESTEasy initializes itself. The goal, which came actually from a support case, was to hook into the framework and make it possible to add new resources with @Path annotation without re-deploying the application itself.
It turned out that as RESTEasy has 3 main options for bootstrapping: servlet (which actually has a plenty of configuration switches), listener, and filter. This is quite important as RESTEasy initializes itself a little bit differently depending on what kind of configuration is provided.
I've managed to patch the internals of RESTEasy in a way, so that in case of "servlet" bootstrapping, when adding a new resource to the application, the new context path appeared instantly, without re-deploying the application.
For a demo, I used the 'jaxb-json' example that is bundled with RESTEasy distribution. By default, the example uses listener bootstrapping configuration, thus web.xml has to be modified a little bit to use 'servlet' configuration instead:
Next, run the application, and see that localhost:8080/resteasy/library/books/badger responds as intended for the given example. Now, if we use JRebel to make the class re-loading possible, and patch some classes of RESTEasy framework, one will be able to add new methods to the resource class without having to re-deploy the application. Say, I've added a new method to the class, and marked it with the @Path annotation:
So now I could go to localhost:8080/resteasy/library/books/test and see the changes instantly! Hopefully we can add this feature to support all kinds of RESTEasy configurations. The feature will be available quite soon in one of the upcoming JRebel nightly builds.
It turned out that as RESTEasy has 3 main options for bootstrapping: servlet (which actually has a plenty of configuration switches), listener, and filter. This is quite important as RESTEasy initializes itself a little bit differently depending on what kind of configuration is provided.
I've managed to patch the internals of RESTEasy in a way, so that in case of "servlet" bootstrapping, when adding a new resource to the application, the new context path appeared instantly, without re-deploying the application.
For a demo, I used the 'jaxb-json' example that is bundled with RESTEasy distribution. By default, the example uses listener bootstrapping configuration, thus web.xml has to be modified a little bit to use 'servlet' configuration instead:
<?xml version="1.0"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Archetype Created Web Application</display-name> <context-param> <param-name>resteasy.servlet.mapping.prefix</param-name> <param-value>/resteasy</param-value> </context-param> <servlet> <servlet-name>Resteasy</servlet-name> <servlet-class> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher </servlet-class> <init-param> <param-name>javax.ws.rs.Application> <param-value>org.jboss.resteasy.examples.service.LibraryApplication</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Resteasy</servlet-name> <url-pattern>/resteasy/*</url-pattern> </servlet-mapping> </web-app>
Next, run the application, and see that localhost:8080/resteasy/library/books/badger responds as intended for the given example. Now, if we use JRebel to make the class re-loading possible, and patch some classes of RESTEasy framework, one will be able to add new methods to the resource class without having to re-deploy the application. Say, I've added a new method to the class, and marked it with the @Path annotation:
@Path("library")
public class Library {
@GET
@Path("books/test")
@Produces("text/html")
public String getTest() throws Exception {
return "my test";
}
}
So now I could go to localhost:8080/resteasy/library/books/test and see the changes instantly! Hopefully we can add this feature to support all kinds of RESTEasy configurations. The feature will be available quite soon in one of the upcoming JRebel nightly builds.
Subscribe to:
Posts (Atom)



