Added: tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-histogram.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-histogram.html?rev=1866975&view=auto ============================================================================== --- tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-histogram.html (added) +++ tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-histogram.html Sun Sep 15 22:59:06 2019 @@ -0,0 +1,436 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Apache TomEE</title> + <meta name="description" + content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." /> + <meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" /> + <meta name="author" content="Luka Cvetinovic for Codrops" /> + <link rel="icon" href="../../../favicon.ico"> + <link rel="icon" type="image/png" href="../../../favicon.png"> + <meta name="msapplication-TileColor" content="#80287a"> + <meta name="theme-color" content="#80287a"> + <link rel="stylesheet" type="text/css" href="../../../css/normalize.css"> + <link rel="stylesheet" type="text/css" href="../../../css/bootstrap.css"> + <link rel="stylesheet" type="text/css" href="../../../css/owl.css"> + <link rel="stylesheet" type="text/css" href="../../../css/animate.css"> + <link rel="stylesheet" type="text/css" href="../../../fonts/font-awesome-4.1.0/css/font-awesome.min.css"> + <link rel="stylesheet" type="text/css" href="../../../fonts/eleganticons/et-icons.css"> + <link rel="stylesheet" type="text/css" href="../../../css/jqtree.css"> + <link rel="stylesheet" type="text/css" href="../../../css/idea.css"> + <link rel="stylesheet" type="text/css" href="../../../css/cardio.css"> + + <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="preloader"> + <img src="../../../img/loader.gif" alt="Preloader image"> + </div> + <nav class="navbar"> + <div class="container"> + <div class="row"> <div class="col-md-12"> + + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/"> + <span> + + + <img src="../../../img/logo-active.png"> + + + </span> + Apache TomEE + </a> + </div> + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> + <ul class="nav navbar-nav navbar-right main-nav"> + <li><a href="../../../docs.html">Documentation</a></li> + <li><a href="../../../community/index.html">Community</a></li> + <li><a href="../../../security/security.html">Security</a></li> + <li><a href="../../../download-ng.html">Downloads</a></li> + </ul> + </div> + <!-- /.navbar-collapse --> + </div></div> + </div> + <!-- /.container-fluid --> + </nav> + + + <div id="main-block" class="container main-block"> + <div class="row title"> + <div class="col-md-12"> + <div class='page-header'> + + <h1>Métricas con MicroProfile <code>@Histogram</code></h1> + </div> + </div> + </div> + <div class="row"> + + <div class="col-md-12"> + <div id="preamble"> +<div class="sectionbody"> +<div class="paragraph"> +<p>Este es un ejemplo sobre cómo utilizar las métricas de microperfil en TomEE.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_ejecute_la_aplicación">Ejecute la aplicación:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ mvn clean install tomee:run</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Dentro de la aplicación, hay un endpoint que te dará un histograma del clima de las más recientes temperaturas en la Ciudad de Nueva York.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_request">Request:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X GET http://localhost:8080/mp-metrics-histogram/weather/histogram</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_response">Response:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-javascript" data-lang="javascript">{ + "count":15, + "max":55, + "mean":44.4, + "min":27, + "p50":45.0, + "p75":46.0, + "p95":54.0, + "p98":54.0, + "p99":54.0, + "p999":54.0, + "stddev":7.0710678118654755, + "unit":"degrees F" +}</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_usando_code_histogram_code">Usando <code>@Histogram</code></h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Las métricas de MicroProfile tienen una función que te permite crear un histograma datos.</p> +</div> +<div class="paragraph"> +<p>Para utilizar esta función, injecta un objeto <code>MetricRegistry</code>, registra el Histograma, and agrega datos al histograma como se muestra a continuación.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">@Inject +private MetricRegistry registry; + +@Inject +@Metric(name = "temperatures", description = "A histogram metrics example.", + displayName = "Histogram of Recent New York Temperatures") +private Histogram histogram; + +@Path("/histogram") +@GET +@Produces(MediaType.APPLICATION_JSON) +public Histogram getTemperatures() { + Metadata metadata = new Metadata("temperatures", MetricType.HISTOGRAM, "degrees F"); + metadata.setDescription("A histogram of recent New York temperatures."); + final int[] RECENT_NEW_YORK_TEMPS = { 46, 45, 50, 46, 45, 27, 30, 48, 55, 54, 45, 41, 45, 43, 46 }; + histogram = registry.histogram(metadata); + for(int temp : RECENT_NEW_YORK_TEMPS) { + histogram.update(temp); + } + return histogram; +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Hay algunas configuraciones definidas en la anotación <code>@Histogram</code>:</p> +</div> +<div class="paragraph"> +<p><strong>String name</strong> Opcional. Establece el nombre de la métrica. Si no se proporciona +explÃcitamente, se utiliza el nombre del objeto anotado.</p> +</div> +<div class="paragraph"> +<p><strong>String displayName</strong> Opcional. Un nombre para mostrar legible para los metadatos.</p> +</div> +<div class="paragraph"> +<p><strong>String description</strong> Opcional. Una descripción de la métrica.</p> +</div> +<div class="paragraph"> +<p><strong>String[] tags</strong> Opcional. Matriz de cadenas en el formato = para suministrar +etiquetas especiales a una métrica.</p> +</div> +<div class="paragraph"> +<p><strong>boolean reusable</strong> Indica si una métrica con un nombre determinado se puede +registrar en más de un lugar. No se aplica a <code>@Histogram</code>.</p> +</div> +<div class="sect2"> +<h3 id="_get_histogram_status">GET /histogram/status:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X GET http://localhost:8080/mp-metrics-histogram/weather/histogram/status</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_respuesta">Respuesta:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash"> Here are the most recent New York City temperatures.</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_formato_prometheus">Formato Prometheus:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-text" data-lang="text"> # TYPE application:temperatures_degrees F summary histogram + # TYPE application:temperatures_degrees F_count histogram + application:temperatures_degrees F_count 15.0 + # TYPE application:temperatures_min_degrees F histogram + application:temperatures_min_degrees F 27.0 + # TYPE application:temperatures_max_degrees F histogram + application:temperatures_max_degrees F 55.0 + # TYPE application:temperatures_mean_degrees F histogram + application:temperatures_mean_degrees F 44.4 + # TYPE application:temperatures_stddev_degrees F histogram + application:temperatures_stddev_degrees F 7.0710678118654755 + # TYPE application:temperatures_degrees F histogram + application:temperatures_degrees F{quantile="0.5"} 45.0 + # TYPE application:temperatures_degrees F histogram + application:temperatures_degrees F{quantile="0.75"} 46.0 + # TYPE application:temperatures_degrees F histogram + application:temperatures_degrees F{quantile="0.95"} 54.0 + # TYPE application:temperatures_degrees F histogram + application:temperatures_degrees F{quantile="0.98"} 54.0 + # TYPE application:temperatures_degrees F histogram + application:temperatures_degrees F{quantile="0.99"} 54.0 + # TYPE application:temperatures_degrees F histogram + application:temperatures_degrees F{quantile="0.999"} 54.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures summary histogram + # TYPE application:org_superbiz_histogram_weather_service_temperatures_count histogram + application:org_superbiz_histogram_weather_service_temperatures_count 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures_min histogram + application:org_superbiz_histogram_weather_service_temperatures_min 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures_max histogram + application:org_superbiz_histogram_weather_service_temperatures_max 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures_mean histogram + application:org_superbiz_histogram_weather_service_temperatures_mean NaN + # TYPE application:org_superbiz_histogram_weather_service_temperatures_stddev histogram + application:org_superbiz_histogram_weather_service_temperatures_stddev 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures histogram + application:org_superbiz_histogram_weather_service_temperatures{quantile="0.5"} 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures histogram + application:org_superbiz_histogram_weather_service_temperatures{quantile="0.75"} 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures histogram + application:org_superbiz_histogram_weather_service_temperatures{quantile="0.95"} 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures histogram + application:org_superbiz_histogram_weather_service_temperatures{quantile="0.98"} 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures histogram + application:org_superbiz_histogram_weather_service_temperatures{quantile="0.99"} 0.0 + # TYPE application:org_superbiz_histogram_weather_service_temperatures histogram + application:org_superbiz_histogram_weather_service_temperatures{quantile="0.999"} 0.0</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_formato_json">Formato JSON:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X GET http://localhost:8080/mp-metrics-histogram/metrics/application</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_respuesta_json">Respuesta JSON:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-javascript" data-lang="javascript">{ + "org.superbiz.histogram.WeatherService.temperatures": { + "count":0, + "max":0, + "min":0, + "p50":0.0, + "p75":0.0, + "p95":0.0, + "p98":0.0, + "p99":0.0, + "p999":0.0, + "stddev":0.0, + "unit":"none" + } +}</code></pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_metadatos_de_la_métrica">Metadatos de la Métrica:</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Una métrica tendrá metadatos para que pueda conocer más información al +respecto, como <code>displayName</code>,<code>description</code>, <code>tags</code>, etc.</p> +</div> +<div class="sect2"> +<h3 id="_solicitud_http_em_options_em">Solicitud HTTP <em>OPTIONS</em>:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X OPTIONS http://localhost:8080/mp-metrics-histogram/metrics/application</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_respuesta_2">Respuesta:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-javascript" data-lang="javascript">{ + "org.superbiz.histogram.WeatherService.temperatures": { + "description": "A histogram metrics example.", + "displayName":"Histogram of Recent New York Temperatures", + "name":"org.superbiz.histogram.WeatherService.temperatures", + "reusable":false, + "tags":"", + "type":"histogram", + "typeRaw":"HISTOGRAM", + "unit":"none" + } +}</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_prueba_la_aplicación">Prueba la aplicación</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ mvn test</code></pre> +</div> +</div> +</div> +</div> +</div> + </div> + + </div> + </div> +<footer> + <div class="container"> + <div class="row"> + <div class="col-sm-6 text-center-mobile"> + <h3 class="white">Be simple. Be certified. Be Tomcat.</h3> + <h5 class="light regular light-white">"A good application in a good server"</h5> + <ul class="social-footer"> + <li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li> + <li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li> + <li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li> + </ul> + </div> + <div class="col-sm-6 text-center-mobile"> + <div class="row opening-hours"> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../latest/docs/documentation.html" class="white">Documentation</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li> + <li><a href="../../../latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li> + <li><a href="../../../latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li> + <li><a href="../../../latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../latest/examples/" class="white">Examples</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li> + <li><a href="../../../latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li> + <li><a href="../../../latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li> + <li><a href="../../../latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../community/index.html" class="white">Community</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../community/contributors.html" class="regular light-white">Contributors</a></li> + <li><a href="../../../community/social.html" class="regular light-white">Social</a></li> + <li><a href="../../../community/sources.html" class="regular light-white">Sources</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../security/index.html" class="white">Security</a></h5> + <ul class="list-unstyled"> + <li><a href="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li> + <li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li> + <li><a href="http://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li> + </ul> + </div> + </div> + </div> + </div> + <div class="row bottom-footer text-center-mobile"> + <div class="col-sm-12 light-white"> + <p>Copyright © 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + </div> + </div> + </footer> + <!-- Holder for mobile navigation --> + <div class="mobile-nav"> + <ul> + <li><a hef="../../../latest/docs/admin/index.html">Administrators</a> + <li><a hef="../../../latest/docs/developer/index.html">Developers</a> + <li><a hef="../../../latest/docs/advanced/index.html">Advanced</a> + <li><a hef="../../../community/index.html">Community</a> + </ul> + <a href="#" class="close-link"><i class="arrow_up"></i></a> + </div> + <!-- Scripts --> + <script src="../../../js/jquery-1.11.1.min.js"></script> + <script src="../../../js/owl.carousel.min.js"></script> + <script src="../../../js/bootstrap.min.js"></script> + <script src="../../../js/wow.min.js"></script> + <script src="../../../js/typewriter.js"></script> + <script src="../../../js/jquery.onepagenav.js"></script> + <script src="../../../js/tree.jquery.js"></script> + <script src="../../../js/highlight.pack.js"></script> + <script src="../../../js/main.js"></script> + </body> + +</html> +
Added: tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-metered.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-metered.html?rev=1866975&view=auto ============================================================================== --- tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-metered.html (added) +++ tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-metered.html Sun Sep 15 22:59:06 2019 @@ -0,0 +1,412 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Apache TomEE</title> + <meta name="description" + content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." /> + <meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" /> + <meta name="author" content="Luka Cvetinovic for Codrops" /> + <link rel="icon" href="../../../favicon.ico"> + <link rel="icon" type="image/png" href="../../../favicon.png"> + <meta name="msapplication-TileColor" content="#80287a"> + <meta name="theme-color" content="#80287a"> + <link rel="stylesheet" type="text/css" href="../../../css/normalize.css"> + <link rel="stylesheet" type="text/css" href="../../../css/bootstrap.css"> + <link rel="stylesheet" type="text/css" href="../../../css/owl.css"> + <link rel="stylesheet" type="text/css" href="../../../css/animate.css"> + <link rel="stylesheet" type="text/css" href="../../../fonts/font-awesome-4.1.0/css/font-awesome.min.css"> + <link rel="stylesheet" type="text/css" href="../../../fonts/eleganticons/et-icons.css"> + <link rel="stylesheet" type="text/css" href="../../../css/jqtree.css"> + <link rel="stylesheet" type="text/css" href="../../../css/idea.css"> + <link rel="stylesheet" type="text/css" href="../../../css/cardio.css"> + + <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="preloader"> + <img src="../../../img/loader.gif" alt="Preloader image"> + </div> + <nav class="navbar"> + <div class="container"> + <div class="row"> <div class="col-md-12"> + + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/"> + <span> + + + <img src="../../../img/logo-active.png"> + + + </span> + Apache TomEE + </a> + </div> + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> + <ul class="nav navbar-nav navbar-right main-nav"> + <li><a href="../../../docs.html">Documentation</a></li> + <li><a href="../../../community/index.html">Community</a></li> + <li><a href="../../../security/security.html">Security</a></li> + <li><a href="../../../download-ng.html">Downloads</a></li> + </ul> + </div> + <!-- /.navbar-collapse --> + </div></div> + </div> + <!-- /.container-fluid --> + </nav> + + + <div id="main-block" class="container main-block"> + <div class="row title"> + <div class="col-md-12"> + <div class='page-header'> + + <h1>Métricas con MicroProfile <code>@Metered</code></h1> + </div> + </div> + </div> + <div class="row"> + + <div class="col-md-12"> + <div id="preamble"> +<div class="sectionbody"> +<div class="paragraph"> +<p>Este es un ejemplo sobre cómo utilizar las métricas de microperfil en TomEE.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_ejecute_la_aplicación">Ejecute la aplicación:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ mvn clean install tomee:run</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Dentro de la aplicación, hay un endpoint que te dará el estado del clima para +el dÃa y la semana.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_obtenga_el_clima_para_la_semana">Obtenga el clima para la semana:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X GET http://localhost:8080/mp-metrics-metered/weather/day/status</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_response">Response:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-text" data-lang="text">Hi, today is a sunny day!</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_usando_code_metered_code">Usando <code>@Metered</code></h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Las métricas de MicroProfile tienen una función que se puede usar para medir +solicitudes a un servicio.</p> +</div> +<div class="paragraph"> +<p>Para utilizar esta función, debe anotar los métodos de los recursos JAX-RS con +<code>@Metered</code>.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">@Path("/weather") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@ApplicationScoped +public class WeatherService { + + @Path("/day/status") + @Metered(name = "dailyStatus", + unit = MetricUnits.MINUTES, + description = "Metrics to daily weather status method", + absolute = true) + @GET + @Produces(MediaType.TEXT_PLAIN) + public String dayStatus() { + return "Hi, today is a sunny day!"; + } +... +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Hay algunas configuraciones, como parte de <code>@Metered</code>, que necesita saber:</p> +</div> +<div class="paragraph"> +<p><strong>String name</strong> +Opcional. Establece el nombre de la métrica. Si no se proporciona +explÃcitamente, se utiliza el nombre del objeto anotado.</p> +</div> +<div class="paragraph"> +<p><strong>boolean absolute</strong> Si es verdadero, usa el nombre dado como el nombre absoluto +de la métrica. Si es falso, antepone el nombre del paquete y el nombre de la +clase antes del nombre dado. El valor predeterminado es falso.</p> +</div> +<div class="paragraph"> +<p><strong>String displayName</strong> +Opcional. Un nombre para mostrar legible para los metadatos.</p> +</div> +<div class="paragraph"> +<p><strong>String description</strong> +Opcional. Una descripción de la métrica.</p> +</div> +<div class="paragraph"> +<p><strong>String[] tags</strong> +Opcional. Matriz de cadenas en el formato <key>=<value> para suministrar +etiquetas especiales a una métrica.</p> +</div> +<div class="paragraph"> +<p><strong>boolean reusable</strong> +Indica si una métrica con un nombre determinado se puede registrar en más de un +lugar. No se aplica a <code>@Gauges</code> (medidores).</p> +</div> +<div class="paragraph"> +<p><strong>String unit</strong> +Unidad de la métrica. El valor predeterminado para <code>@Metered</code> es nanosegundos.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_datos_de_la_métrica">Datos de la Métrica</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Verifique la métrica <code>@Metered</code> haciendo una solicitud <em>GET</em>:</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_formato_prometheus">Formato Prometheus:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X GET http://localhost:8080/mp-metrics-metered/metrics/application/dailyStatus</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_respuesta_prometheus">Respuesta Prometheus:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-text" data-lang="text"># TYPE application:daily_status_seconds_count meter +application:daily_status_seconds_count 1.2E-7 +# TYPE application:daily_status_rate_per_second meter +application:daily_status_rate_per_second 0.0 +# TYPE application:daily_status_one_min_rate_per_second meter +application:daily_status_one_min_rate_per_second 1.3376002644204984E-19 +# TYPE application:daily_status_five_min_rate_per_second meter +application:daily_status_five_min_rate_per_second 3.5942838529305413E-20 +# TYPE application:daily_status_fifteen_min_rate_per_second meter +application:daily_status_fifteen_min_rate_per_second 3.4665766454142955E-21</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_formato_json">Formato JSON:</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Para el formato json, agregue el encabezado <code>Accept: application/json</code> a la +solicitud HTTP.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_respuesta_json">Respuesta JSON</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-javascript" data-lang="javascript">{ + "dailyStatus": { + "count": 2, + "fifteenMinRate": 5.77762774235716e-14, + "fiveMinRate": 5.990473088217569e-13, + "meanRate": 0, + "oneMinRate": 2.229333774034164e-12, + "unit": "minutes" + } +}</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_metadatos_métrica">Metadatos Métrica</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Una métrica tendrá metadatos para que pueda conocer más información al +respecto, como <code>displayName</code>,<code>description</code>, <code>tags</code>, etc.</p> +</div> +<div class="paragraph"> +<p>Verifique los metadatos de la métrica haciendo una solicitud HTTP <em>OPTIONS</em>:</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_solicitud_http_em_options_em">Solicitud HTTP <em>OPTIONS</em></h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X OPTIONS http://localhost:8080/mp-metrics-metered/metrics/application/dailyStatus</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_respuesta">Respuesta:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-javascript" data-lang="javascript">{ + "dailyStatus": { + "description": "Metrics to daily weather status method", + "displayName": "", + "name": "dailyStatus", + "reusable": false, + "tags": "", + "type": "meter", + "typeRaw": "METERED", + "unit": "minutes" + } +}</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_pruebe_la_aplicación">Pruebe la aplicación:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ mvn test</code></pre> +</div> +</div> +</div> +</div> + </div> + + </div> + </div> +<footer> + <div class="container"> + <div class="row"> + <div class="col-sm-6 text-center-mobile"> + <h3 class="white">Be simple. Be certified. Be Tomcat.</h3> + <h5 class="light regular light-white">"A good application in a good server"</h5> + <ul class="social-footer"> + <li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li> + <li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li> + <li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li> + </ul> + </div> + <div class="col-sm-6 text-center-mobile"> + <div class="row opening-hours"> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../latest/docs/documentation.html" class="white">Documentation</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li> + <li><a href="../../../latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li> + <li><a href="../../../latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li> + <li><a href="../../../latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../latest/examples/" class="white">Examples</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li> + <li><a href="../../../latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li> + <li><a href="../../../latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li> + <li><a href="../../../latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../community/index.html" class="white">Community</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../community/contributors.html" class="regular light-white">Contributors</a></li> + <li><a href="../../../community/social.html" class="regular light-white">Social</a></li> + <li><a href="../../../community/sources.html" class="regular light-white">Sources</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../security/index.html" class="white">Security</a></h5> + <ul class="list-unstyled"> + <li><a href="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li> + <li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li> + <li><a href="http://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li> + </ul> + </div> + </div> + </div> + </div> + <div class="row bottom-footer text-center-mobile"> + <div class="col-sm-12 light-white"> + <p>Copyright © 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + </div> + </div> + </footer> + <!-- Holder for mobile navigation --> + <div class="mobile-nav"> + <ul> + <li><a hef="../../../latest/docs/admin/index.html">Administrators</a> + <li><a hef="../../../latest/docs/developer/index.html">Developers</a> + <li><a hef="../../../latest/docs/advanced/index.html">Advanced</a> + <li><a hef="../../../community/index.html">Community</a> + </ul> + <a href="#" class="close-link"><i class="arrow_up"></i></a> + </div> + <!-- Scripts --> + <script src="../../../js/jquery-1.11.1.min.js"></script> + <script src="../../../js/owl.carousel.min.js"></script> + <script src="../../../js/bootstrap.min.js"></script> + <script src="../../../js/wow.min.js"></script> + <script src="../../../js/typewriter.js"></script> + <script src="../../../js/jquery.onepagenav.js"></script> + <script src="../../../js/tree.jquery.js"></script> + <script src="../../../js/highlight.pack.js"></script> + <script src="../../../js/main.js"></script> + </body> + +</html> + Added: tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-timed.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-timed.html?rev=1866975&view=auto ============================================================================== --- tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-timed.html (added) +++ tomee/site/trunk/content/tomee-8.0/es/examples/mp-metrics-timed.html Sun Sep 15 22:59:06 2019 @@ -0,0 +1,413 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Apache TomEE</title> + <meta name="description" + content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." /> + <meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" /> + <meta name="author" content="Luka Cvetinovic for Codrops" /> + <link rel="icon" href="../../../favicon.ico"> + <link rel="icon" type="image/png" href="../../../favicon.png"> + <meta name="msapplication-TileColor" content="#80287a"> + <meta name="theme-color" content="#80287a"> + <link rel="stylesheet" type="text/css" href="../../../css/normalize.css"> + <link rel="stylesheet" type="text/css" href="../../../css/bootstrap.css"> + <link rel="stylesheet" type="text/css" href="../../../css/owl.css"> + <link rel="stylesheet" type="text/css" href="../../../css/animate.css"> + <link rel="stylesheet" type="text/css" href="../../../fonts/font-awesome-4.1.0/css/font-awesome.min.css"> + <link rel="stylesheet" type="text/css" href="../../../fonts/eleganticons/et-icons.css"> + <link rel="stylesheet" type="text/css" href="../../../css/jqtree.css"> + <link rel="stylesheet" type="text/css" href="../../../css/idea.css"> + <link rel="stylesheet" type="text/css" href="../../../css/cardio.css"> + + <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="preloader"> + <img src="../../../img/loader.gif" alt="Preloader image"> + </div> + <nav class="navbar"> + <div class="container"> + <div class="row"> <div class="col-md-12"> + + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/"> + <span> + + + <img src="../../../img/logo-active.png"> + + + </span> + Apache TomEE + </a> + </div> + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> + <ul class="nav navbar-nav navbar-right main-nav"> + <li><a href="../../../docs.html">Documentation</a></li> + <li><a href="../../../community/index.html">Community</a></li> + <li><a href="../../../security/security.html">Security</a></li> + <li><a href="../../../download-ng.html">Downloads</a></li> + </ul> + </div> + <!-- /.navbar-collapse --> + </div></div> + </div> + <!-- /.container-fluid --> + </nav> + + + <div id="main-block" class="container main-block"> + <div class="row title"> + <div class="col-md-12"> + <div class='page-header'> + + <h1>Métricas con MicroProfile <code>@Timed</code></h1> + </div> + </div> + </div> + <div class="row"> + + <div class="col-md-12"> + <div id="preamble"> +<div class="sectionbody"> +<div class="paragraph"> +<p>Este es un ejemplo sobre cómo utilizar las métricas de microperfil en TomEE.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_ejecute_la_aplicación">Ejecute la aplicación:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ mvn clean install tomee:run</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Dentro de la aplicación, hay un endpoint que te dará el estado del clima para +el dÃa.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_obtenga_el_clima_para_la_dÃa">Obtenga el clima para la dÃa:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X GET http://localhost:8080/mp-metrics-timed/weather/day/status</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_respuesta">Respuesta:</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-text" data-lang="text">Hi, today is a sunny day!</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_usando_code_timed_code">Usando <code>@Timed</code></h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Las métricas de MicroProfile tienen una función que se puede usar para tracker +el tiempo de un evento.</p> +</div> +<div class="paragraph"> +<p>Para utilizar esta función, debe anotar los métodos de los recursos JAX-RS con +<code>@Timed</code>.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">@Path("/weather") +@ApplicationScoped +public class WeatherService { + + @Path("/day/status") + @Timed(name = "weather_day_status", absolute = true, + displayName = "Weather Day Status", + description = "This metric shows the weather status of the day.") + @GET + @Produces(MediaType.TEXT_PLAIN) + public String dayStatus() { + return "Hi, today is a sunny day!"; + } +... +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Hay algunas configuraciones, como parte de <code>@Timed</code>, que necesita saber:</p> +</div> +<div class="paragraph"> +<p><strong>String name</strong> Opcional. Establece el nombre de la métrica. Si no se proporciona +explÃcitamente, se utiliza el nombre del objeto anotado.</p> +</div> +<div class="paragraph"> +<p><strong>boolean absolute</strong> Si es verdadero, usa el nombre dado como el nombre absoluto +de la métrica. Si es falso, antepone el nombre del paquete y el nombre de la +clase antes del nombre dado. El valor predeterminado es falso.</p> +</div> +<div class="paragraph"> +<p><strong>String displayName</strong> Opcional. Un nombre para mostrar legible para los +metadatos.</p> +</div> +<div class="paragraph"> +<p><strong>String description</strong> Opcional. Una descripción de la métrica.</p> +</div> +<div class="paragraph"> +<p><strong>String[] tags</strong> Opcional. Matriz de cadenas en el formato = para suministrar +etiquetas especiales a una métrica.</p> +</div> +<div class="paragraph"> +<p><strong>String unit</strong> Unidad de la métrica. El valor por defecto para <code>@Timed</code> es +nanosegundos.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_datos_de_la_métrica">Datos de la Métrica</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Verifique la métrica del contador haciendo una solicitud <em>GET</em>:</p> +</div> +<div class="sect2"> +<h3 id="_formato_prometheus">Formato Prometheus:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$curl -X GET http://localhost:8080/mp-metrics-timed/metrics/application/weather_day_status</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_respuesta_prometheus">Respuesta Prometheus:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-text" data-lang="text"># TYPE application:weather_day_status_seconds summary timer +# TYPE application:weather_day_status_seconds_count timer +application:weather_day_status_seconds_count 1.0 +# TYPE application:weather_day_status_rate_per_second timer +application:weather_day_status_rate_per_second 0.0 +# TYPE application:weather_day_status_one_min_rate_per_second timer +application:weather_day_status_one_min_rate_per_second 0.0 +# TYPE application:weather_day_status_five_min_rate_per_second timer +application:weather_day_status_five_min_rate_per_second 0.0 +# TYPE application:weather_day_status_fifteen_min_rate_per_second timer +application:weather_day_status_fifteen_min_rate_per_second 0.0 +# TYPE application:weather_day_status_min_seconds timer +application:weather_day_status_min_seconds 48352.0 +# TYPE application:weather_day_status_max_seconds timer +application:weather_day_status_max_seconds 48352.0 +# TYPE application:weather_day_status_mean_seconds timer +application:weather_day_status_mean_seconds 48352.0 +# TYPE application:weather_day_status_stddev_seconds timer +application:weather_day_status_stddev_seconds 0.0 +# TYPE application:weather_day_status_seconds timer +application:weather_day_status_seconds{quantile="0.5"} 48352.0 +# TYPE application:weather_day_status_seconds timer +application:weather_day_status_seconds{quantile="0.75"} 48352.0 +# TYPE application:weather_day_status_seconds timer +application:weather_day_status_seconds{quantile="0.95"} 48352.0 +# TYPE application:weather_day_status_seconds timer +application:weather_day_status_seconds{quantile="0.98"} 48352.0 +# TYPE application:weather_day_status_seconds timer +application:weather_day_status_seconds{quantile="0.99"} 48352.0 +# TYPE application:weather_day_status_seconds timer +application:weather_day_status_seconds{quantile="0.999"} 48352.0</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_formato_json">Formato JSON:</h3> +<div class="paragraph"> +<p>Para el formato json, agregue el encabezado <code>Accept: application/json</code> a la +solicitud HTTP.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_respuesta_json">Respuesta JSON:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-javascript" data-lang="javascript">{ + "weather_day_status": { + "count": 1, + "fifteenMinRate": 0, + "fiveMinRate": 0, + "max": 48352, + "mean": 48352, + "meanRate": 0, + "min": 48352, + "oneMinRate": 0, + "p50": 48352, + "p75": 48352, + "p95": 48352, + "p98": 48352, + "p99": 48352, + "p999": 48352, + "stddev": 0 + } +}</code></pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_metadatos_métrica">Metadatos Métrica</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Una métrica tendrá metadatos para que pueda conocer más información al +respecto, como <code>displayName</code>,<code>description</code>, <code>tags</code>, etc.</p> +</div> +<div class="paragraph"> +<p>Verifique los metadatos de la métrica haciendo una solicitud HTTP <em>OPTIONS</em>:</p> +</div> +<div class="sect2"> +<h3 id="_solicitud_http_em_options_em">Solicitud HTTP <em>OPTIONS</em></h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X OPTIONS http://localhost:8080/mp-metrics-timed/metrics/application/weather_day_status</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_respuesta_2">Respuesta:</h3> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-javascript" data-lang="javascript">{ + "weather_day_status": { + "description": "This metric shows the weather status of the day.", + "displayName": "Weather Day Status", + "name": "weather_day_status", + "reusable": false, + "tags": "", + "type": "timer", + "typeRaw": "TIMER", + "unit": "nanoseconds" + } +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>También puede probarlo utilizando <code>WeatherServiceTest.java</code> disponible en el +proyecto.</p> +</div> +</div> +</div> +</div> + </div> + + </div> + </div> +<footer> + <div class="container"> + <div class="row"> + <div class="col-sm-6 text-center-mobile"> + <h3 class="white">Be simple. Be certified. Be Tomcat.</h3> + <h5 class="light regular light-white">"A good application in a good server"</h5> + <ul class="social-footer"> + <li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li> + <li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li> + <li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li> + </ul> + </div> + <div class="col-sm-6 text-center-mobile"> + <div class="row opening-hours"> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../latest/docs/documentation.html" class="white">Documentation</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li> + <li><a href="../../../latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li> + <li><a href="../../../latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li> + <li><a href="../../../latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../latest/examples/" class="white">Examples</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li> + <li><a href="../../../latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li> + <li><a href="../../../latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li> + <li><a href="../../../latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../community/index.html" class="white">Community</a></h5> + <ul class="list-unstyled"> + <li><a href="../../../community/contributors.html" class="regular light-white">Contributors</a></li> + <li><a href="../../../community/social.html" class="regular light-white">Social</a></li> + <li><a href="../../../community/sources.html" class="regular light-white">Sources</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../../security/index.html" class="white">Security</a></h5> + <ul class="list-unstyled"> + <li><a href="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li> + <li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li> + <li><a href="http://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li> + </ul> + </div> + </div> + </div> + </div> + <div class="row bottom-footer text-center-mobile"> + <div class="col-sm-12 light-white"> + <p>Copyright © 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + </div> + </div> + </footer> + <!-- Holder for mobile navigation --> + <div class="mobile-nav"> + <ul> + <li><a hef="../../../latest/docs/admin/index.html">Administrators</a> + <li><a hef="../../../latest/docs/developer/index.html">Developers</a> + <li><a hef="../../../latest/docs/advanced/index.html">Advanced</a> + <li><a hef="../../../community/index.html">Community</a> + </ul> + <a href="#" class="close-link"><i class="arrow_up"></i></a> + </div> + <!-- Scripts --> + <script src="../../../js/jquery-1.11.1.min.js"></script> + <script src="../../../js/owl.carousel.min.js"></script> + <script src="../../../js/bootstrap.min.js"></script> + <script src="../../../js/wow.min.js"></script> + <script src="../../../js/typewriter.js"></script> + <script src="../../../js/jquery.onepagenav.js"></script> + <script src="../../../js/tree.jquery.js"></script> + <script src="../../../js/highlight.pack.js"></script> + <script src="../../../js/main.js"></script> + </body> + +</html> + Added: tomee/site/trunk/content/tomee-8.0/examples/groovy-jpa.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/tomee-8.0/examples/groovy-jpa.html?rev=1866975&view=auto ============================================================================== --- tomee/site/trunk/content/tomee-8.0/examples/groovy-jpa.html (added) +++ tomee/site/trunk/content/tomee-8.0/examples/groovy-jpa.html Sun Sep 15 22:59:06 2019 @@ -0,0 +1,309 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Apache TomEE</title> + <meta name="description" + content="Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling." /> + <meta name="keywords" content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian" /> + <meta name="author" content="Luka Cvetinovic for Codrops" /> + <link rel="icon" href="../../favicon.ico"> + <link rel="icon" type="image/png" href="../../favicon.png"> + <meta name="msapplication-TileColor" content="#80287a"> + <meta name="theme-color" content="#80287a"> + <link rel="stylesheet" type="text/css" href="../../css/normalize.css"> + <link rel="stylesheet" type="text/css" href="../../css/bootstrap.css"> + <link rel="stylesheet" type="text/css" href="../../css/owl.css"> + <link rel="stylesheet" type="text/css" href="../../css/animate.css"> + <link rel="stylesheet" type="text/css" href="../../fonts/font-awesome-4.1.0/css/font-awesome.min.css"> + <link rel="stylesheet" type="text/css" href="../../fonts/eleganticons/et-icons.css"> + <link rel="stylesheet" type="text/css" href="../../css/jqtree.css"> + <link rel="stylesheet" type="text/css" href="../../css/idea.css"> + <link rel="stylesheet" type="text/css" href="../../css/cardio.css"> + + <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="preloader"> + <img src="../../img/loader.gif" alt="Preloader image"> + </div> + <nav class="navbar"> + <div class="container"> + <div class="row"> <div class="col-md-12"> + + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="/"> + <span> + + + <img src="../../img/logo-active.png"> + + + </span> + Apache TomEE + </a> + </div> + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> + <ul class="nav navbar-nav navbar-right main-nav"> + <li><a href="../../docs.html">Documentation</a></li> + <li><a href="../../community/index.html">Community</a></li> + <li><a href="../../security/security.html">Security</a></li> + <li><a href="../../download-ng.html">Downloads</a></li> + </ul> + </div> + <!-- /.navbar-collapse --> + </div></div> + </div> + <!-- /.container-fluid --> + </nav> + + + <div id="main-block" class="container main-block"> + <div class="row title"> + <div class="col-md-12"> + <div class='page-header'> + + <h1>Groovy Project with Persistence JPA</h1> + </div> + </div> + </div> + <div class="row"> + + <div class="col-md-12"> + <div id="preamble"> +<div class="sectionbody"> +<div class="paragraph"> +<p>This example is developed with <a href="http://groovy-lang.org">Groovy Lang</a> with JPA data persistence.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_example">Example</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>In this example, a person is created and consulted later.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_code_sample">Code sample</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_entity">Entity</h3> +<div class="paragraph"> +<p>Create a class <code>Person</code> with the annotation <code>@Entity</code>.</p> +</div> +<div class="paragraph"> +<p>In the class create property <code>name</code> of type <code>String</code>. +In the class create property <code>id</code> of type <code>long</code>.</p> +</div> +<div class="paragraph"> +<p>The identifier of entity <code>Person</code> is property <code>id</code> with annotation <code>@Id</code>.</p> +</div> +<div class="paragraph"> +<p>To automatically generate the sequential add the annotation <code>@GeneratedValue</code>.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">Unresolved directive in <stdin> - include::src/main/groovy/org/superbiz/groovy/Person.groovy[]</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_persistence">Persistence</h3> +<div class="paragraph"> +<p>In the persistence is added the entity <code>Person</code> with <code><class>org.superbiz.groovy.Person</class></code></p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">Unresolved directive in <stdin> - include::src/main/resources/META-INF/persistence.xml[]</code></pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_running_example">Running example</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Running the example is fairly simple. In the <code>/tomee/examples/groovy-jpa</code> directory +run:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>$ mvn clean install</pre> +</div> +</div> +<div class="paragraph"> +<p>Which should create output like the following:</p> +</div> +<div class="literalblock"> +<div class="content"> +<pre>[INFO] Running org.superbiz.groovy.GroovyJPATest +INFO - ******************************************************************************** +INFO - OpenEJB http://tomee.apache.org/ +INFO - Startup: Sat Sep 07 18:29:58 ECT 2019 +INFO - Copyright 1999-2018 (C) Apache OpenEJB Project, All Rights Reserved. +INFO - Version: 8.0.0-SNAPSHOT +INFO - Build date: 20190907 +INFO - Build time: 04:10 +INFO - ******************************************************************************** +INFO - openejb.home = /Users/sergio/workspace/git/tomee/examples/groovy-jpa +INFO - openejb.base = /Users/sergio/workspace/git/tomee/examples/groovy-jpa +INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@71c8becc +INFO - Succeeded in installing singleton service +INFO - Cannot find the configuration file [conf/openejb.xml]. Will attempt to create one for the beans deployed. +INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service) +INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager) +INFO - Using 'openejb.deployments.classpath=false' +INFO - Creating TransactionManager(id=Default Transaction Manager) +INFO - Creating SecurityService(id=Default Security Service) +INFO - Configuring enterprise application: /Users/sergio/workspace/git/tomee/examples/groovy-jpa/0db140ef-9d71-4f1a-8ddb-1d0e3feae256.war +INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container) +INFO - Auto-creating a container for bean 0db140ef-9d71-4f1a-8ddb-1d0e3feae256_org.superbiz.groovy.GroovyJPATest: Container(type=MANAGED, id=Default Managed Container) +INFO - Creating Container(id=Default Managed Container) +INFO - Using directory /var/folders/3j/qhs78rln3y9bl0c279f2j13m0000gn/T for stateful session passivation +INFO - Configuring PersistenceUnit(name=groovy) +INFO - Configuring Service(id=Default Unmanaged JDBC Database, type=Resource, provider-id=Default Unmanaged JDBC Database) +INFO - Auto-creating a Resource with id 'Default Unmanaged JDBC Database' of type 'DataSource for 'groovy'. +INFO - Creating Resource(id=Default Unmanaged JDBC Database) +INFO - Adjusting PersistenceUnit groovy <non-jta-data-source> to Resource ID 'Default Unmanaged JDBC Database' from 'jdbc/groovy' +INFO - Enterprise application "/Users/sergio/workspace/git/tomee/examples/groovy-jpa/0db140ef-9d71-4f1a-8ddb-1d0e3feae256.war" loaded. +INFO - Assembling app: /Users/sergio/workspace/git/tomee/examples/groovy-jpa/0db140ef-9d71-4f1a-8ddb-1d0e3feae256.war +INFO - JAVA AGENT NOT INSTALLED. The JPA Persistence Provider requested installation of a ClassFileTransformer which requires a JavaAgent. See http://tomee.apache.org/javaagent.html +INFO - OpenJPA dynamically loaded a validation provider. +INFO - PersistenceUnit(name=groovy, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 1142ms +INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@71c8becc +INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found +INFO - OpenWebBeans Container is starting... +INFO - Adding OpenWebBeansPlugin : [CdiPlugin] +INFO - All injection points were validated successfully. +INFO - OpenWebBeans Container has started, it took 574 ms. +INFO - Deployed Application(path=/Users/sergio/workspace/git/tomee/examples/groovy-jpa/0db140ef-9d71-4f1a-8ddb-1d0e3feae256.war) +INFO - Starting OpenJPA 3.1.0 +INFO - Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary" (HSQL Database Engine 2.3.2 ,HSQL Database Engine Driver 2.3.2). +INFO - Connected to HSQL Database Engine version 2.2 using JDBC driver HSQL Database Engine Driver version 2.3.2. +INFO - Creating subclass and redefining methods for "[class org.superbiz.groovy.Person]". This means that your application will be less efficient than it would if you ran the OpenJPA enhancer. +INFO - Undeploying app: /Users/sergio/workspace/git/tomee/examples/groovy-jpa/0db140ef-9d71-4f1a-8ddb-1d0e3feae256.war +[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.304 s - in org.superbiz.groovy.GroovyJPATest +INFO - Destroying container system +INFO - Closing DataSource: Default Unmanaged JDBC Database +[INFO] +[INFO] Results: +[INFO] +[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0</pre> +</div> +</div> +</div> +</div> + </div> + + </div> + </div> +<footer> + <div class="container"> + <div class="row"> + <div class="col-sm-6 text-center-mobile"> + <h3 class="white">Be simple. Be certified. Be Tomcat.</h3> + <h5 class="light regular light-white">"A good application in a good server"</h5> + <ul class="social-footer"> + <li><a href="https://www.facebook.com/ApacheTomEE/"><i class="fa fa-facebook"></i></a></li> + <li><a href="https://twitter.com/apachetomee"><i class="fa fa-twitter"></i></a></li> + <li><a href="https://plus.google.com/communities/105208241852045684449"><i class="fa fa-google-plus"></i></a></li> + </ul> + </div> + <div class="col-sm-6 text-center-mobile"> + <div class="row opening-hours"> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../latest/docs/documentation.html" class="white">Documentation</a></h5> + <ul class="list-unstyled"> + <li><a href="../../latest/docs/admin/configuration/index.html" class="regular light-white">How to configure</a></li> + <li><a href="../../latest/docs/admin/file-layout.html" class="regular light-white">Dir. Structure</a></li> + <li><a href="../../latest/docs/developer/testing/index.html" class="regular light-white">Testing</a></li> + <li><a href="../../latest/docs/admin/cluster/index.html" class="regular light-white">Clustering</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../latest/examples/" class="white">Examples</a></h5> + <ul class="list-unstyled"> + <li><a href="../../latest/examples/simple-cdi-interceptor.html" class="regular light-white">CDI Interceptor</a></li> + <li><a href="../../latest/examples/rest-cdi.html" class="regular light-white">REST with CDI</a></li> + <li><a href="../../latest/examples/ejb-examples.html" class="regular light-white">EJB</a></li> + <li><a href="../../latest/examples/jsf-managedBean-and-ejb.html" class="regular light-white">JSF</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../community/index.html" class="white">Community</a></h5> + <ul class="list-unstyled"> + <li><a href="../../community/contributors.html" class="regular light-white">Contributors</a></li> + <li><a href="../../community/social.html" class="regular light-white">Social</a></li> + <li><a href="../../community/sources.html" class="regular light-white">Sources</a></li> + </ul> + </div> + <div class="col-sm-3 text-center-mobile"> + <h5><a href="../../security/index.html" class="white">Security</a></h5> + <ul class="list-unstyled"> + <li><a href="http://apache.org/security" target="_blank" class="regular light-white">Apache Security</a></li> + <li><a href="http://apache.org/security/projects.html" target="_blank" class="regular light-white">Security Projects</a></li> + <li><a href="http://cve.mitre.org" target="_blank" class="regular light-white">CVE</a></li> + </ul> + </div> + </div> + </div> + </div> + <div class="row bottom-footer text-center-mobile"> + <div class="col-sm-12 light-white"> + <p>Copyright © 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p> + </div> + </div> + </div> + </footer> + <!-- Holder for mobile navigation --> + <div class="mobile-nav"> + <ul> + <li><a hef="../../latest/docs/admin/index.html">Administrators</a> + <li><a hef="../../latest/docs/developer/index.html">Developers</a> + <li><a hef="../../latest/docs/advanced/index.html">Advanced</a> + <li><a hef="../../community/index.html">Community</a> + </ul> + <a href="#" class="close-link"><i class="arrow_up"></i></a> + </div> + <!-- Scripts --> + <script src="../../js/jquery-1.11.1.min.js"></script> + <script src="../../js/owl.carousel.min.js"></script> + <script src="../../js/bootstrap.min.js"></script> + <script src="../../js/wow.min.js"></script> + <script src="../../js/typewriter.js"></script> + <script src="../../js/jquery.onepagenav.js"></script> + <script src="../../js/tree.jquery.js"></script> + <script src="../../js/highlight.pack.js"></script> + <script src="../../js/main.js"></script> + </body> + +</html> + Modified: tomee/site/trunk/content/tomee-8.0/examples/index.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/tomee-8.0/examples/index.html?rev=1866975&r1=1866974&r2=1866975&view=diff ============================================================================== --- tomee/site/trunk/content/tomee-8.0/examples/index.html (original) +++ tomee/site/trunk/content/tomee-8.0/examples/index.html Sun Sep 15 22:59:06 2019 @@ -381,24 +381,25 @@ <ul class="group"> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="xa-datasource.html">Injection Of Entitymanager</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="java-modules.html">java-modules</a></li> + <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="es/examples/mp-metrics-gauge.html">mp-metrics-gauge</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/mp-metrics-gauge.html">mp-metrics-gauge</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/schedule-methods-meta.html">schedule-methods-meta</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/testing-security-meta.html">testing-security-meta</a></li> - <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="vaadin-lts-v08-simple.html">vaadin-lts-v08-simple</a></li> </ul> </div> <div class="col-md-4"> <ul class="group"> + <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="vaadin-lts-v08-simple.html">vaadin-lts-v08-simple</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="vaadin-lts-v10-simple.html">vaadin-lts-v10-simple</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="vaadin-vxx-simple.html">vaadin-vxx-simple</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/webservice-holder.html">webservice-holder</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/webservice-inheritance.html">webservice-inheritance</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/webservice-security.html">webservice-security</a></li> - <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/webservice-ssl-client-cert.html">webservice-ssl-client-cert</a></li> </ul> </div> <div class="col-md-4"> <ul class="group"> + <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/webservice-ssl-client-cert.html">webservice-ssl-client-cert</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="pt/examples/webservice-ssl-client-cert.html">webservice-ssl-client-cert</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/webservice-ws-security.html">webservice-ws-security</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="examples/websocket-tls-basic-auth.html">websocket-tls-basic-auth</a></li> @@ -429,12 +430,12 @@ <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-rest-jwt-principal.html">MicroProfile JWT Principal</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-jwt-bean-validation.html">MicroProfile JWT with Bean Validation</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-jwt-bean-validation-strongly-typed.html">MicroProfile JWT, Bean Validation and Strongly-Typed Annotations</a></li> - <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-metrics-counted.html">MicroProfile Metrics Counted</a></li> + <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-metrics-histogram.html">MicroProfile Metrics <code>@Histogram</code></a></li> </ul> </div> <div class="col-md-4"> <ul class="group"> - <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-metrics-histogram.html">MicroProfile Metrics Histogram</a></li> + <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-metrics-counted.html">MicroProfile Metrics Counted</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-metrics-metered.html">MicroProfile Metrics Metered</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-metrics-timed.html">MicroProfile Metrics Timed</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-opentracing-traced.html">MicroProfile OpenTracing @Traced</a></li> @@ -463,16 +464,17 @@ <div class="col-md-4"> <ul class="group"> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="realm-in-tomee.html">DataSourceRealm and TomEE DataSource</a></li> + <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="groovy-jpa.html">Groovy Project with Persistence JPA</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="javamail.html">Javamail API</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mp-jsonb-configuration.html">JSON-B Configuration</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="mtom.html">mtom</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="myfaces-codi-demo.html">MyFaces CODI Demo</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="reload-persistence-unit-properties.html">Reload Persistence Unit Properties</a></li> - <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="rest-xml-json.html">Simple REST</a></li> </ul> </div> <div class="col-md-4"> <ul class="group"> + <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="rest-xml-json.html">Simple REST</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="rest-cdi.html">Simple REST with CDI</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="simple-stateful-callbacks.html">Simple Stateful with callback methods</a></li> <li class="group-item"><span class="group-item-i" ><i class="fa fa-angle-right"></i></span><a href="simple-stateless-callbacks.html">Simple Stateless with callback methods</a></li> Modified: tomee/site/trunk/content/tomee-8.0/examples/mp-faulttolerance-timeout.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/tomee-8.0/examples/mp-faulttolerance-timeout.html?rev=1866975&r1=1866974&r2=1866975&view=diff ============================================================================== --- tomee/site/trunk/content/tomee-8.0/examples/mp-faulttolerance-timeout.html (original) +++ tomee/site/trunk/content/tomee-8.0/examples/mp-faulttolerance-timeout.html Sun Sep 15 22:59:06 2019 @@ -96,7 +96,7 @@ <div class="col-md-12"> <div class="paragraph"> -<p>This is an example of how to use Microprofile @Timeout in TomEE.</p> +<p>This is an example of how to use Microprofile <code>@Timeout</code> in TomEE.</p> </div> <h2 id="_timeout_feature" class="discrete">Timeout Feature</h2> <div class="paragraph"> @@ -130,7 +130,7 @@ for more details.</p> <div class="paragraph"> <p>The method <code>statusOfDayByAccuWeather</code> fails when the threshold of <code>@Timeout</code> annotation is reached due to a long execution of <code>longProcessingTask</code> method. To respond to the request nicely, a fallback method will take place to complete the request -successfully. The fallback method is determined by @Fallback annotation.</p> +successfully. The fallback method is determined by <code>@Fallback</code> annotation.</p> </div> <div class="listingblock"> <div class="content"> Modified: tomee/site/trunk/content/tomee-8.0/examples/mp-jsonb-configuration.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/tomee-8.0/examples/mp-jsonb-configuration.html?rev=1866975&r1=1866974&r2=1866975&view=diff ============================================================================== --- tomee/site/trunk/content/tomee-8.0/examples/mp-jsonb-configuration.html (original) +++ tomee/site/trunk/content/tomee-8.0/examples/mp-jsonb-configuration.html Sun Sep 15 22:59:06 2019 @@ -99,9 +99,9 @@ <div class="sectionbody"> <div class="paragraph"> <p>This examples shows how to customize jsonb for a JAX-RS Application. -JSONB is the new javaee-api:8.0 standard for json +JSONB is the new <code>javaee-api:8.0</code> standard for json serialization/deserialization. Few annotations are needed and -JsonbConfig offers many configurations.</p> +<code>JsonbConfig</code> offers many configurations.</p> </div> </div> </div> @@ -109,12 +109,32 @@ JsonbConfig offers many configurations.< <h2 id="_run_and_test_endpoint">Run and test Endpoint</h2> <div class="sectionbody"> <div class="paragraph"> -<p>the application can be run with `mvn clean install tomee:run' if port -8080 is available you can invoke the following endpoint: (GET) -<a href="http://localhost:8080/mp-jsonb-configuration/api/users" class="bare">http://localhost:8080/mp-jsonb-configuration/api/users</a> that should -respond with the following json: [ \{ <code>Id'':1, </code>Name'':<code>user 1'', -</code>Registration'':<code>2018 - 12 - 28'' }, \{ </code>Id'':2, <code>Name'':</code>user 2'', -<code>Registration'':</code>2018 - 12 - 28'' }]</p> +<p>the application can be run with <code>mvn clean install tomee:run</code> if port +8080 is available you can invoke the following endpoint:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">$ curl -X GET http://localhost:8080/mp-jsonb-configuration/api/users</code></pre> +</div> +</div> +<div class="paragraph"> +<p>that should respond with the following json:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-bash" data-lang="bash">[ + { + "Id":1, + "Name":"user 1", + "Registration":"2018 - 12 - 28" + }, + { + "Id":2, + "Name":"user 2", + "Registration":"2018 - 12 - 28" + } +]</code></pre> +</div> </div> </div> </div> @@ -123,17 +143,17 @@ respond with the following json: [ \{ <c <div class="sectionbody"> <div class="paragraph"> <p>JAXRS entry point class, as follows jaxrs will load all the annotated -@Path classes and methods without specifying them.</p> +<code>@Path</code> classes and methods without specifying them.</p> </div> -<div class="literalblock"> +<div class="listingblock"> <div class="content"> -<pre>import javax.ws.rs.ApplicationPath; +<pre class="highlight"><code class="language-java" data-lang="java">import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @ApplicationPath("api") public class JAXRSApplication extends Application { -}</pre> +}</code></pre> </div> </div> </div> @@ -144,9 +164,9 @@ public class JAXRSApplication extends Ap <div class="paragraph"> <p>Simple jaxrs class with a GET endpoint</p> </div> -<div class="literalblock"> +<div class="listingblock"> <div class="content"> -<pre>import java.util.ArrayList; +<pre class="highlight"><code class="language-java" data-lang="java">import java.util.ArrayList; import java.util.List; import javax.ejb.Stateless; @@ -174,7 +194,7 @@ public class UserService { return users; } -}</pre> +}</code></pre> </div> </div> </div> @@ -183,12 +203,12 @@ public class UserService { <h2 id="_jsonb_configuration">JSONB Configuration</h2> <div class="sectionbody"> <div class="paragraph"> -<p>Implementing ContextResolver<> you can customize jaxrs defaults, in this +<p>Implementing <code>ContextResolver<>`</code> you can customize jaxrs defaults, in this example we are going to customize JSONB serialization/deserialization</p> </div> -<div class="literalblock"> +<div class="listingblock"> <div class="content"> -<pre>import javax.json.bind.Jsonb; +<pre class="highlight"><code class="language-java" data-lang="java">import javax.json.bind.Jsonb; import javax.json.bind.JsonbBuilder; import javax.json.bind.JsonbConfig; import javax.json.bind.config.PropertyNamingStrategy; @@ -214,11 +234,11 @@ public class JSONBConfiguration implemen return jsonb; } -}</pre> +}</code></pre> </div> </div> <div class="paragraph"> -<p>JsonbConfig offers many configurations.</p> +<p><code>JsonbConfig</code> offers many configurations.</p> </div> </div> </div> @@ -226,11 +246,11 @@ public class JSONBConfiguration implemen <h2 id="_accessing_the_rest_endpoint">Accessing the rest endpoint</h2> <div class="sectionbody"> <div class="paragraph"> -<p>The test spin up an openejb webapp and invoke the users endpoint</p> +<p>The test spin up an openejb webapp and invoke the <code>/users</code> endpoint</p> </div> -<div class="literalblock"> +<div class="listingblock"> <div class="content"> -<pre>import java.io.IOException; +<pre class="highlight"><code class="language-java" data-lang="java">import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; @@ -269,7 +289,7 @@ public class UserServiceTest { Assert.assertTrue(message.contains(System.getProperty("line.separator"))); } -}</pre> +}</code></pre> </div> </div> </div> @@ -282,11 +302,11 @@ public class UserServiceTest { install' command run from the `mp-jsonb-configuration' directory.</p> </div> <div class="paragraph"> -<p>When run you should see output similar to the following.</p> +<p>When run you should see output similar to the following:</p> </div> -<div class="literalblock"> +<div class="listingblock"> <div class="content"> -<pre>------------------------------------------------------- +<pre class="highlight"><code class="language-java" data-lang="java">------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.superbiz.rest.UserServiceTest @@ -378,22 +398,22 @@ Tests run: 1, Failures: 0, Errors: 0, Sk Results : -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0</pre> +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0</code></pre> </div> </div> <div class="sect2"> <h3 id="_inside_the_jar">Inside the jar</h3> <div class="paragraph"> -<p>javaee-api:8.0 brings in all the dependencies needed to spin up a +<p><code>javaee-api:8.0</code> brings in all the dependencies needed to spin up a working REST application.</p> </div> <div class="paragraph"> <p>If we look at the jar built by maven, weâll see the application itself is quite small:</p> </div> -<div class="literalblock"> +<div class="listingblock"> <div class="content"> -<pre>$ jar tvf target/mp-jsonb-configuration-8.0.0-SNAPSHOT.war +<pre class="highlight"><code class="language-bash" data-lang="bash">$ jar tvf target/mp-jsonb-configuration-8.0.0-SNAPSHOT.war 0 Fri Dec 28 19:36:10 CET 2018 META-INF/ 134 Fri Dec 28 19:36:08 CET 2018 META-INF/MANIFEST.MF 0 Fri Dec 28 19:36:08 CET 2018 WEB-INF/ @@ -411,13 +431,13 @@ is quite small:</p> 0 Fri Dec 28 19:36:10 CET 2018 META-INF/maven/org.superbiz/ 0 Fri Dec 28 19:36:10 CET 2018 META-INF/maven/org.superbiz/mp-jsonb-configuration/ 1791 Fri Dec 28 19:10:44 CET 2018 META-INF/maven/org.superbiz/mp-jsonb-configuration/pom.xml - 128 Fri Dec 28 19:36:08 CET 2018 META-INF/maven/org.superbiz/mp-jsonb-configuration/pom.properties</pre> + 128 Fri Dec 28 19:36:08 CET 2018 META-INF/maven/org.superbiz/mp-jsonb-configuration/pom.properties</code></pre> </div> </div> <div class="paragraph"> <p>This single jar could be deployed any any compliant Java EE implementation. In TomEE youâd simply place it in the -<code>tomee.home/webapps/</code> directory.</p> +<code>${tomee.home}/webapps/</code> directory.</p> </div> </div> </div>
