Added: websites/production/openwebbeans/content/meecrowave/meecrowave-websocket/index.html ============================================================================== --- websites/production/openwebbeans/content/meecrowave/meecrowave-websocket/index.html (added) +++ websites/production/openwebbeans/content/meecrowave/meecrowave-websocket/index.html Thu Aug 5 13:23:26 2021 @@ -0,0 +1,171 @@ +<!DOCTYPE html> +<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]--> +<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]--> +<!--[if !IE]><!--> <html lang="en"> <!--<![endif]--> +<head> + <title>Meecrowave :: the customizable server</title> + <!-- Meta --> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="shortcut icon" href="/meecrowave/favicon.ico"> + <link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'> + <!-- Global CSS --> + <link rel="stylesheet" href="/meecrowave/assets/plugins/bootstrap/css/bootstrap.min.css"> + <!-- Plugins CSS --> + <link rel="stylesheet" href="/meecrowave/assets/plugins/font-awesome/css/font-awesome.min.css"> + <link rel="stylesheet" href="/meecrowave/assets/plugins/elegant_font/css/style.css?version=1"> + <!-- highlighting --> + <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/idea.min.css" integrity="sha256-rYB1c4yTU5UJB//rod7DtBo1JM6HAme/9Vd+VesFG2U=" crossorigin="anonymous" /> + + <!-- Theme CSS --> + <link id="theme-style" rel="stylesheet" href="/meecrowave/assets/css/styles.css"> + <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> +</head> + +<body class="body-red"> + <div class="page-wrapper"> + <!-- TODO: google analytics --> +<header class="header text-center"> + <div class="container"> + <div class="branding"> + <h1 class="doc-title"> + <span aria-hidden="true" class="icon icon_chat icon"></span> + <a href="/meecrowave/index.html"> + Meecrowave + </a> + </h1> + </div> + </div><!--//container--> +</header><!--//header--> +<div class="doc-wrapper"> + <div class="container"> + <div id="doc-header" class="doc-header text-center"> + <h1 class="doc-title"><span aria-hidden="true" class="icon icon icon_chat"></span> Meecrowave WebSocket</h1> + </div><!--//doc-header--> + +<div class="doc-body"> + <div class="doc-content"> + <div class="content-inner"> + + + + +<div class='btn-toolbar pull-right' style="z-index: 2000;"> + <div class='btn-group'> + <a class="btn" href="/meecrowave/meecrowave-websocket/index.pdf"><i class="fa fa-file-pdf-o"></i> Download as PDF</a> + </div> +</div> + + + + <section class="doc-section"> + <div class="admonitionblock warning"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-warning" title="Warning"></i> +</td> +<td class="content"> +this module is available with Apache Meecrowave >= 1.2.11. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>Coordinates:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="xml" class="language-xml hljs"><dependency> + <groupId>org.apache.meecrowave</groupId> + <artifactId>meecrowave-websocket</artifactId> + <version>${meecrowave.version}</version> +</dependency></code></pre> +</div> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +this module requires <code>org.apache.tomcat:tomcat-websocket-api</code> but replaces <code>org.apache.tomcat:tomcat-websocket</code> until Tomcat enables a better way to extend its default. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>Once this module added, you can implement a server websocket endpoint as a CDI bean, it will use <code>CDI.current().select(endpointType).get()</code> to resolve it.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +you can still pass a custom <code>Configurator</code> to your endpoint to customize the lookup or runtime of the endpoint. +</td> +</tr> +</table> +</div> + </section><!--//doc-section--> + + + + + </div><!--//content-inner--> + </div><!--//doc-content--> + + <div class="doc-sidebar"> + <nav id="doc-nav"> + <ul id="doc-menu" class="nav doc-menu hidden-xs affix-top" data-spy="affix"> + <li><a href="/meecrowave/index.html">Home</a></li> + <li><a href="/meecrowave/start.html">Quick Start</a></li> + <li><a href="/meecrowave/components.html">Components</a></li> + <li><a href="/meecrowave/download.html">Download</a></li> + <li><a href="/meecrowave/community.html">Community</a></li> + </ul><!--//doc-menu--> + </nav> + </div> +</div> + +</div><!--//page-wrapper--> + + <footer class="footer text-center"> + <div class="container"> + <div class="row"> + <p >Copyright © 2016-2020 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. + </p> + </div> + </div> + + <div class="container"><!-- don't remove it otherwise theme is no more creative common --> + <small class="copyright">Designed with <i class="fa fa-heart"></i> by <a href="http://themes.3rdwavemedia.com/" target="_blank">Xiaoying Riley</a> for developers</small> + </div><!--//container--> + </footer><!--//footer--> + + + <!-- Main Javascript --> + <script type="text/javascript" src="/meecrowave/assets/plugins/jquery-1.12.3.min.js"></script> + <script type="text/javascript" src="/meecrowave/assets/plugins/bootstrap/js/bootstrap.min.js"></script> + <script type="text/javascript" src="/meecrowave/assets/plugins/jquery-match-height/jquery.matchHeight-min.js"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js" integrity="sha256-aYTdUrn6Ow1DDgh5JTc3aDGnnju48y/1c8s1dgkYPQ8=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/java.min.js" integrity="sha256-21Z1xKC/FsaqN9z9jIER9xiX4XbV5buFEVdkZvsfBIc=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/groovy.min.js" integrity="sha256-0B+Ps1zCncLC5JIOQ+MtIhI/UhbJkYbxWsJowD3c+tk=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/shell.min.js" integrity="sha256-nwOM3xEc6CFfrPNDN1upX+5ynjWKAXsg+bW63SSzte0=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/bash.min.js" integrity="sha256-zXrlim8wsIvcEFjsD3THiAfTvtPZifqx8q0rxegiWQc=" crossorigin="anonymous"></script> + <script type="text/javascript" src="/meecrowave/assets/js/main.js?version=1"></script> + +</body> +</html> +
Added: websites/production/openwebbeans/content/meecrowave/meecrowave-websocket/index.pdf ============================================================================== --- websites/production/openwebbeans/content/meecrowave/meecrowave-websocket/index.pdf (added) +++ websites/production/openwebbeans/content/meecrowave/meecrowave-websocket/index.pdf Thu Aug 5 13:23:26 2021 @@ -0,0 +1,873 @@ +%PDF-1.3 +%ÿÿÿÿ +1 0 obj +<< /Title (Meecrowave WebSocket) +/Creator (Asciidoctor PDF 1.5.0.alpha.16, based on Prawn 2.2.2) +/Producer (Asciidoctor PDF 1.5.0.alpha.16, based on Prawn 2.2.2) +/ModDate (D:20210805152310+02'00') +/CreationDate (D:20210805152310+02'00') +>> +endobj +2 0 obj +<< /Type /Catalog +/Pages 3 0 R +/Names 12 0 R +/Outlines 18 0 R +/PageLabels 20 0 R +/PageMode /UseOutlines +/OpenAction [7 0 R /FitH 842.89] +/ViewerPreferences << /DisplayDocTitle true +>> +>> +endobj +3 0 obj +<< /Type /Pages +/Count 2 +/Kids [7 0 R 10 0 R] +>> +endobj +4 0 obj +<< /Length 2 +>> +stream +q + +endstream +endobj +5 0 obj +<< /Type /Page +/Parent 3 0 R +/MediaBox [0 0 595.28 841.89] +/CropBox [0 0 595.28 841.89] +/BleedBox [0 0 595.28 841.89] +/TrimBox [0 0 595.28 841.89] +/ArtBox [0 0 595.28 841.89] +/Contents 4 0 R +/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] +>> +>> +endobj +6 0 obj +<< /Length 207 +>> +stream +q +/DeviceRGB cs +0.6 0.6 0.6 scn +/DeviceRGB CS +0.6 0.6 0.6 SCN + +BT +235.4621 361.6965 Td +/F1.0 27 Tf +[<4d656563726f776176652057> 60.0586 <6562536f636b> 20.0195 <6574>] TJ +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +Q + +endstream +endobj +7 0 obj +<< /Type /Page +/Parent 3 0 R +/MediaBox [0 0 595.28 841.89] +/CropBox [0 0 595.28 841.89] +/BleedBox [0 0 595.28 841.89] +/TrimBox [0 0 595.28 841.89] +/ArtBox [0 0 595.28 841.89] +/Contents 6 0 R +/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] +/Font << /F1.0 8 0 R +>> +>> +>> +endobj +8 0 obj +<< /Type /Font +/BaseFont /8bcdde+NotoSerif +/Subtype /TrueType +/FontDescriptor 22 0 R +/FirstChar 32 +/LastChar 255 +/Widths 24 0 R +/ToUnicode 23 0 R +>> +endobj +9 0 obj +<< /Length 6265 +>> +stream +q +q +0.5 w +/DeviceRGB CS +0.9333 0.9333 0.9333 SCN +108.24 805.89 m +108.24 782.11 l +S +Q +/DeviceRGB cs +0.749 0.4118 0.0 scn +/DeviceRGB CS +0.749 0.4118 0.0 SCN + +BT +66.35 785.5105 Td +/F2.1 23.779999999999973 Tf +<21> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +120.24 789.926 Td +/F1.0 10.5 Tf +<74686973206d6f64756c6520697320617661696c61626c65207769746820417061636865204d656563726f77617665203e3d20312e322e31312e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +48.24 758.146 Td +/F1.0 10.5 Tf +<436f6f7264696e617465733a> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +q +0.9608 0.9608 0.9608 scn +52.24 742.33 m +543.04 742.33 l +545.2491 742.33 547.04 740.5391 547.04 738.33 c +547.04 650.63 l +547.04 648.4209 545.2491 646.63 543.04 646.63 c +52.24 646.63 l +50.0309 646.63 48.24 648.4209 48.24 650.63 c +48.24 738.33 l +48.24 740.5391 50.0309 742.33 52.24 742.33 c +h +f +0.8 0.8 0.8 SCN +0.75 w +52.24 742.33 m +543.04 742.33 l +545.2491 742.33 547.04 740.5391 547.04 738.33 c +547.04 650.63 l +547.04 648.4209 545.2491 646.63 543.04 646.63 c +52.24 646.63 l +50.0309 646.63 48.24 648.4209 48.24 650.63 c +48.24 738.33 l +48.24 740.5391 50.0309 742.33 52.24 742.33 c +h +S +Q +0.1843 0.4353 0.6235 scn +0.1843 0.4353 0.6235 SCN + +BT +59.24 719.505 Td +/F3.0 11 Tf +<3c646570656e64656e63793e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +59.24 704.765 Td +/F3.0 11 Tf +<ca20> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.1843 0.4353 0.6235 scn +0.1843 0.4353 0.6235 SCN + +BT +70.24 704.765 Td +/F3.0 11 Tf +<3c67726f757049643e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +119.74 704.765 Td +/F3.0 11 Tf +<6f72672e6170616368652e6d656563726f77617665> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.1843 0.4353 0.6235 scn +0.1843 0.4353 0.6235 SCN + +BT +235.24 704.765 Td +/F3.0 11 Tf +<3c2f67726f757049643e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +59.24 690.025 Td +/F3.0 11 Tf +<ca20> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.1843 0.4353 0.6235 scn +0.1843 0.4353 0.6235 SCN + +BT +70.24 690.025 Td +/F3.0 11 Tf +<3c617274696661637449643e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +136.24 690.025 Td +/F3.0 11 Tf +<6d656563726f776176652d776562736f636b6574> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.1843 0.4353 0.6235 scn +0.1843 0.4353 0.6235 SCN + +BT +246.24 690.025 Td +/F3.0 11 Tf +<3c2f617274696661637449643e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +59.24 675.285 Td +/F3.0 11 Tf +<ca20> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.1843 0.4353 0.6235 scn +0.1843 0.4353 0.6235 SCN + +BT +70.24 675.285 Td +/F3.0 11 Tf +<3c76657273696f6e3e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +119.74 675.285 Td +/F3.0 11 Tf +<247b6d656563726f776176652e76657273696f6e7d> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.1843 0.4353 0.6235 scn +0.1843 0.4353 0.6235 SCN + +BT +235.24 675.285 Td +/F3.0 11 Tf +<3c2f76657273696f6e3e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.1843 0.4353 0.6235 scn +0.1843 0.4353 0.6235 SCN + +BT +59.24 660.545 Td +/F3.0 11 Tf +<3c2f646570656e64656e63793e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +q +0.5 w +0.9333 0.9333 0.9333 SCN +108.24 634.63 m +108.24 579.29 l +S +Q +0.749 0.0 0.0 scn +0.749 0.0 0.0 SCN + +BT +67.956 598.392 Td +/F2.1 24 Tf +<22> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +8.9119 Tw + +BT +120.24 618.666 Td +/F1.0 10.5 Tf +<74686973206d6f64756c6520726571756972657320> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +8.9119 Tw + +BT +253.8132 618.666 Td +/F3.0 10.5 Tf +<6f72672e6170616368652e746f6d6361743a746f6d6361742d776562736f636b65742d617069> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +8.9119 Tw + +BT +453.3132 618.666 Td +/F1.0 10.5 Tf +<20627574207265706c61636573> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +0.0672 Tw + +BT +120.24 602.886 Td +/F3.0 10.5 Tf +<6f72672e6170616368652e746f6d6361743a746f6d6361742d776562736f636b6574> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +0.0672 Tw + +BT +298.74 602.886 Td +/F1.0 10.5 Tf +[<20756e74696c2054> 29.7852 <6f6d63617420656e61626c6573206120626574746572207761> 20.0195 <7920746f20657874656e6420697473>] TJ +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +120.24 587.106 Td +/F1.0 10.5 Tf +<64656661756c742e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +0.3711 Tw + +BT +48.24 555.326 Td +/F1.0 10.5 Tf +[<4f6e63652074686973206d6f64756c652061646465642c20796f752063616e20696d706c656d656e7420612073657276657220776562736f636b> 20.0195 <657420656e64706f696e74206173206120434449206265616e2c2069742077696c6c20757365>] TJ +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +BT +48.24 539.546 Td +/F3.0 10.5 Tf +<4344492e63757272656e7428292e73656c65637428656e64706f696e7454797065292e6765742829> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +258.24 539.546 Td +/F1.0 10.5 Tf +<20746f207265736f6c76652069742e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +q +0.5 w +0.9333 0.9333 0.9333 SCN +108.24 523.73 m +108.24 484.17 l +S +Q +0.098 0.251 0.4863 scn +0.098 0.251 0.4863 SCN + +BT +67.956 495.382 Td +/F2.1 24 Tf +<23> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +0.6452 Tw + +BT +120.24 507.766 Td +/F1.0 10.5 Tf +<796f752063616e207374696c6c2070617373206120637573746f6d20> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.6941 0.1294 0.2745 scn +0.6941 0.1294 0.2745 SCN + +0.6452 Tw + +BT +259.1304 507.766 Td +/F3.0 10.5 Tf +<436f6e666967757261746f72> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +0.6452 Tw + +BT +322.1304 507.766 Td +/F1.0 10.5 Tf +<20746f20796f757220656e64706f696e7420746f20637573746f6d697a6520746865206c6f6f6b7570> Tj +ET + + +0.0 Tw +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +120.24 491.986 Td +/F1.0 10.5 Tf +<6f722072756e74696d65206f662074686520656e64706f696e742e> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +q +0.0 0.0 0.0 scn +0.0 0.0 0.0 SCN +1 w +0 J +0 j +[] 0 d +/Stamp1 Do +0.2 0.2 0.2 scn +0.2 0.2 0.2 SCN + +BT +541.009 14.388 Td +/F1.0 9 Tf +<31> Tj +ET + +0.0 0.0 0.0 SCN +0.0 0.0 0.0 scn +Q +Q + +endstream +endobj +10 0 obj +<< /Type /Page +/Parent 3 0 R +/MediaBox [0 0 595.28 841.89] +/CropBox [0 0 595.28 841.89] +/BleedBox [0 0 595.28 841.89] +/TrimBox [0 0 595.28 841.89] +/ArtBox [0 0 595.28 841.89] +/Contents 9 0 R +/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] +/Font << /F2.1 14 0 R +/F1.0 8 0 R +/F3.0 15 0 R +>> +/XObject << /Stamp1 16 0 R +>> +>> +>> +endobj +11 0 obj +[10 0 R /XYZ 0 841.89 null] +endobj +12 0 obj +<< /Type /Names +/Dests 13 0 R +>> +endobj +13 0 obj +<< /Names [(__anchor-top) 11 0 R] +>> +endobj +14 0 obj +<< /Type /Font +/BaseFont /a49639+FontAwesome +/Subtype /TrueType +/FontDescriptor 26 0 R +/FirstChar 32 +/LastChar 255 +/Widths 28 0 R +/ToUnicode 27 0 R +>> +endobj +15 0 obj +<< /Type /Font +/BaseFont /f77b96+mplus1mn-regular +/Subtype /TrueType +/FontDescriptor 30 0 R +/FirstChar 32 +/LastChar 255 +/Widths 32 0 R +/ToUnicode 31 0 R +>> +endobj +16 0 obj +<< /Type /XObject +/Subtype /Form +/BBox [0 0 595.28 841.89] +/Length 162 +>> +stream +q +/DeviceRGB cs +0.0 0.0 0.0 scn +/DeviceRGB CS +0.0 0.0 0.0 SCN +1 w +0 J +0 j +[] 0 d +q +0.25 w +/DeviceRGB CS +0.8667 0.8667 0.8667 SCN +48.24 30.0 m +547.04 30.0 l +S +Q +Q + +endstream +endobj +17 0 obj +<< /Type /XObject +/Subtype /Form +/BBox [0 0 595.28 841.89] +/Length 162 +>> +stream +q +/DeviceRGB cs +0.0 0.0 0.0 scn +/DeviceRGB CS +0.0 0.0 0.0 SCN +1 w +0 J +0 j +[] 0 d +q +0.25 w +/DeviceRGB CS +0.8667 0.8667 0.8667 SCN +48.24 30.0 m +547.04 30.0 l +S +Q +Q + +endstream +endobj +18 0 obj +<< /Type /Outlines +/Count 1 +/First 19 0 R +/Last 19 0 R +>> +endobj +19 0 obj +<< /Title <feff004d0065006500630072006f007700610076006500200057006500620053006f0063006b00650074> +/Parent 18 0 R +/Count 0 +/Dest [7 0 R /XYZ 0 841.89 null] +>> +endobj +20 0 obj +<< /Nums [0 << /P (i) +>> 1 << /P (1) +>>] +>> +endobj +21 0 obj +<< /Length1 8112 +/Length 5099 +/Filter [/FlateDecode] +>> +stream +x½YypU¯»uú-Y¶dK-É,Û:lI¾%Û¯ø>e'q˶|ÄÇÙ¡YQi¸Ë±XÌÑ´É "¡Èé%¹¿¢0²©éÜÇ ]u Q©ÌÙX¶Ù²îÅÓ|ÄÊÚ®¢à±¹LaãPZ]:ÔT¶Ýì æ>¸Ç§rlH;nÅÕ\2w¶¤;öZwïî÷°Î=<ËÏ;9<rb8bc'äÌqàÙ²3ëäÃn¢¬ïôÏÊËg +ìé+éÜkö¹ +·¥ÞrûaC<³ýçòâ;ß}pöýyI®weÃ_jÌ>sð£÷#Ó yο`:ÏñU¼Ë>£P:Mfö`<¼¢t0 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1 000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000] +endobj +25 0 obj +<< /Length1 2204 +/Length 1114 +/Filter [/FlateDecode] +>> +stream +xÕUKlU=ofü'ñØ á;?|4MD>AB 6RiâOÔxllC²±ª�ÁøÖ0ͤZÌ]ÙHZÊYIU'1p¹8É?FÛÙd +TM7Ö:vñFÂ@B=dÍ.Ý6§ÊVèĺrILFwØ2¦Yr¨GÊJb¶'+¥&Â>nÙÌÒ`%»-Ì6°þYöÒ?±Ò&Zä"'²ÉÂÖ;$e²O¶Ø_¤ÁuÚ±=Æèe3´Ú3æ]IÖ'Ò²^ +ÛéR"ßH^ î_@é#répÙ².K&*Å :7»_*èÈ6Ñ«ÜÉù-ñ,ä +endstream +endobj +30 0 obj +<< /Type /FontDescriptor +/FontName /f77b96+mplus1mn-regular +/FontFile2 29 0 R +/FontBBox [0 -230 1000 860] +/Flags 4 +/StemV 0 +/ItalicAngle 0.0 +/Ascent 860 +/Descent -140 +/CapHeight 860 +/XHeight 0 +>> +endobj +31 0 obj +<< /Length 1286 +/Filter [/FlateDecode] +>> +stream +xe×ËnÛFá½®BËtHs&Ã@n¼èu{stÔ +ß}ù½¤i Æ/y¾_Ã!uøôôÓÓùtß~»]ês¿ïÇéÜnýíòåVû¾ôÓygì¾êýë+þÖ×|ݶßßîýõé<.ûÝá÷í÷ûí}ÿáÇv)ýÝá×[ë·ÓùeÿáÏOÏÛëç/×ë_ýµïûãîñqßúØú9_ɯ}à´Omûütÿ¸óϼ_ûÞòÚLL½´þv͵ßòù¥ïÇÇ1wýÜþó9ç)eÔÏù6=nÿ·ÒPÒªtN¥§ô*eP)£ÊDT.ÊrU)³ÊBYTVʪ²Q6²«[¢×Èkðy ^#¯Ákä5x¼¯×à5ò¼F^×Èkðy ^#¯Ákä5x¼¯×à5ò¼F^×ÊkñZy-^+¯Åkåµx¼¯×âµòZ¼V^×ÊkñZy-^+¯Åkåµx¼¯×âµòZ¼V^×Éëð:y^'¯Ãëäux¼¯×áuò:¼N^×Éëð:y^'¯Ãëäux¼¯×áuò:¼N^×Ëëñzy=^/¯Çëåõx½¼¯×ãõòz¼^^×Ëëñzy=^/¯Çëåõx½¼¯×ãõòz¼^Þ7ÈðyÞ oÀä x¼o7à ò¼AÞ7ÈðyÞ oÀä x¼o7à ò¼AÞ7ÊñFy#Þ(oÄ»ýÕnóuWùß.I$$*I$ITH¨$$QI"I¢DD%$JI$$*I$ITH¨$$III$$%I$Iê|ÂäMx¼ o7áMò&¼IÞ7Éð&yÞ$oÂäMx¼ o7áMò.xy¼UoÕÄÞªÙ¼M¼MÈoÓlÞÎx;ãâí +¿àíJ¼àíê÷31ÞÎÄx;ãí +¿âíJ¼âíJ¼âí¹âíâ¬x»¯x»¯x+Þ!Ãw¹âB®xb®x+ÞïrÅ;àà2äÍkçÎñJ¼Y³e¼Y7+|Æx oS7+[ÆeÈ×yÞ¢oVûòæµ -ã·é"¯åþR¦W*Ó4XqêC^Jú[(£à®^1»¢y]¡Èk¹}¼YM-x ¥úëÈVæz·ÌþÊ[YEãV¼Y³ÕÙ_}/7×*¯Y%«ê¯eãÓ«q+ýÝ:÷Ý.â¿7JãÈÛE¡/3Y(Y*AW RõÝVJSª¶á:(u@c¡ðD±]a*Õíf)¤9Jñæ)¥o,#Ú\ØZ>MU¡Û\ØjPSã {HSãçMªôj»·{fk°yGám[z*EïsaëÝ>&îÓ«Óúôj%u¼Üî; ¥2^ÆWÃ[Õßήòvú[¾Ïþ2î쯲uú[¢³P:ÙçÂVÌ¡§Õ >¼MÁBi2 .ĦÇÜèÔ!¯áñdÈk¹`¼=oÌqWÞwdJF(L164ÞU Ñ)x0Eú~êñZ?</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">@Path("kitchen") @ApplicationScoped public class HelloKitchen { @GET public String getMenu() { return "good things"; } -}</code></pre> - </div> - </div> - <div class="paragraph"> - <p>Then booting Meecrowave is as easy as launching:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">try (final Meecrowave meecrowave = new Meecrowave().bake()) { +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Then booting Meecrowave is as easy as launching - or reuse <code>org.apache.meecrowave.runner.Cli</code> provided main:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">try (final Meecrowave meecrowave = new Meecrowave().bake()) { new Scanner(System.in).nextLine(); -}</code></pre> - </div> - </div> - <div class="paragraph"> - <p>You should get some output containing:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code>[19:54:55.397][INFO][main][.meecrowave.cxf.CxfCdiAutoSetup] REST Application: / -> org.apache.cxf.cdi.DefaultApplication +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>You should get some output containing:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code class="language-none hljs">[19:54:55.397][INFO][main][.meecrowave.cxf.CxfCdiAutoSetup] REST Application: / -> org.apache.cxf.cdi.DefaultApplication [19:54:55.399][INFO][main][.meecrowave.cxf.CxfCdiAutoSetup] Service URI: /kitchen -> org.app.HelloKitchen -[19:54:55.401][INFO][main][.meecrowave.cxf.CxfCdiAutoSetup] GET /kitchen/ -> String getMenu()</code></pre> - </div> - </div> - <div class="paragraph"> - <p>And you can check it works doing:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code>curl http://localhost:8080/kitchen</code></pre> - </div> - </div> - </div> -</div> -<div class="sect1"> - <h2 id="_you_re_in_a_hurry_use_groovy">Youâre in a hurry? Use groovy!</h2> - <div class="sectionbody"> - <div class="admonitionblock important"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-important" title="Important"></i> </td> - <td class="content"> this feature is supported starting from version 0.3.0 only. </td> - </tr> - </tbody> - </table> - </div> - <div class="paragraph"> - <p>Create a file called <code>hello.groovy</code>:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">@Grab('org.apache.meecrowave:meecrowave-core:0.3.0') +[19:54:55.401][INFO][main][.meecrowave.cxf.CxfCdiAutoSetup] GET /kitchen/ -> String getMenu()</code></pre> +</div> +</div> +<div class="paragraph"> +<p>And you can check it works doing:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code class="language-none hljs">curl http://localhost:8080/kitchen</code></pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_youre_in_a_hurry_use_groovy">You’re in a hurry? Use groovy!</h2> +<div class="sectionbody"> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +this feature is supported starting from version 0.3.0 only. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>Create a file called <code>hello.groovy</code>:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">@Grab('org.apache.meecrowave:meecrowave-core:0.3.0') import org.apache.meecrowave.Meecrowave @@ -149,34 +200,45 @@ class Hello { } } -new Meecrowave().bake().await()</code></pre> - </div> - </div> - <div class="paragraph"> - <p>then</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">groovy hello.groovy</code></pre> - </div> - </div> - <div class="paragraph"> - <p>Finally you can test it:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">curl http://localhost:8080/hello</code></pre> - </div> - </div> - </div> -</div> -<div class="sect1"> - <h2 id="_sample">Sample</h2> - <div class="sectionbody"> - <div class="paragraph"> - <p><a href="https://github.com/apache/openwebbeans-meecrowave-examples" class="bare">https://github.com/apache/openwebbeans-meecrowave-examples</a> contains ready to use examples using meecrowave.</p> - </div> - </div> +new Meecrowave().bake().await()</code></pre> +</div> +</div> +<div class="paragraph"> +<p>then</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">groovy hello.groovy</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Finally you can test it:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="bash" class="language-bash hljs">curl http://localhost:8080/hello</code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_and_my_war">And my war?</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>See <a href="meecrowave-core/deploy-webapp.html">How to deploy a war</a> to see how to use meecrowave to deploy an existing war.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_sample">Sample</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p><a href="https://github.com/apache/openwebbeans-meecrowave-examples" class="bare">https://github.com/apache/openwebbeans-meecrowave-examples</a> contains ready to use examples using meecrowave.</p> +</div> +<div class="paragraph"> +<p>You can also find more information on our <a href="howto.html">How To</a> page.</p> +</div> +</div> </div> </section><!--//doc-section--> @@ -204,8 +266,8 @@ new Meecrowave().bake().await()</code></ <footer class="footer text-center"> <div class="container"> <div class="row"> - <p >Copyright © 2016 - <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. + <p >Copyright © 2016-2020 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. </p> </div> </div> @@ -220,10 +282,13 @@ new Meecrowave().bake().await()</code></ <script type="text/javascript" src="/meecrowave/assets/plugins/jquery-1.12.3.min.js"></script> <script type="text/javascript" src="/meecrowave/assets/plugins/bootstrap/js/bootstrap.min.js"></script> <script type="text/javascript" src="/meecrowave/assets/plugins/jquery-match-height/jquery.matchHeight-min.js"></script> - <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/highlight.min.js"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js" integrity="sha256-aYTdUrn6Ow1DDgh5JTc3aDGnnju48y/1c8s1dgkYPQ8=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/java.min.js" integrity="sha256-21Z1xKC/FsaqN9z9jIER9xiX4XbV5buFEVdkZvsfBIc=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/groovy.min.js" integrity="sha256-0B+Ps1zCncLC5JIOQ+MtIhI/UhbJkYbxWsJowD3c+tk=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/shell.min.js" integrity="sha256-nwOM3xEc6CFfrPNDN1upX+5ynjWKAXsg+bW63SSzte0=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/bash.min.js" integrity="sha256-zXrlim8wsIvcEFjsD3THiAfTvtPZifqx8q0rxegiWQc=" crossorigin="anonymous"></script> <script type="text/javascript" src="/meecrowave/assets/js/main.js?version=1"></script> </body> </html> - Modified: websites/production/openwebbeans/content/meecrowave/testing/index.html ============================================================================== --- websites/production/openwebbeans/content/meecrowave/testing/index.html (original) +++ websites/production/openwebbeans/content/meecrowave/testing/index.html Thu Aug 5 13:23:26 2021 @@ -18,7 +18,7 @@ <link rel="stylesheet" href="/meecrowave/assets/plugins/font-awesome/css/font-awesome.min.css"> <link rel="stylesheet" href="/meecrowave/assets/plugins/elegant_font/css/style.css?version=1"> <!-- highlighting --> - <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/idea.min.css"> + <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/styles/idea.min.css" integrity="sha256-rYB1c4yTU5UJB//rod7DtBo1JM6HAme/9Vd+VesFG2U=" crossorigin="anonymous" /> <!-- Theme CSS --> <link id="theme-style" rel="stylesheet" href="/meecrowave/assets/css/styles.css"> @@ -66,32 +66,35 @@ <section class="doc-section"> - <div class="sect1"> - <h2 id="_junit">JUnit</h2> - <div class="sectionbody"> - <div class="paragraph"> - <p>Coordinates:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><dependency> + <div class="sect1"> +<h2 id="_junit">JUnit</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Coordinates:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="xml" class="language-xml hljs"><dependency> <groupId>org.apache.meecrowave</groupId> <artifactId>meecrowave-junit</artifactId> <version>${meecrowave.version}</version> -</dependency></code></pre> - </div> - </div> - <div class="sect2"> - <h3 id="_rules_and_runners">Rules and Runners</h3> - <div class="paragraph"> - <p>Meecrowave provides two flavors of JUnit integration: standalone or runners/rules. The standalone one will ensure there is a single container for the whole JVM. It also fits standalone environments where you want to control the lifecycle. The other one will follow the JUnit lifecycle (per class or test rule).</p> - </div> - <div class="paragraph"> - <p>Here how to use the standalone flavor:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">@RunWith(MonoMeecrowave.Runner.class) + <scope>test</scope> +</dependency></code></pre> +</div> +</div> +<div class="sect2"> +<h3 id="_rules_and_runners">Rules and Runners</h3> +<div class="paragraph"> +<p>Meecrowave provides two flavors of JUnit integration: standalone or runners/rules. The standalone one will +ensure there is a single container for the whole JVM. It also fits standalone environments where you want to control the lifecycle. +The other one will follow the JUnit lifecycle (per class or test rule).</p> +</div> +<div class="paragraph"> +<p>Here how to use the standalone flavor:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">@RunWith(MonoMeecrowave.Runner.class) public class MonoMeecrowaveRuleTest { /* or @ClassRule @@ -105,21 +108,23 @@ public class MonoMeecrowaveRuleTest { public void test() throws IOException { // use "http://localhost:" + config.getHttpPort() } -}</code></pre> - </div> - </div> - <div class="paragraph"> - <p>When using the standalone, <code>@MonoMeecrowave.Runner.ConfigurationInject</code> allows to still access the configuration and random HTTP port.</p> - </div> - <div class="paragraph"> - <p>For the configuration, the standalone runner will use a global configuration shared by all tests. To load it it will use a standard <code>ServiceLoader</code> on type <code>org.apache.meecrowave.Meecrowave$ConfigurationCustomizer</code>.</p> - </div> - <div class="paragraph"> - <p>And here is the one bound to the JUnit lifecycle</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">public class MeecrowaveRuleTest { +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>When using the standalone, <code>@MonoMeecrowave.Runner.ConfigurationInject</code> allows to still +access the configuration and random HTTP port.</p> +</div> +<div class="paragraph"> +<p>For the configuration, the standalone runner will use a global configuration shared by all tests. To load it +it will use a standard <code>ServiceLoader</code> on type <code>org.apache.meecrowave.Meecrowave$ConfigurationCustomizer</code>.</p> +</div> +<div class="paragraph"> +<p>And here is the one bound to the JUnit lifecycle</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">public class MeecrowaveRuleTest { @ClassRule // started once for the class, @Rule would be per method public static final MeecrowaveRule RULE = new MeecrowaveRule(); @@ -127,24 +132,28 @@ public class MonoMeecrowaveRuleTest { public void test() throws IOException { // use "http://localhost:" + RULE.getConfiguration().getHttpPort() } -}</code></pre> - </div> - </div> - <div class="paragraph"> - <p>As usual with JUnit rules, you can decide whereas the Meecrowave instance is bound to the entire test class or a method by using @ClassRule or @Rule.</p> - </div> - </div> - <div class="sect2"> - <h3 id="_junit_5">JUnit 5</h3> - <div class="paragraph"> - <p>JUnit 5 integrates a new <code>Extension</code> system. It is not yet very well supported by IDEs but you can already use it with Gradle and Maven (see <a href="http://junit.org/junit5/docs/current/user-guide/#running-tests" class="bare">http://junit.org/junit5/docs/current/user-guide/#running-tests</a>).</p> - </div> - <div class="paragraph"> - <p>The usage has two annotations: <code>@MeecrowaveConfig</code> which remaps most of the configuration of Meecrowave and <code>@MonoMeecrowaveConfig</code> which is close to <code>MonoMeecrowave.Runner</code> in term of usage.</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">@MeecrowaveConfig /*(some config)*/ +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>As usual with JUnit rules, you can decide whereas the Meecrowave instance is bound to the entire test class +or a method by using @ClassRule or @Rule.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_junit_5">JUnit 5</h3> +<div class="paragraph"> +<p>JUnit 5 integrates a new <code>Extension</code> system. It is not yet very well supported by IDEs but you can already use it with +Gradle and Maven (see <a href="http://junit.org/junit5/docs/current/user-guide/#running-tests" class="bare">http://junit.org/junit5/docs/current/user-guide/#running-tests</a>).</p> +</div> +<div class="paragraph"> +<p>The usage has two annotations: <code>@MeecrowaveConfig</code> which remaps most of the configuration of Meecrowave and <code>@MonoMeecrowaveConfig</code> +which is close to <code>MonoMeecrowave.Runner</code> in term of usage.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">@MeecrowaveConfig /*(some config)*/ +@TestInstance(PER_CLASS) public class MeecrowaveConfigTest { @ConfigurationInject private Meecrowave.Builder config; @@ -154,62 +163,83 @@ public class MeecrowaveConfigTest { final String base = "http://localhost:" + config.getHttpPort(); // asserts } -}</code></pre> - </div> - </div> - <div class="paragraph"> - <p>Or</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">@MonoMeecrowaveConfig +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Or</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="java" class="language-java hljs">@MonoMeecrowaveConfig public class MeecrowaveConfigTest { // ... -}</code></pre> - </div> - </div> - <div class="admonitionblock tip"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> - <td class="content"> JUnit 5 integration provides an <code>@AfterFirstInjection</code> method and <code>@AfterLastTest</code> which can be used to setup/reset some environment using injections once for a set of test methods. The methods must not have any parameter. </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> -</div> -<div class="sect1"> - <h2 id="_arquillian_container">Arquillian Container</h2> - <div class="sectionbody"> - <div class="paragraph"> - <p>Container dependency:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><dependency> +}</code></pre> +</div> +</div> +<div class="admonitionblock tip"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-tip" title="Tip"></i> +</td> +<td class="content"> +JUnit 5 integration provides an <code>@AfterFirstInjection</code> method and <code>@AfterLastTest</code> +which can be used to setup/reset some environment using injections once for a set of test methods. +The methods must not have any parameter. +</td> +</tr> +</table> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-important" title="Important"></i> +</td> +<td class="content"> +when not using <code>@TestInstance(PER_CLASS)</code>, container is started per test method. Generally speaking you should try to align the scope of your container to the scope of validity of your beans. +For a library it is generally the class (so <code>@MeecrowaveConfig @TestInstance(PER_CLASS)</code>) and for an application the whole test set (so <code>@MonoMeecrowaveConfig</code>). +Note that using an <code>Extension</code> you can adjust mocks or spy beans dynamically without a container restart. +Having the longest life time for the container will make your test suite faster to execute. +</td> +</tr> +</table> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_arquillian_container">Arquillian Container</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Container dependency:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="xml" class="language-xml hljs"><dependency> <groupId>org.apache.meecrowave</groupId> <artifactId>meecrowave-arquillian</artifactId> <version>${meecrowave.version}</version> -</dependency></code></pre> - </div> - </div> - <div class="paragraph"> - <p>For the configuration check <a href="/meecrowave/meecrowave-core/configuration.html">Core configuration</a>.</p> - </div> - <div class="paragraph"> - <p>Here is a sample:</p> - </div> - <div class="listingblock"> - <div class="content"> - <pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml"><?xml version="1.0" encoding="UTF-8"?> + <scope>test</scope> +</dependency></code></pre> +</div> +</div> +<div class="paragraph"> +<p>For the configuration check <a href="/meecrowave/meecrowave-core/configuration.html">Core configuration</a>.</p> +</div> +<div class="paragraph"> +<p>Here is a sample:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlightjs highlight"><code data-lang="xml" class="language-xml hljs"><?xml version="1.0" encoding="UTF-8"?> <arquillian xmlns="http://jboss.org/schema/arquillian" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> <container qualifier="meecrowave" default="true"> <configuration> + <property name="antiResourceLocking">false</property> <property name="arquillianProtocol">Servlet 3.1</property> <property name="cdiConversation">false</property> <property name="clientAuth"></property> @@ -274,10 +304,11 @@ public class MeecrowaveConfigTest { <property name="ssl">false</property> <property name="sslProtocol"></property> <property name="stopPort">-1</property> - <property name="tempDir">/var/folders/cc/5g6j5x3x74154g2rmmtpz_4w0000gn/T/meecrowave_184680423404202</property> + <property name="tempDir">/tmp/meecrowave_16133794495335</property> <property name="tomcatAccessLogPattern"></property> <property name="tomcatAutoSetup">true</property> <property name="tomcatFilter"></property> + <property name="tomcatJspDevelopment">false</property> <property name="tomcatNoJmx">true</property> <property name="tomcatScanning">true</property> <property name="tomcatWrapLoader">true</property> @@ -294,10 +325,10 @@ public class MeecrowaveConfigTest { <property name="webXml"></property> </configuration> </container> -</arquillian></code></pre> - </div> - </div> - </div> +</arquillian></code></pre> +</div> +</div> +</div> </div> </section><!--//doc-section--> @@ -325,8 +356,8 @@ public class MeecrowaveConfigTest { <footer class="footer text-center"> <div class="container"> <div class="row"> - <p >Copyright © 2016 - <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. + <p >Copyright © 2016-2020 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved. </p> </div> </div> @@ -341,10 +372,13 @@ public class MeecrowaveConfigTest { <script type="text/javascript" src="/meecrowave/assets/plugins/jquery-1.12.3.min.js"></script> <script type="text/javascript" src="/meecrowave/assets/plugins/bootstrap/js/bootstrap.min.js"></script> <script type="text/javascript" src="/meecrowave/assets/plugins/jquery-match-height/jquery.matchHeight-min.js"></script> - <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/highlight.min.js"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js" integrity="sha256-aYTdUrn6Ow1DDgh5JTc3aDGnnju48y/1c8s1dgkYPQ8=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/java.min.js" integrity="sha256-21Z1xKC/FsaqN9z9jIER9xiX4XbV5buFEVdkZvsfBIc=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/groovy.min.js" integrity="sha256-0B+Ps1zCncLC5JIOQ+MtIhI/UhbJkYbxWsJowD3c+tk=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/shell.min.js" integrity="sha256-nwOM3xEc6CFfrPNDN1upX+5ynjWKAXsg+bW63SSzte0=" crossorigin="anonymous"></script> + <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/languages/bash.min.js" integrity="sha256-zXrlim8wsIvcEFjsD3THiAfTvtPZifqx8q0rxegiWQc=" crossorigin="anonymous"></script> <script type="text/javascript" src="/meecrowave/assets/js/main.js?version=1"></script> </body> </html> - Modified: websites/production/openwebbeans/content/meecrowave/testing/index.pdf ============================================================================== Binary files - no diff available.