latjug-0311.jrebel-dev2dev

Post on 24-Jan-2015

753 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Java Bytecode Fundamentals Anton Arhipov [Estonia] http://goo.gl/GO6Mm Java User Group Latvia March 2011 http://goo.gl/77MhT

TRANSCRIPT

Part I

http://xkcd.com/303/

Seen this before?

Also: “My app is…”* Building* Redeploying* Restarting…

How much of your coding time is spent coding?

JBoss AS startup time

Redeploying sucks, so JRebel eliminates it. How?

JRebel maps your project workspace directly to the application under development. When you

change any class or resource in your IDE, the change is immediately reflected in the

application, skipping the build and redeploy phases.

Umm… What?

JRebel picks up changes to: A) Class structure

…and reflects those changes

in your application,

instantly

…monitors the timestamp of classfiles..

JRebel picks up changes to:B) Framework configurations

and others...

Frameworks

…and reflects those changes

in your application,

instantly

…and reflects those changes

in… well, you get the point…

.. .. ..but HOW??

JRebel picks up changes to:C) Java EE technologies

Part 2

http://xkcd.com

Tech and Science stuff

How JRebel works: 1) Classes

• JRebel integrates with JVM and rewrites each class to be updateable

• JRebel versions each class individually, instead of an application or module at a time

• It does not use classloaders!

• Changes to classes are always visible in the Reflection API

• JRebel integrates directly with application servers and frameworks to propagate configuration changes from the changed classes and resources

• Annotation changes are always visible in Reflection API

• JRebel provides an extensible SDK to allow contributions from third parties. Stripes, Struts 2, Wicket and several other integrations have already been contributed

How JRebel works: 2) Framework configuration changes / details

Containers / Application Servers

How JRebel works: 3) Workspace mapping

• JRebel integrates with application servers, frameworks and your IDE

• When a class or resource is being looked up, JRebel redirects straight to the workspace

• When an HTTP resource needs to be served, JRebel serves it from the workspace

petclinic.war

IDEs

IDEs Containers Frameworks

Build Tools

How JRebel works: Integration, Integration, Integration

Specially for JUG Latvia!

 Free JRebel license for 60

days

with Enterprise Add-on

http://www.zeroturnaround.com/jrebel/giveaways/?campaign=juglatvia032011

DEMO

top related