You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by bu...@apache.org on 2012/01/27 04:16:07 UTC
svn commit: r803368 - in /websites/staging/openejb/trunk/content:
sitemap.html tomcat-jms.html
Author: buildbot
Date: Fri Jan 27 03:16:06 2012
New Revision: 803368
Log:
Staging update by buildbot for openejb
Added:
websites/staging/openejb/trunk/content/tomcat-jms.html
Modified:
websites/staging/openejb/trunk/content/sitemap.html
Modified: websites/staging/openejb/trunk/content/sitemap.html
==============================================================================
--- websites/staging/openejb/trunk/content/sitemap.html (original)
+++ websites/staging/openejb/trunk/content/sitemap.html Fri Jan 27 03:16:06 2012
@@ -246,6 +246,7 @@
<li><a href="tomcat-detailed-instructions.html">Tomcat Detailed Instructions</a></li>
<li><a href="tomcat-ejb-refs.html">Tomcat ejb-refs</a></li>
<li><a href="tomcat-installation.html">Tomcat Installation</a></li>
+<li><a href="tomcat-jms.html">Tomcat JMS</a></li>
<li><a href="tomcat-object-factory.html">Tomcat Object Factory</a></li>
<li><a href="tomcat.html">Tomcat</a></li>
<li><a href="tomee-1.0.0-beta-1.html">Downloads</a></li>
Added: websites/staging/openejb/trunk/content/tomcat-jms.html
==============================================================================
--- websites/staging/openejb/trunk/content/tomcat-jms.html (added)
+++ websites/staging/openejb/trunk/content/tomcat-jms.html Fri Jan 27 03:16:06 2012
@@ -0,0 +1,264 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+
+ <meta charset="utf-8">
+ <title>Tomcat JMS</title>
+ <meta name="description" content="">
+ <meta name="author" content="">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le styles -->
+ <link href="./bootstrap.css" rel="stylesheet">
+ <link href="./prettify.css" rel="stylesheet">
+ <link href="./bootstrap-mods.css" rel="stylesheet">
+
+ <style type="text/css">
+ body {
+ padding-top: 60px;
+ }
+ </style>
+
+
+ <!-- Le fav and touch icons -->
+ <link rel="shortcut icon" href="./images/favicon.ico">
+ <link rel="apple-touch-icon" href="./images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="./images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="./images/apple-touch-icon-114x114.png">
+
+ <script src="./javascript/prettify.js" type="text/javascript"></script>
+ <script src="./javascript/jquery-latest.js"></script>
+ <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
+ <script src="./javascript/common.js"></script>
+ <script src="./javascript/prettyprint.js"></script>
+
+ <script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-2717626-1']);
+ _gaq.push(['_setDomainName', 'apache.org']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+ </script>
+
+
+ </head>
+
+ <body>
+
+ <div class="topbar">
+ <div class="fill">
+ <div class="container">
+ <a class="brand" href="./index.html">Apache TomEE</a>
+ <ul class="nav">
+ <li><a href="./index.html">Home</a></li>
+ <li><a href="./downloads.html">Downloads</a></li>
+ <li><a href="./documentation.html">Documentation</a></li>
+ <li><a href="./support.html">Support</a></li>
+ </ul>
+
+ <!-- Google CSE Search Box Begins -->
+ <FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
+ <INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
+ <INPUT type="hidden" name="cof" value="FORID:0">
+ <INPUT name="q" type="text" placeholder="Search">
+ </FORM>
+ <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
+ <!-- Google CSE Search Box Ends -->
+ </div>
+ </div>
+ </div>
+
+ <div class="container">
+
+
+
+<div class="page-header">
+<small><a href=".//index.html">Home</a></small><br>
+<h1>Tomcat JMS</h1>
+</div>
+
+<p>Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat. With TomEE you get Tomcat with JMS added and integrated and ready to go!</p>
+
+<p>In a plain Servlet, Filter or Listener you can do fun things like injection of JMS Topics or Queues:</p>
+
+<pre><code>import javax.annotation.Resource;
+import javax.servlet.http.HttpServlet;
+import javax.jms.Topic;
+import javax.jms.Queue;
+import javax.jms.ConnectionFactory;
+
+public class MyServet extends HttpServlet {
+
+ @Resource(name = "foo")
+ private Topic fooTopic;
+
+ @Resource(name = "bar")
+ private Queue barQueue;
+
+ @Resource
+ private ConnectionFactory connectionFactory;
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ //...
+
+ Connection connection = connectionFactory.createConnection();
+ connection.start();
+
+ // Create a Session
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ // Create a MessageProducer from the Session to the Topic or Queue
+ MessageProducer producer = session.createProducer(fooTopic);
+ producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+
+ // Create a message
+ TextMessage message = session.createTextMessage("Hello World!");
+
+ // Tell the producer to send the message
+ producer.send(message);
+
+ //...
+ }
+
+}
+</code></pre>
+
+<p>No need to add even a single library! In the above scenario even the "foo" Topic and the "bar" Queue would be automatically created with no configuration necessary.</p>
+
+<p><a href="downloads.html">Download</a> TomEE and you're minutes away from a functioning JMS application on Tomcat.</p>
+
+<p>Apache TomEE, pronounced "Tommy", is an all-Apache stack aimed at <em>Java EE
+6 Web Profile</em> certification where Tomcat is top dog.</p>
+
+<h2>TomEE</h2>
+
+<p><div class="row"><div class="span6"></p>
+
+<p>The Web Profile version of TomEE contains</p>
+
+<ul>
+<li><strong>CDI</strong> - Apache OpenWebBeans</li>
+<li><strong>EJB</strong> - Apache OpenEJB</li>
+<li><strong>JPA</strong> - Apache OpenJPA</li>
+<li><strong>JSF</strong> - Apache MyFaces</li>
+<li><strong>JSP</strong> - Apache Tomcat</li>
+<li><strong>JSTL</strong> - Apache Tomcat</li>
+<li><strong>JTA</strong> - Apache Geronimo Transaction</li>
+<li><strong>Servlet</strong> - Apache Tomcat</li>
+<li><strong>Javamail</strong> - Apache Geronimo JavaMail</li>
+<li><strong>Bean Validation</strong> - Apache Bean Validation</li>
+</ul>
+
+<h2>TomEE+</h2>
+
+<p>The TomEE Plus distribution adds the following:</p>
+
+<ul>
+<li><strong>JAX-RS</strong> - Apache CXF</li>
+<li><strong>JAX-WS</strong> - Apache CXF</li>
+<li><strong>JMS</strong> - Apache ActiveMQ</li>
+<li><strong>Connector</strong> - Apache Geronimo Connector
+</div><div class="span10"><div class="hero-unit">
+<iframe width="460" height="264" src="http://www.youtube.com/embed/eCrtoSTZ2RE" frameborder="0" allowfullscreen></iframe></div></div></div></li>
+</ul>
+
+<h1>Goal</h1>
+
+<p>Simple, Get more from Tomcat without giving anything up.</p>
+
+<h1>Focuses</h1>
+
+<p>Some core focuses guide the integration:</p>
+
+<ul>
+<li>Don't mess with Tomcat</li>
+<li>Keep it simple</li>
+<li>Avoid architecture overhead</li>
+</ul>
+
+<p>The desire to beef up Tomcat installations has persisted despite the
+existence of full-blown app servers, many of which include Tomcat in some
+truncated and stripped-down form. Not TomEE.</p>
+
+<h1>Under the Covers</h1>
+
+<p>Apache TomEE is assembled from a vanilla Apache Tomcat zip file. No
+picking and choosing individual parts of Tomcat and building a "new" server
+leveraging Tomcat. We start with Tomcat, add our jars and zip up the rest.
+ The result is Tomcat with added EE features, TomEE.</p>
+
+<p>Tomcat provides plenty of hooks for filling out parts of its lifecycle. We
+leverage them all to fill the gaps. The result is a whole lotta sharing!</p>
+
+<p>Servlets now get access to JPA and Transactions, EJBs get access to Tomcat
+provided Security. Any Tomcat provided resources, say from a context.xml,
+can be looked up or injected by <em>any</em> managed component in the system.</p>
+
+<h1>Keep it Tight, Keep it Simple</h1>
+
+<p>There's a definite "less is more" philosophy in Apache TomEE. It's too
+easy to go too far when developing an app server. The result is usually a
+slow to start, memory hogging, beast. We're not here to create an ultra
+flexible, super powerful, infinitely composable, be anything to anyone
+platform. We're here to deliver Java EE 6 Web Profile in the simplest way
+possible.</p>
+
+<p>If you were to imagine taking a plain Tomcat install and integrating the
+missing components in the most direct and to-the-point style possible,
+you'd end up with TomEE. The result speaks for itself:</p>
+
+<ul>
+<li>Runs without any additional memory requirements</li>
+<li>Compatible with most Tomcat-aware tools</li>
+<li>Compatible with Tomcat-tested apps</li>
+</ul>
+
+<h1>History</h1>
+
+<p>In Apache TomEE's previous life, it was simply known as the OpenEJB+Tomcat
+integration. That description was always quite misleading. For one,
+there's incredible benefit even if EJB is never used.</p>
+
+<p>Quite simply, EJB as a technology integrates with the most number of specs
+than any other spec. It touches JMS, Web Services, Connectors, Servlets
+(EJB Web Services are still driven by Servlets!), JPA, JDBC, Transactions,
+Security. Integrating with all these technologies takes time and expertise
+and in the end has very little to do with EJB specifically. To apply this
+all to Tomcat and leverage it all from a simple Servlet is a natural
+extension and the reason most app servers started out as EJB servers.</p>
+
+<p>Whereas most app servers pluck Tomcat out of its environment, Apache
+OpenEJB has always existed as an embeddable container focused on being as
+tiny and invisible as possible. The natural extension of this is to embed
+the "EE" into Tomcat, rather than the other way around.</p>
+
+<p>But in the end, it is not about EJB. It's about the other guys: ActiveMQ,
+CXF, MyFaces, OpenJPA, OpenWebBeans, and of course Tomcat! So out with
+OpenEJB+Tomcat and in with Apache TomEE!</p>
+
+
+
+
+ <footer>
+ <p>
+ Copyright © 2011 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
+ Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
+ </p>
+ </footer>
+
+ </div> <!-- /container -->
+
+ </body>
+</html>