Modified: tomee/site/trunk/content/ng/advanced/index.pdf URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/ng/advanced/index.pdf?rev=1757884&r1=1757883&r2=1757884&view=diff ============================================================================== --- tomee/site/trunk/content/ng/advanced/index.pdf (original) +++ tomee/site/trunk/content/ng/advanced/index.pdf Fri Aug 26 15:39:57 2016 @@ -4,8 +4,8 @@ << /Title (Advanced) /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20160722143100+02'00') -/ModDate (D:20160722143100+02'00') +/CreationDate (D:20160826172037+02'00') +/ModDate (D:20160826172037+02'00') >> endobj 2 0 obj @@ -77,7 +77,7 @@ endobj endobj 8 0 obj << /Type /Font -/BaseFont /AAAABI+NotoSerif +/BaseFont /AAAABL+NotoSerif /Subtype /TrueType /FontDescriptor 22 0 R /FirstChar 32 @@ -245,7 +245,7 @@ endobj endobj 12 0 obj << /Type /Font -/BaseFont /AAAABJ+mplus1mn-regular +/BaseFont /AAAABM+mplus1mn-regular /Subtype /TrueType /FontDescriptor 26 0 R /FirstChar 32 @@ -347,27 +347,38 @@ endobj endobj 21 0 obj << /Length1 6680 -/Length 4145 +/Length 4146 /Filter [/FlateDecode] >> stream -xYP[ç>ÿ½W@ t B ÄC Oñ2/6Á óá8^×M7ï´NÒ$õ8iâ°®'v:Nd36iw§íffÓ<:ÝÉf3q3l:ãIà²ç^]@&$^æê¿ÿùï=çû¿sþsþ{ -p&K'§¦~+ $}z~-Ì=qÇxý -@êÀ|d2X_W[®Â{Ì,DOÜûûÃØÿÎÌL(úÒ9ì¿ý à%¨&óØßÀ>ÛÓo/¿ñê½Ç2r±?¾YÒ¯1±;ö'¡¿ubÿ= ꦳Ïý ûP'/@^Já[rszû5<Ql÷y"îĤdeJ*@Z:d¨2³Ô£ÑææîÛmïú¿ãÞ¿ÿÀ)nÉ©n©ÚHkkä[oȱs ôy N³ÜK¹Ò´1¿Ðå¥ë3M¥£jIækw=V¹¥Á£³ºõõýÎïÐØ<Æ©Bïv0îj½§L®6¹LG¿,q¸õ ÏåúÖgä23 `¨ªðRÎr©RRÆ|¶§¿®2Úµ»13Óh×híFÕÞþ©"«T²®"s%ßVÒ+»Rià½Oñ\\ °ãôdJ©Ê¹U'ÑÑb×UQh'´´6Ý -_³K2ëóõä·O?$åäê´¯ÛO&Èû.±®4YFVnú=äßÉGoeÛÓ*@r·yåËd¶8GL¤¨? ¯~Âojnëqpç»1Ö²`2 $6dWبâ2dÍ6ÚhH3dÈ5rOY³M#QÎ)¿¼ªÉ÷Ø´<×F®8ª`Ô%6î2ùKkmüaîñ@BnþD`{|¿óÚhWª@»>msÑ£{ÌgóT&ÞÜÝK_Õòîß kÞ|íæÑcÓðÆ5Ô6ßkÕRk£Ø¼Ç±,¡G_·Véb×ܹ¸;²nÊM\Ml]§?üêÑ®J§vWºRäÚ©%LD©ÖÑ|/¦®èj¥ Âmwÿõ¯:rÿÍwâRpôþ ç_]9ÜX{KC>ÛqÛÈ¡û&*Z¿÷ª¸c®ÁÛÙpüPåÙSÕvÉ<²pçÀðÝGÊú|[ÚmOÀå¹¥ÃW`êê >v´ÇjA¿¾üb~3ÝL++ 3b~-!Ô;<wöÍ;ì¼{^µzÌL"zóïRU¡×ö»btð¾d %aÑ/úëhË%òòUOíçPäú`í³-ñîr>Õ1rfÐQ¬ñôK*gäOÑÚ]'m¼?rª»À1¸ÚBÛã¤o>V'¬µðÖuÆÂ÷Qeñ<¸æè Þ8æmgmÙÈçÁ«õ÷(±özC w¶éoÔ¶[#îÐc÷Ùº²|)÷1ÆÖµnhZtüïÇ?M*ê ñ#Eþ£ëRÆX?J7Ôõ9Ü.¿=Ë4pnbó¯%ÕùÊÀs%myæÞO_IOVÝâ3!^â]Ã<h Fo,ï²=!M%IeN/Íc'b wà ÌZÕÑ¡Úñ®Ú¬äî©üÊàL%krµ»s¼.táhW{p®A«mëm:âÉÍõ)óCoßëÓ8=K~TîûÆÃŧ½Óç»çÄà¿»´TS³ôÌüÂÓóèûc¸&D-Ûkb5äWVé¿ -¨¦ðÛOþc°át¸aôpªÙWQ{¤©àϹߢ*ú®ªþûoþèÒï¬Î©èqµºFSéüÕ»ÞýãÁú¤¢\cKµQð/Úe^øªßð]ÆP¨ fñ<"ò$¢bxrÒ¸g²äêÚ31ë²hbq²ÆYÎ5"]ó½¾qOîñ÷n~iïX9¿Í\yiaGúeaìÃ1¦"n÷Ò3sï¾ÃK¿<Éy¦H¾Tf@ 455G|.Á: å\>HÞÊ®4E~v[ãõw'/.Ön(K×R»ë°¿&]Szèýé¯~Þ{çxžqèI¾÷äókcK?)Ë.ræJ5úÖº"~bR ïZ ÙÚM.§+¾ÔÜ L!;©ç6Ï öÅËÇî8¸èÓåX=¦d} ¹´¶ ¸k|òYáÑ{ÇË2+Øܼ}-7ß7ѸÜ> ð~ÃÊG¢ß²¡ëîÍ¡-¦©=Õ×Ï'ÞR²Kó/¬§cMË.Ögdè³sÙt!9Qw!ûÀƱ|%i(pètlu4½õ!§"?EûYP´ðImÇ/±½ÖÉźùG )UZ½ âéúìì޶Ц3þ/×ï~~Á4 ý`¾MÀ@:¿b fKj\û×Ìܵ½b5DØÃh6___¼¯«÷}§¡xúÔb~Ønwr\Úvðï+pRãïhîbuv±ÉnÔ*ôM]òC]4}[ï£ûöMä.¨}µ C긮ïpu6^ ê´@ÅzM»Wv«oíÁGg¹\aÔo|3m¦²E/W'¨=q;È]çÉ|ó¬þy~ÃtÒ¶mí)ë==bW#h÷ãlWÀÛrÄó5 ¿ö&l±dEl)|%©B¸ËYyDõo×#Ïlü¿OøßM Î7×Õuô@îÐê(3wûûßzqvó}o>¸üìj]Ýê³ËËWVÜî+¼=-§bÖÐ^øùrsòßY¸ãÈ#û£~±§ 3;¥CNQ´ÍwRwC2¹[Aè?í\çv"tÙ2,yòWUyB]®u0GR%Þ¯MÖq.,d?Y±Tì1¢©ó?î:´Ö¬P{5--dÚÚ*u uV}«wåïm½cw+[iÎì(i ¹wâkóòf¯º;õ+սۺ½»ºg»N ;´fkzVÅ ·j F§®ð÷¬vV ïj_ê,ìj<\ $¹©7ÚQà>ú°J[Õ[i©b+ÇZ-Ú²fKa£56v}-óí :gsaµoz9»´®À\ã°ææèh8x¢·ñ·®SOIZøw"VÕL±àa*ÇT93 ÜEéM^6¹¸¬2»{©ÍxÁ4o,I#IÜçÃré!iRÄà¿mºÒ§3Îöl¬nvÏN ~;Æô_¨{«j|¾ºÉcLàîEÌ£å½ÿ°Æ|É,ë÷6ëuü.ó÷5a7½în³¤Ø&%.Úôð«Ë1t¬;j 74Þ7r\ûÖ aÛ(ŪÎÐÑ|TexqV¸³¡#Á×9¯G.¿'97GÅÈ$ê<½ò¼"Á×BÏÞ¸y{>IoOôçÃfTs§ -:4Y]Mä[K|{Ú¸Bãßbxð NúßßQÆP}PÐf(º2ý×´Ù*4¡H'úäªFWjÔ¥p7.}nâþò÷¹ MJ¾Ðz¼ÒqEVFªD*ISkßd6bì÷kO¿¦Vdô:7®Po۸ç9ÔÜeÓðP§FÓÜÓg¢æb|bþ8øÝØÑ*%SxûÜqÜô³R]QÎý[ACKÿÑ»§Ï<²ÐÃUj %÷ºÔë%<¢Ôk³i¢YsWr.eü1/M>2×RôÎЧYF±ÍüycoÆzÆ¿Í;â"ÏQg -óìÆS¶)wõ¿¸Ø?Qíj³Pï ,7ëtÍËÇZtºcâ%ÔÁqx6H\!ÿERߣޣsé(ýúSÍg.HR%cG$Òé£Ò)eÙU¹Bû9ÞUxòoÇkpòúä^o@·tºC0Á|ÉK gÎ@ùLô§pÛcL£>*ê°Sá© = 5Ô0 {´ôkÐD_Qê 0KT`g¹ô ³ §>)þ»ü¾ÍË ®ëN¸±÷c° g!^Éq -ûó yÿF$y\âDëb-ý&Q@%J(FÂPónàÄ>gáníéi Pp[1 òû¨a4÷ĵ·?¾çŬS1S[aïûmÅtPA@@%îB«1ó7C´B´C'tA^è~ îgaÁ(ÿõ<2±37» 0|æÿ!)à>QNÐÚD92ø'QNa<ü\ÓçQNãZø³(g@AÔ¢1r ¤(4r)¤î`A>YïAyHË!¼-ÊåPLþ*Ê@EmÛJ"ªD+0fúE¹Æ¨ïòDÐQïòD¨£¸/:Ú-Ê åÉ`£åÉ0JÿZ+¡Ñr%0m¾ÈÒÚòìôL-w³Èô|m_´±óól?´Âö VBËÇCS6ðA` a¦a¢èærp`¹(Ç«V |BØkE^5¢dÛ¾§V^Ûê:¿S`ëD#lhy6ݨ''a¬ ûBÓ«óÁeá±iXE AXî,F¢kKy!8=»8ÍZÙ8-]¨aQд¨cð±iÔ·¿,¾>²ûÙúf$ÐòÊld-³9*ØÕZ~`xs,aCJ*ðjfñ8Ð^Âk -ªgWØ ]N Ësl$Ï|ÉY¨ Q´DBÂae\y_CúWx;{o -ÌN/²ÑPpa§ò>] P×BS0dWgf£1¢Ð;±Æî¨SÛE 9®¢J4{Lð2&Ð<»©ýÀÌD£Kn»}22²MÛ&#ö%;Ø PâónÌ&vxDÐbC»Úù/á¹(úÆ.j¾õÖ[mâ´Õ+ÑÕ©ÙÈÍ· -6Ôr3ê]Ý+([EëC³¡Ådluq*´ÌFgBlãRpq¤ÝÀrsè,j ¡Þ!Ç)!&yfvÑ^ïõn~¦%{c¸á¸9¶Èò´}>bÅÞÙîkîîo¶ò(öo0Ϊ 5/#§vd5Þú -J:1ð|Xºq5㢬Cì_ Dá)Rô%I©û(ÒØz,s»Åú 7ä+ÛÂñÿÂ2 +xYP[ç>ÿ½W@ t B @ Oñ2/lHÌCXcâxS7uܼÓ:IÔã¤ÃzºlÚé8mÍdºIww:Ùnf6Í£Ó:Ùl67ɦ3.{îÕåaBÒée®þûÿÞs¾ÿ;ç?ç¿ H`qr>´x*þ5J® Ì©¹Õ(÷ä/âõ« és±ÉPC}] @¦ +ï90=¿|ò¾ïÈØÆþw¦§#¡ôÿÎbÿìÍN.B Ãþ:öÙÞ{å×î;ýñÅØÒ2ý:sû·cb!4ùÓá³Nì¿ áP]85÷Üo ò°Õxàñ¤à¥þêAnîR@o]2F'êíÜ#ORìz"9%U Yªì5äæi´ù û붷ýßpïß~à7åTTÅÏMm$ÎÕUòö7d)ÂØ9 úMÉ+<§ËYé£\JÚXXìòÑ Ä¡ÒQu$ûõ»^«ÖÜÚèÕY=ú¶çCwjl^c8¨Ð{L£§Fï«M.Ó±¯Ê½"Ès¹¶ù9¹Ì BÜU>ÊY©£²UJÊXh£2öô×TF»Vc7fgíݨÚÛ?]âbJÖUb®æÛjziG`P* ¼÷)~ÂK«PvLI²U98077q-v]UÅvBÛYIËh¹Ø¤ð·Ø¹³®´PE~óù]J^a¹N»ñýT¼ÿëÊeåägÞKþ|üv®=£Ê ¦ù*W¿JeKóÁàDFúCòÆ'¦ö^wNรi 1!&Â@biHv*#.CÑl£C¶\#÷V´Ø4å¬ò««B¯MËsaäc +F]Ödã.O¹Ì¨Öæ-æ&å»ô§ëÜÃüý×¢]©íú¶ÌDî1m,TRÙ8zs?q/}UË»#ªµú +µW4F¯MÃ×PÚBUK=¡µzZjpgDò>Ç +°}ÝêÖ%%®¹ rqgd=ÓêÎO + +\Ml^§?üЮªj§vVV»RäÚ©%LD©ÖÑ|/ÃOUu·ÑÑö{~ÌV}`Ìæ?y)4úÀóP@]=ÜTwKc!ÛyÛÈáû'ªÚ¾÷¢ª´s¶Ñ×ÕxâpõÙÓ5Á¿É<2×àð=G+¬ü[:loÐå½¥Ó_dêî =~ÌÍcµ __A~1¿n¦ÇFY ¿ê];ûÆvÞ=¯Y½æ,&½yw©ªØgûtð¾d%QÑ/úÍëhË%òòuOíçPäúpõÕ³»Ýå<rºsäÌ%!£YÓ/«±<Mkw´þÁÈé"ÇÐJ+mß%}+úÌñzaE7¯3f ¼·*GàÅ5GgñÆ1l9k+èÌF>·^m ¼GµoÈi+¾óÐJ»þF]E94âÜÕ5vß]©«(r°l}ûÆæ!Çÿ~òÓNb?Z8Ö´&e £ÔyC}¿ÃÓæ +ØsLç&6þ\VS¨>_Ö^U`î;5øÌEôû¿ ñï*æA+4ñxyÇlíY *©L*súh;#L¸o`VÝÇ.DêÆ»ërR¸_¦ó+'2¬RxÈÕ®ñúÈ cn®îàl£VÛ4Û×|Ôï Qæ߹ϯq(y*6©Ü÷GJN{«ÀïïÁ5w)6{i±¶vñÙ¹ùgæªÑ÷ÇqM< <[¶ÖÄ>k ɯvë¿ +¨æèÛ[ZNý}¨ñhãèt³¿ªîhsÑ=ú1MU~軪ï¿õ£K¼«&¯ª×ÕæqLåsWï~ï÷RJò5FÁ¿hy]à«a'Âw|@¡vmÄKDòÈIáÉÉàÍ«ëÌTW'¬ÏI¡iÆÉ*g98ÛtÍõùǽù'>¸ù¥½S`åüsåÅ ±/$y<Ïξ÷N/ýò$ç" RÐ<ÖôLj1ð¹ëH3~*¼[5dý춦ëïM^\¨ÛRîÅ×@m¦2¯üð9ú³_ý¼ï®ñª¯Ö;zó,ÑBß©VÇ2][âÌkômõ%üŤ@ß)µ@²µ +\N×îR'rX² dì¤ß8'$Ø^ª»kðà_gõRõUæòº¢4bà®ñÉ#(fQEGï¯È.®bóË +Òôu¶üBÿDÓjhøÂû +µ~Ë r¬»7¶¦²öTß hxWHÉB"Í¿¸5-·T¥/ÍÍ+e3 äDÝì+ëO&ò¤±È¡KIÑ9°MMÕ9ÐôæGüíç@)ÒÂ'!´½{íµN.ÖÏ=2bHsëôfêËrsËxÛBɾZ»ç y[ÈtèsômÒõ5Û0[RãÂÜ¿a殫!ÂF³ñÒîåøå[ñºjqßÄx:´Û¢>µ¶Úí±üû +ÔøÆ»Z£§T[êA²´ +}s÷£òp·7+CßÞ7âè¹=h¹jg]ã¡jõ®®ÿHM.^ êµÚ®ì6'ßÚCÍpùÂ4¨öO·*|\Ã.AõèÉÜA¾è8Oæ3gÍ·Ìó[¦±Å¨tjl[ïHEß#v5q?Îu}G=yß úk`oÂÈAVÄÆWY.¸%»Ò2±þåzìùSMÿ÷)ÿ»¡Ðùg»»(ÐZeæ®qÿÓúÀÛá"Îm¹ÿâÏÔׯ<_Yòx®ðö´YE{YàsÈÍɧfäà£ì»ÚbúÅ@Îl9E<Ò6ÞMß ÉhöN¡ÿ°·p][Ðe˲È_³ºº\ç` ¤þJ,$¼_1á\0YÈ~ s©ÙcDSç7~&ÝqhY¡*õn^϶µW9êëú,9?V»Û¿µõy=mlµ9{¨³¬m44næ^Ù¯QÌËQ¾ênׯ]¬îÝÖïÝÕ=×}zØ¡5[3sª|îÁZºv"лÒUì>p¨c±«¸»mèHn äæ¾åÎ"ϱGTZw_µÅͦVµY´-b·£56u üsÅ:gKq*[^_d®uXóôL4<ÙWxÍש§%ü; «j¶Xð0cÏGÜÎl!wçPzM-¨ÎíYl7^0ËÒÇH +÷Åа\zX$1n¦®ôëÅ3½ë+=3¨ß1ý!êÄÞªº;_Ýä1Æ-x{ 3Fçàheßß Å²+|Í¡¿Çü}MØM¯yÚ-i¶ÇfÈ'6¼üêrº-@ÖuÂï9®ýkF°mbÕVgéh>BÜY>ܦoo(eÄHð5ENÆçËïMÍÏS12º@¯<¯Hò7§ò·'î^â^HÑàÛýE0èpfÕÜé¢C¦î&ò`-Ã%¾=_¡ÏñoO <ø'ýoÄÃï((È>(h³DÝ þÝ)Ú\DT¢Êý-JrU£+7êÒ¸¾0qzûB&%_j½¾dé¸"'+]"d¨5©o1Í?1
4ÎG&I@S'ÀL1úëW¨7Ï_N` *3jî²iøPFÓÒÛo¢f|bþ8ø=ØÑ*%SxûÜñ®é1g¥º2£.û·¢ÆÖc÷É~t¾#;«ÔÊîu©Ï+KzT©×æ0Òd³æî$ä\Ê4^|t¶µ4=ä;¤ï`-Åóç}íëÀï3L§Î0æ9Ø[Ãö°§f"PZ¨ñÛ-Ô»ñ®%>8x¼U§k=.~YPB=WaÉò_T9õ=ê}:^¦Aß`jÌIºdLò¨d]Ú(}Lú¯2¥,(»*WÈq_ çÓ» +OþíxÎQX\ÂëuèCs&À"yôÌ2þ c{iãÔà¦;Ýü:ZÙP+±@-sQ¸GK¿Íô¥Þ³DvæiK?9rêCóßEä÷o\P r]\OÒ½$,<éð2HöSØgOÉCü7"É'z\héÿ(ù*YB1¢÷q[Ô'7ñ9ÿp[oo4ÛL`ßO £¹'¯½ð=/aJÚBtßo;,4d + + J ªqZ¿Z¡ Ú¡º zá ôA?Àq?3#pFù¯?xí¹Ùá3÷öø I÷rÖ~$Ê)Á?r +ãáç¢F<¯r×ÂE9 +¢å¨AK ¸D¹t¤YK!} +I\¼GÍäaQ.lò(C)ù³(Oµe+ J¨2Q®Àå +£¾+ÊAG½/ʡ⶿$êh(OzzX§~X§Â(ýkQ®RF'Ê0È´ûc«ñ©ée¶ÒQQɶÅbSs¶caÒÆ6ÍͱýüÐÛYÄODÂ6ðC aâ0S0 ËèæJp`¹¨Ä«6¡|"Øë^5¡dÛþí§^Ûê:¿a°õÄcì@$> Ô³'a¬Eû#S+s¡¸ðج ÂÄ»c±åÕE<Ybì.-ݨaAд¨æñ±)Ô·¿,¾>²ûÙúv$ÁH|i&¶ÀVØUìÊ4F-?°C¼9É°!%UxµÓMxè*ã5 + +Õ3Kl]ÂùP|Ew3¿Ëä@TÏe´B"Ââ0²®¼o ýk¼ÿ:{o,ÍL-°ËÐü>O7ä}º @ ®ùæÐr]YYXÆ5DÂìÄ*»6¼Km3>´,ÌqÕLP±Ç/caͳû ïfzyyÑc·OÆÂÛ@±m26o_´#]Åe|ÞÙÄ Zl¨cS ÇñE<DßØEÍ·Þz«m^ ziy%<Û£ùVáÏZnF½£{ e+hc¨kf2²°,#qvy:Â6-&±GÊÙ¬´90Î ê]ây 1Éó0-°ÓöBx_¢wó3å(ÙÃ|ïcH@`ŧìs Kö®KÏ@G±ÿ|C»¬ÚPs9µ#«»/¡¤Ïu¡Y.JÁ:$þBÞ¦?ùhZý_¨d¹ÆÞüÃãÙ[-ÖGHº!DÙÿa2 endstream endobj 22 0 obj << /Type /FontDescriptor -/FontName /AAAABI+NotoSerif +/FontName /AAAABL+NotoSerif /FontFile2 21 0 R /FontBBox [-212 -250 1246 1047] /Flags 6 @@ -398,23 +409,22 @@ endobj /Filter [/FlateDecode] >> stream -xV}L[×?÷lóm/SóÌ#à/ðc»×ÄÌ1ñáÁTS5ê4Óº)ª6Ò*þ^h¦òÇ6eÓþ"-j§nYÖÑj }´Óv]¤ûüHÉ6õõ¡{ï9çó;¿sÞ}× "h\x5:IhtúF´Ü ªéÙ©w[ûVPþäÕÙ hDzFÖ {}Øø\j¹Æ%y uõÎx<ÙFý/¨×ÍEÄg ¤ -ê?<b±¶zßú&êM¨J,,¦È:Óúê®ùÈ\ìîþ õ_`¾.¶äËqßHÆüß jÔ]¨§Ós%7-¯¡ `bÑ)å þ÷q õ 2Âÿÿ`>u_9ØI, @&ÏË/¢âÏ ígø0ý#»Ì=äZ PÊIlå+µrÿbÙ(¾Õ4zsòf¹ù¶k¹÷¨hÕ-û æP -ç¨çj¥ ÍÚ¢rµõ»Óf-'AUþðئÓfï^¾ô\ª»¿ókÖ T¾q{ûj»q6rÐÉFwe)ÓÈ(¶º ÁÉfÿñøúº60è÷õ§>n·Ô©u§ý7+{é{uÞTOÇñfgÀb¿Ø8 -8Y -Êñ@ºoÈ¢ÍÑÚ1»ôî ; _LOÇãÕ=Ï¿@K(GZëë£ -!vZvÄF±¿Ó×Ýéóºß3ßýZr¶µåýs!D"ÅëÏ]\©»^óR¼äãa>ÆsSrMC<£k©8#ô1¹Ýµ¼¼§M|72ìMC]m¤&ýNú®.æ;] ø`çÈòÓèBçó`¥¯Bà©$kj½ÚO§@¿õ©cN¯\=ªUfº¸ÊJÇP&Åõàtq± 6ADàkÁÏ= Ø\͵äO Ì5ï°h³çÉýúÆÉh¤ÊZ¦ÖÖ+TV§½¾VªþÖíhôv4}Ñé¼èdT«÷VW.óý±½±±=õí×cl!h ÊŬjìöÑ;-ßßw¾±xlòléÎ-uGZ½Ï¼©»|å¥UõÃ; õû<N l#ÈÆÊWUOMÆOvÙÈÖQ¤G¹ÙÈÇð¨d³¦äM78¦¢ã£ýÃîã-ãÞñðÐ Üõ³õ%Õ/út½\á¨QYÕß~b@ÝS.ÁMfVSJßß¡HߥÃöÏ-]Å`vº''äAWf·½¾¨7¿ç$iìúøVAÌÂUØ;°K -Iñòr¼)ÙCæ@£G8¨<#Ê:V>ó8tÞ 9¶Ì-£(xYí·ã'O`)1·½ñèuàAÈrÞqLùê/fW²Íç1¹y #aÙ.0û3ýþ>*8d`YpA~f_2±±q¹Tä{x[Ì$<û_ëÿ¼·è7^õpÏé < Ãg #pNÁiÜ-'UiÖÒòäൢ`US¢àíeÑÎ@1¬v 4ºhÀ(¼!Ús ö¨&¢=C´çBqv)råÐEѧ ÜäeÑ® )Ù~¯ -ù¾è£Bò +ù}Ñ_ 2òPôG!¢¿¹èOå²Þ ÄJòüt<Õ=ÆZí,¾ Ï°t ½}½£ÐHÂy8¤ ¢pX|MÐvÀ³ûîÇN Àîú0~1çæE¯fù`lzi6D§.a³#ô,̧<Éék57±íl6Mf}Ñ`u¬&ÊS-àgÖ$"Ä:f$ÄBûcBB*\³Vp gÓAOfû4S±äâù y¶ÙÜähÅóÃíEìÎàÚ,Ðp@k>n¯a.1»´È&9J%Ú-ÁlÂÍKÉhlnI=NaÏÛÁs(ÍbêE¤:%½9Q^ÂÌQÌ?õ¸ füEIdKùï®E6å>Ù¢'µìNÛ©¸þ³%!{G¼õÂ|ôu¿J²'@U~ð½nýçy²>^Ý äJøGjéyEØÇ«(\?ÅK ¡0¯6 ð`ä¡ÔÇ7B¼÷B®»·CÇÃíR½ËRs 'Fö_h0ñÑ õqa½ÏW°¼+°®°Ï1ÒP=§ÿRè÷Ú_µèz¤ýkXËéù\C÷\á0âå&ÆL¼Ôx£¬avvmbBËÂÈ7êë±InT)Ù6Ï3²h# ËKr,Sïå!JÇÒ +xV}L[×?÷lóm/SóÌ#à/ðc»×ÄÌ1ñáÁTS5ê4Óº)ª6Ò:þ^h¦òÇ6eÓþ"-j§nYÖÑj mm§)íºH1;÷ùmê?ëC÷ÞsÎ=çw~ç¼û® Eйðjt.Ðèôh¹@TÓ³+Sï¶ö üw É«³Ñô¬ ÷*ú°ñ¹ÔrKòê<êñx,"ÿ2³úßP¯,' Î HÔxÄbmõ¾õmÔP?XXLu¦õ5Ô]ó¹Øßýê¿Â|]7)m7?Èã¾3%øÔ¨»P7O%¦çJnZ^C=ÀÄ¢R,Ê(üîâ @ëd" ÿÿ!À|æ¾r°X L_ EÅCÚÏña ûGv{ȵ ØÊ9Wj+åþÅ<³Q|«iôæäÍs9ó]×sïQ=Ъ[ö?&Ì¡ÎQÏÕJ5 +µE#åjëv§ÍZN6ªüá±M§ÍÞ½|é¹Tw#9ç[×2?¯¨|ãööÕ4wâl2*ä 8î ;"ÊS¦QluÍþ3ãñôumþ`ÐïêO?}Ün©SëNûoVöÓ÷꼩ãÍÎ#Å~±qp²$ã+ußÿD£µcvéÝv¾ Ç«{*P´Ö×G -:"B(í?µìb3§¯»Óçu¿=99f2øälkËçBD×»¸.Sw½æ¥x3ÈÇÃ|ç"%%§ä-xF×RqFþèr»kyy9[NøndغÚHMúô;]]Ì÷º@ðÁÎä§Ð+ Î!æÁJ_ ÀSIÖ4ÕzµN6ëSÇ^¹zT«Ìt,r¡L"ëÁé:âblÀ×_x6°¹kÉ_#k$ÞaÑfÏûõÑHµL!W¨¬N{}TýÛÑèíhú¢ÓyÑɨV3ï®]æc{cc{ëÛ¯#?ÅØBÐ YÕØí£-vZ¾¿ï}cñØäÙ&Ó¯Zê´>{ySwùÊK«êw +3ë5÷y6@4ÙF/¯0ªìZ³5+£H-r²90áQ3ÉgM=ÉnpLDÇGûÝÇ[;ƽãá¡A?¹ëgëKª^ôéz¹ÃQ£²ª¿ýĺ§\<̦¾¿C¾Kí[[º&ÁìuONÉ®Ìn{}Qo~ÏIÒØõ3ñ. «° w`â!3äkä:yS²ÌGqPyFu8<8¬8|8æqè½sl[0FQð²ÚoÇOÁRc ozãÑ/êÀä*½ã4óÔ_Ì®d #Ïc +róFÂ0²]`ögúý}T4pÈÀ²àü̾db?c96âr©Èþô¶Ixö¿ÖÿyoÑo¼êáÓx! Ï@Fà$Ó¸[NªÓ¬¥åÉÁ/#jE;Áª¦D;Á37+Ú<7Ë¢bXíhuÑ.QxC´ç@1)í9PM*E{.hÏ *âíRä6!Ê '¢O¸ÉË¢]R²#ü^ò}ÑG ä=AV +ò¢¿dä¡è2CD%3rÑÊe½äùéxª!zµ65ÛY|aÿè{ûzG¡ +ó0 qHADá°ø. ì( göÝA9Ý/ôaü(b6ÏÍ^Í0óÁØôÒl$N1]ÂfG éYOyÓ1ÖjnbÛÙlÌú¢Áê4YM%¦ZÀÏ:%¬ID tÌH öÇT¸&g=¬àΦ2ÌöY§bÉÅóól³¹ÉÑç+ÛØÁµY áÖ|ÜC¹ÄìÒ""Däx*h·X³i +K^4/.,%£±)Zºy&!ô8 =oþÍ¡4©êXö"æXDy 3G1ÿÔã6ñ%-å¿»~XÙûdÔ²8)þ}§âúûgK:?Cöxë ùè§ë~dO2ªüà{Ý&ûÏód|¼<ºAÈð ÔÒó°WQ¸~&Ba^m àÁÈC©oxï 0\wnÛ¥0{'¥æ +Oì=¾Ð`â£/êãÂz/1¯`yW a]ac¤¡zNÿе¿kÑ/ôHû~XËéù\C÷\á0âå&ÆL¼Ôx£¬avvmbBËÂÈ7êë±InT)Ù6Ï3²h_" ËKr,Sïå!JÇÒ Z½>¬MZ0«ÑùYv -BFöWB9 FÖÂË°!,ÛÏy"3l< ~E43¦fÓlÚáÒlÒqw¡'ÖG ¼+F)2ß©ÐëµìNÛAÈæ¤ÈM/¸9vGLα!ßVÏp( riM¦¹ ÈÐÅÄ+èkP!o%- -ªÿ( M.2óùÃÐÐR#þmwKËx6êÔÞµñupÛM|Û -<ÞÂLOèqç=çÖâB87vÞmá¹îº·KpáÙ(_«>È¥1òhžàd¢¿#uxËñ?)=³òo¤ã +BFö7B9 FÖÂË°!,ÛÏy"3l< ~E43¦fÓlÚáÒlÒqw¡'ÖG ¼+F)2ß©ÐëµìNÛAÈæ¤ÈM/¸9vGLα!ßVÏp( riM¦¹ ÈÐÅÄ+èkP!o%- +ªÿ( M.2óÅÃÐÐR#þmwKËx6êÔÞµñupÛM|Û +<ÞÂLOèqç=çÖâB87vÞmá¹îº·KpáÙ(_«>È¥1òhžàd¢¿#uxËñ?)=³òo0ã endstream endobj 26 0 obj << /Type /FontDescriptor -/FontName /AAAABJ+mplus1mn-regular +/FontName /AAAABM+mplus1mn-regular /FontFile2 25 0 R /FontBBox [0 -230 1000 860] /Flags 4 @@ -463,18 +473,18 @@ xref 0000004925 00000 n 0000005050 00000 n 0000005095 00000 n -0000009330 00000 n -0000009544 00000 n -0000010906 00000 n -0000012013 00000 n -0000014219 00000 n -0000014431 00000 n -0000015793 00000 n +0000009331 00000 n +0000009545 00000 n +0000010907 00000 n +0000012014 00000 n +0000014220 00000 n +0000014432 00000 n +0000015794 00000 n trailer << /Size 29 /Root 2 0 R /Info 1 0 R >> startxref -16917 +16918 %%EOF Modified: tomee/site/trunk/content/ng/advanced/shading/index.html URL: http://svn.apache.org/viewvc/tomee/site/trunk/content/ng/advanced/shading/index.html?rev=1757884&r1=1757883&r2=1757884&view=diff ============================================================================== --- tomee/site/trunk/content/ng/advanced/shading/index.html (original) +++ tomee/site/trunk/content/ng/advanced/shading/index.html Fri Aug 26 15:39:57 2016 @@ -99,7 +99,7 @@ <div class="col-md-12"> <div class="sect1"> -<h2 id="_fat_jars">Fat Jars</h2> +<h2 id="_fat_jars_with_maven">Fat Jars with Maven</h2> <div class="sectionbody"> <div class="paragraph"> <p>Shading the container and the application has some challenges like merging correctly resources (<code>META-INF/services/</code> typically).</p> @@ -128,9 +128,7 @@ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/cxf/bus-extensions.txt</resource> </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/openwebbeans/openwebbeans.properties</resource> - </transformer> + <transformer implementation="org.apache.openwebbeans.maven.shade.OpenWebBeansPropertiesTransformer" /> </transformers> <filters> <filter> <!-- we don't want JSF to be activated --> @@ -143,6 +141,13 @@ </configuration> </execution> </executions> + <dependencies> + <dependency> + <groupId>org.apache.openwebbeans</groupId> + <artifactId>openwebbeans-maven</artifactId> + <version>1.6.4/version> + </dependency> + </dependencies> </plugin></code></pre> </div> </div> @@ -200,6 +205,145 @@ which can be skipped in this operation s </div> </div> </div> +</div> +<div class="sect1"> +<h2 id="_fat_jars_witrh_gradle">Fat Jars witrh Gradle</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>With gradle you can rely on either jar plugin, fatjar plugin or shadowjar plugin. Last one is likely the closer to maven shade plugin +so that’s the one used for next sample:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-groovy" data-lang="groovy">// run $ gradle clean shadowJar +import org.apache.openwebbeans.gradle.shadow.OpenWebBeansPropertiesTransformer + +buildscript { + repositories { + mavenLocal() + jcenter() + } + dependencies { + classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3' + classpath 'org.apache.openwebbeans:openwebbeans-gradle:1.6.4-SNAPSHOT' + } +} + +apply plugin: 'com.github.johnrengelman.shadow' + +group 'org.apache.tomee.demo.gradle' +version '1.0-SNAPSHOT' + +apply plugin: 'idea' +apply plugin: 'java' + +sourceCompatibility = 1.8 + +repositories { + mavenLocal() + mavenCentral() +} + +dependencies { + compileOnly 'org.projectlombok:lombok:1.16.10' + compile 'org.apache.tomee:tomee-embedded:7.0.2-SNAPSHOT' +} + +// customize exclusions depending your app + +// first the not used dependencies like JSF, JAXWS, JMS ones +def excludedDependenciesGroups = [ + // gradle is buggy with poms, scope provided and optional I think + 'com.google.code.findbugs', + 'com.google.guava', + 'javax.annotation', + 'javax.ws.rs', + 'net.sf.ehcache', + 'org.apache.httpcomponents', + 'org.ow2.asm', + // tomee jaxws, jms, etc... + 'commons-codec', + 'com.sun.xml.messaging.saaj', + 'joda-time', + 'junit', + 'net.shibboleth.utilities', + 'org.apache.activemq', + 'org.apache.activemq.protobuf', + 'org.apache.myfaces.core', + 'org.apache.neethi', + 'org.apache.santuario', + 'org.apache.ws.xmlschema', + 'org.apache.wss4j', + 'org.bouncycastle', + 'org.cryptacular', + 'org.fusesource.hawtbuf', + 'org.jasypt', + 'org.jvnet.mimepull', + 'org.opensaml', + 'wsdl4j', + 'xml-resolver' +] + +// then cxf+tomee specific dependencies so we need to be more precise than the group +// to not exclude everything +def excludedDependenciesArtifacts = [ + 'cxf-rt-bindings-soap', + 'cxf-rt-bindings-xml', + 'cxf-rt-databinding-jaxb', + 'cxf-rt-frontend-jaxws', + 'cxf-rt-frontend-simple', + 'cxf-rt-security-saml', + 'cxf-rt-ws-addr', + 'cxf-rt-wsdl', + 'cxf-rt-ws-policy', + 'cxf-rt-ws-security', + 'openejb-cxf', + 'openejb-webservices', + 'tomee-webservices', + 'geronimo-connector', + 'geronimo-javamail_1.4_mail' +] +shadowJar { + classifier = 'bundle' + + // merge SPI descriptors + mergeServiceFiles() + append 'META-INF/cxf/bus-extensions.txt' + transform(OpenWebBeansPropertiesTransformer.class) + + // switch off JSF + JMS + JAXWS + exclude 'META-INF/faces-config.xml' + dependencies { + exclude(dependency { + excludedDependenciesGroups.contains(it.moduleGroup) || + excludedDependenciesArtifacts.contains(it.moduleName) + }) + } + + // ensure we define the expected Main (if you wrap tomee main use your own class) + manifest { + attributes 'Main-Class': 'org.apache.tomee.embedded.Main' + } +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Then run:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code>gradle clean build shadowJar</code></pre> +</div> +</div> +<div class="paragraph"> +<p>and you’ll get <code>build/libs/demo-gradle-tomee-embedded-shade-1.0-SNAPSHOT-bundle.jar</code> ready to run with:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code>java -jar build/libs/demo-gradle-tomee-embedded-shade-1.0-SNAPSHOT-bundle.jar --as-war --simple-log=true</code></pre> +</div> +</div> +</div> </div> <div class="sect1"> <h2 id="_fat_wars">Fat Wars</h2>