Top Banner
Apache TomEE, Java EE 6 Web Profile on Tomcat David Blevins @dblevins #TomEE Tuesday, November 6, 12
66

Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Jul 03, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Apache TomEE,Java EE 6 Web Profile

on TomcatDavid Blevins@dblevins#TomEE

Tuesday, November 6, 12

Page 2: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

What is Apache TomEE?

Tuesday, November 6, 12

Page 3: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Tomcat + JavaEE = TomEE• Java EE 6 Web Profile certified stack, pronounced “Tommy”• Tomcat• All Apache components• OpenJPA• OpenWebBeans• OpenEJB• MyFaces• BeanVal• CXF & ActiveMQ

• Core Values• Be small• Be certified• Be Tomcat

3

Tuesday, November 6, 12

Page 4: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

What is a “Web Profile”?

Tuesday, November 6, 12

Page 5: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

The Web Profile• Introduced in Java EE 6• About half the specs as the Full Profile• 12~ in the Web Profile• 24~ in the Full Profile

• Legacy-free, contains no• CMP EntityBeans• CORBA• JAX-RPC

• Missing some good stuff• JAX-RS• JAX-WS• JMS• Connectors (surprisingly useful)

5

Tuesday, November 6, 12

Page 6: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Flavors of TomEE• Apache TomEE Web Profile (Java EE 6 Certified)• JPA• CDI• EJB• JSF• Bean Validation• JavaMail *

• Apache TomEE JAX-RS (Java EE 6 Certified) *NEW*• JAX-RS

• Apache TomEE Plus (NOT Java EE 6 Certified)• JAX-WS• Connector• JMS

6

Tuesday, November 6, 12

Page 7: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Happy Birthday, TomEE!

Tuesday, November 6, 12

Page 8: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Apache TomEE Releases• 1.0.0 Beta 1• JavaOne 2011• Entering the show

• 1.0.0 Beta 2• January 2012• Closing gaps

• 1.0.0 Final• April 2012• Nailed it• Flood of feedback

• 1.5.0• October 2012

8

Tuesday, November 6, 12

Page 9: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

“There is also one point to note. TomEE is insanely fast! ”

-- Łukasz Budnik, CXF JAX-RS on Apache TomEE @ DZone, May 23rd 2012

“From an architect that switched from <XXX> to Tomee. I can tell you Tomee kicks <XXX>'s ass in every way. Memory, speed, reliability, validation, you name it.”

-- Zeeman, User List, July 3rd 2012

“If you are concerned about performance and footprint, but can accept that you'll have to solve problems yourself, go TomEE. (TomEE seems to be _much_ faster than <XXX>)”

-- Jonathan Fisher, User List, July 3rd 2012

Tuesday, November 6, 12

Page 10: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Website Traffic

10

Tuesday, November 6, 12

Page 11: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Mailing List Traffic

11

Tuesday, November 6, 12

Page 12: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

User List Traffic

12

Tuesday, November 6, 12

Page 13: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Commits Per Month

13

Tuesday, November 6, 12

Page 14: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Contributors Per Month

14

(help needed)

Tuesday, November 6, 12

Page 15: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

How to Help• Contribute• Code• Documentation• Help on User List

• Evangelize• Tweet• Blog• Articles

• Say Thank You• Like on Facebook• Circle on Google Plus• Follow on Twitter• Add ‘TomEE’ to LinkedIn ‘Skills & Experiences’

15

Tuesday, November 6, 12

Page 16: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Demo

Tuesday, November 6, 12

Page 17: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Making TomEE

Tuesday, November 6, 12

Page 18: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

We do it like you do it-- Burger King

Tuesday, November 6, 12

Page 19: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Files Added

19

Tuesday, November 6, 12

Page 20: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Files Modified• conf/server.xml

20

Tuesday, November 6, 12

Page 21: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Files Modified• bin/catalina.sh• optional - only needed if using OpenJPA or EclipseLink and no build-time enhancement

21

Tuesday, November 6, 12

Page 22: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Files Removed• lib/annotations-api.jar• non-compliant, replaced by endorsed/annotations-api.jar

• lib/el-api.jar• not needed, replaced by lib/javaee-api.jar

• webapps/examples/• whim, could have easily been left there

22

Tuesday, November 6, 12

Page 23: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Testing• Our own tests (hour+)• Arquillian based• Each test run 4 to 5 times

• Certification Tests on Amazon EC2 (hundred+ machine hours)• t1.micro linux images, lot’s of them• 100 spot instances going at once!• Each has 613MB memory max• Pass complete Web Profile TCK with default jvm memory (tiny!)

• Current certified OSs• Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 t1.micro• Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 m1.small• Amazon Linux AMI 2011.09, EBS boot, 32-bit EC2 c1.medium

23

Tuesday, November 6, 12

Page 24: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Results• Small• 27MB zip• 64MB memory

• Works with Tomcat tools (it is Tomcat)• Eclipse, Netbeans, Intellij• YourKit, JRebel, NewRelic, etc.....

• Tightly integrated• All about the code you don’t write

• Hundreds of hours of testing• Unit, Integration, Compliance

• Certified• Java EE 6 Web Profile portability

24

Tuesday, November 6, 12

Page 25: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Doing it Yourself

Tuesday, November 6, 12

Page 26: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Perils of doing it yourself• Wasted time you could spend coding• Actually slower, not faster• Tomcat will scan all your jars• ... so will your JSF implementation• ... so will your CDI implementation• ... so will your JAX-RS implementation• ... so will your JPA implementation... and so on

• Bloated memory from duplicate classes• Incomplete parts• OpenJPA missing JTA/EXTENDED EntityManagers• OpenWebBeans runs 60% of CDI TCK• Tomcat has no “java:global/” JNDI, @DataSourceDefinition, and more

26

Tuesday, November 6, 12

Page 27: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Perils of doing it yourself• Incomplete integration• connection, transaction, security propagation• increased cohesion in specifications

• Get by with a little help from friends• No way to share bug fixes• If only there was community for Tomcat integration....

• Under Tested• 1000s of integration tests required• Each upgrade is a mystery• If only there was a community for sharing tests....

• No portability• Hard changing parts• Even harder changing servers

27

Tuesday, November 6, 12

Page 28: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Arquillian

Tuesday, November 6, 12

Page 29: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

All your bugsare belong to us

Tuesday, November 6, 12

Page 30: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Arquillian Adapters• TomEE Remote Adapter• For separate running TomEE process• Managed and Unmanaged

• TomEE Embedded Adapter• Runs TomEE in the test, embedded

• Tomcat + TomEE.war file• Start with a Tomcat install• Deploys the TomEE.war

• OpenEJB Embedded Adapter• Everything but Servlet, JSP, JSF• Much Faster

30

Tuesday, November 6, 12

Page 31: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Maven

Tuesday, November 6, 12

Page 32: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

All programs evolve until they can send email

-- Letts’ Law

Tuesday, November 6, 12

Page 33: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

tomee-maven-plugin• Configure and setup servers from scratch• Start/stop servers• Deploy/undeploy apps

33

Tuesday, November 6, 12

Page 34: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Validation

Tuesday, November 6, 12

Page 35: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

OverworkedBean

35

Tuesday, November 6, 12

Page 36: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Business Interface

36

Tuesday, November 6, 12

Page 37: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Validation Results

37

FAIL ... OverworkedBean: Missing required "name" attribute on class-level @EJB usageFAIL ... OverworkedBean: Missing required "beanInterface" attribute on class-level @EJB usageFAIL ... OverworkedBean: Missing required "type" attribute on class-level @Resource usageFAIL ... OverworkedBean: Mistaken use of @Resource on an EntityManager reference. Use @PersistenceContext for ref "org.superbiz.OverworkedBean/myEntityManager"FAIL ... OverworkedBean: Mistaken use of @Resource on an EntityManagerFactory reference. Use @PersistenceUnit for ref "org.superbiz.OverworkedBean/myEntityManagerFactory"WARN ... OverworkedBean: Ignoring @PostConstruct used on interface org.superbiz.Overworked method comeInEarly. Annotation only usable on the bean class.WARN ... OverworkedBean: Ignoring @PreDestroy used on interface org.superbiz.Overworked method stayLater. Annotation only usable on the bean class.WARN ... OverworkedBean: Ignoring @RolesAllowed used on interface org.superbiz.Overworked method doThisRealQuick. Annotation only usable on the bean class.WARN ... OverworkedBean: Ignoring @TransactionAttribute used on interface org.superbiz.Overworked method isItDoneYet. Annotation only usable on the bean class.WARN ... OverworkedBean: Ignoring @TransactionAttribute used on interface org.superbiz.Overworked method doThisRealQuick. Annotation only usable on the bean class.WARN ... OverworkedBean: @Remove is ignored for beans of type Stateless. Method: stayLaterWARN ... OverworkedBean: @Init is ignored for beans of type Stateless. Method: comeInEarlyWARN ... OverworkedBean: Corrected invalid injection-target-name: setMyNumber

Tuesday, November 6, 12

Page 38: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Configuration

Tuesday, November 6, 12

Page 39: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Tomcat Options• No rip and replace• System Level• conf/server.xml

• App Level• META-INF/context.xml

• Standard configuration options still work• Resources available too all components: EJBs, CDI, JSF

• Connection pooling still not JTA aware!

• All Security done with Tomcat Realms• EJB security• WebService Security• Use your custom Realm implementation

39

Tuesday, November 6, 12

Page 40: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Additional Options• System Level• conf/tomee.xml• conf/system.properties

• Process Level• plain -D properties

• App Level• META-INF/context.xml• META-INF/resources.xml• META-INF/application.properties

40

Tuesday, November 6, 12

Page 41: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

conf/tomee.xml

41

Tuesday, November 6, 12

Page 42: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Not Case-Sensitive

42

Tuesday, November 6, 12

Page 43: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Be as Brief as you Want

43

Tuesday, November 6, 12

Page 44: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

...really

44

Tuesday, November 6, 12

Page 45: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

...really brief

45

Tuesday, November 6, 12

Page 46: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Human Readable Durations

46

Tuesday, November 6, 12

Page 47: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Comments Welcome

47

Tuesday, November 6, 12

Page 48: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Do it in the App• META-INF/resources.xml

48

Tuesday, November 6, 12

Page 49: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Hate XML?

Tuesday, November 6, 12

Page 50: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

conf/system.properties

50

Tuesday, November 6, 12

Page 51: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Plain Java Properties• JAVA_OPTS in a script

51

Tuesday, November 6, 12

Page 52: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Mixed• conf/tomee.xml

• META-INF/resources.xml

• JAVA_OPTS in a script

52

Tuesday, November 6, 12

Page 53: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Extending

Tuesday, November 6, 12

Page 54: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Extending (configuration)• META-INF/resources.xml via <Resource class-name=””>

• Injectable via @Resource

54

Tuesday, November 6, 12

Page 55: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Extending (runtime events)• CDI-style @Observes

• Registered via <Service> in META-INF/resources.xml

• Not quite CDI (yet)• 27 client-side events• 12 server-side events• more events coming...

55

Tuesday, November 6, 12

Page 56: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

56

Tuesday, November 6, 12

Page 57: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Failover Client-Side Events

57

Tuesday, November 6, 12

Page 58: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Management and Monitoring

Tuesday, November 6, 12

Page 59: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Management and Monitoring• JMX• Webapp JMX deployment / apps (Tomcat)• EJB Servers / Containers / Invocation stats (OpenEJB)• JMS Topic / Queue / Subscriber / Broker (ActiveMQ)• PersistenceUnit redeploy• Database Pools• Discovered servers / peers• more coming...

• REST (soon)• Just idea at this point• Tiny bit available via ‘tomee’ console• Would be great to have REST equivalents of all JMX beans

59

Tuesday, November 6, 12

Page 60: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

60

Tuesday, November 6, 12

Page 61: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Tuning

Tuesday, November 6, 12

Page 62: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Scanning• META-INF/scan.xml• Usable in any jar• Speeds loading of large jars• Match packages

• Match classes

62

Tuesday, November 6, 12

Page 63: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Clust...^H... Cloud Features

Tuesday, November 6, 12

Page 64: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Cloud• Existing• Super tiny size• Certified on EC2 t1.micro, m1.small, c1.medium• TCP and UDP server discovery• Standard Tomcat clustering... er... cloudstering• EJB client load-balancing and failover (stateless)• Maven based provisioning

• Desired• Multi-server console w/ monitoring and deployment• Queue based auto-scaling (add/remove nodes)• Cloud scoped @Singletons• Cloud-wide @Observers and Events• Cloud-wide Timers and @Schedule methods• Amazon BeanStalk w/ TomEE

64

Tuesday, November 6, 12

Page 65: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

Cloud Feature Requests?

Tuesday, November 6, 12

Page 66: Apache TomEE, Java EE 6 Web Profile on Tomcatarchive.apachecon.com/eu2012/presentations/06-Tuesday/RN... · 2012-11-08 · • Eclipse, Netbeans, Intellij • YourKit, JRebel, NewRelic,

thank you!tomee.apache.org

@[email protected]

Tuesday, November 6, 12