From 7b36caf33046ebfb0388210ed1ab61e37ea6d2f1 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sun, 19 Nov 2017 15:45:17 +0100 Subject: [PATCH] introduce JMS queue --- .classpath | 1 + .../MeasurementCollector/ADataObject.class | Bin 1821 -> 1913 bytes .../MeasurementCollector/AJmsQueue.class | Bin 0 -> 1994 bytes .../MeasurementCollector/AMessageParser.class | Bin 1001 -> 2255 bytes .../MeasurementCollector/DatabaseEngine.class | Bin 3154 -> 3205 bytes .../ElectricEnergyDataObject.class | Bin 1262 -> 1310 bytes .../JmsQueueProducer.class | Bin 0 -> 2379 bytes .../MeasurementCollector/MBusParser.class | Bin 5738 -> 5627 bytes .../MeasurementCollector.class | Bin 2416 -> 2430 bytes .../MqttReceiver$Callback.class | Bin 2294 -> 2294 bytes .../MeasurementCollector/MqttReceiver.class | Bin 4591 -> 4591 bytes .../TemperatureDataObject.class | Bin 1193 -> 1241 bytes bin/measurementCollector.props | 8 ++-- ...eronimo-j2ee-management_1.1_spec-1.0.1.jar | Bin 0 -> 20220 bytes libraries/geronimo-jms_1.1_spec-1.1.1.jar | Bin 0 -> 32359 bytes libraries/hawtbuf-1.11.jar | Bin 0 -> 50155 bytes libraries/slf4j-api-1.7.25.jar | Bin 0 -> 41203 bytes .../MeasurementCollector/ADataObject.java | 5 +- .../MeasurementCollector/AJmsQueue.java | 42 +++++++++++++++++ .../MeasurementCollector/AMessageParser.java | 27 +++++++++-- .../ElectricEnergyDataObject.java | 1 + .../JmsQueueProducer.java | 44 ++++++++++++++++++ .../MeasurementCollector/MBusParser.java | 5 +- .../MeasurementCollector.java | 1 + .../TemperatureDataObject.java | 1 + 25 files changed, 122 insertions(+), 13 deletions(-) create mode 100644 bin/de/hottis/MeasurementCollector/AJmsQueue.class create mode 100644 bin/de/hottis/MeasurementCollector/JmsQueueProducer.class create mode 100644 libraries/geronimo-j2ee-management_1.1_spec-1.0.1.jar create mode 100644 libraries/geronimo-jms_1.1_spec-1.1.1.jar create mode 100644 libraries/hawtbuf-1.11.jar create mode 100644 libraries/slf4j-api-1.7.25.jar create mode 100644 src/de/hottis/MeasurementCollector/AJmsQueue.java create mode 100644 src/de/hottis/MeasurementCollector/JmsQueueProducer.java diff --git a/.classpath b/.classpath index 72afe50..302939a 100644 --- a/.classpath +++ b/.classpath @@ -9,5 +9,6 @@ + diff --git a/bin/de/hottis/MeasurementCollector/ADataObject.class b/bin/de/hottis/MeasurementCollector/ADataObject.class index e02d929d8d64810a66e46e7eccf0a6fa7373c7a2..2ca7cd452a2df707715714eb6a1e9d1dd922b40a 100644 GIT binary patch literal 1913 zcma)7e^XmU6g``SB*a%sBg8^gz#`4B^4ikcYLME3#nwP;spz>8M}mde)Q41%XlCbTLo zl3okVL_zDFaCr9n4{#Vz*WNJPc#28;_PN|10h| z=;y$}1wH%3!MnJqXV)A|;F4C$3)EJ>v!kLHw$eqTdP}nUtbAh3#QPq#tvAo#V_Nv0 zvW>x`#YDH`x@c|g4H?f_j!H|XaKk|n?+KLNCj3KpK-!^RhX0mnn@P%b((=cRW4uoK z@5;dIi~=(wLYh`*MwbSj$0-Ti9k!h_BY_-|Ezf)$T5>t8FuP&O5BslPsi=SkX7aet z*KkG8A2@i3HTJ3Oc2%&)QYF%!eoIF4w_uGtz7j~)=QPrWM*4aPAbAu16+rj*69=DT zIgchet!gCR52@acz~vFylduAX?XVy1sz;u=V@};rOFHe$JjvfEt)m=`+o7{6u6m6M;;1zxg%d`sq1>E6N=jU?NOvb9eV&P{_ zQYJ{&7-tQA3o@1j5cm{#>1C+}I4wN(M9GnJy?s~})e>Vt)eiNwTB6CQyW7DU@FTnb}e+hQJk!GL&MGptL6< z4Ekdjr;SBi)zr@z8?3Q~&lf5aLM8Pv;h=`k$5lt@w(OON0jtCUElH)IEQJsiCKRq= zf~QParIn&Y@CAj>bPUa6>*R=Lh*1(<2E~?1R>fMcp8)ZDK{&sxp%>)_rJR&d?Cl;s zwVAKnZT>(hvXI7iOuyX6t>w_W-ND_Jkn0@nsOr9hiG6O>&`9r)hoRu6)(`E>x8SU=bZ_njBm%sk`?RNl6XiJDNWNKV( zSgvb0YKd!3*XC_*x@%Ue#dX)R)z!_mv)$!gE+NJ+*3=$oYD+Wg>Q=Q$2!^4SRj+fK zVWw!=bye$VdV{M%Xb_6lrKVc+AO!|lw@j0s8J5W~RTSDDs?D~et_|dbk{s?h9%MWO zDf>dYPt>^M8m8u}Nrf=if(yb8tr(`^US^19vO5g1HLJ#DL~%yJ2u5X$V^YEd!|Z=K zUeZjB;!`k%6vIfJySFXN^&_IEne2&S4};+q1*b5?aJp!i{ARaZ<#t7@wm3twXz5yO zN3#ua?h9jX!*CdK#s8ZfiZ&*KC5qP{>bxVUaU{$ztel|YxU3IUNSI}~7@|j`+&$p! z@6=UqQ`!y^w?TK7{X-mc43n-UrS}zreY~% zcO>K(QbCdV7gxJRtH$j(-eMRJDyVNTpO%ruy!fdK-o_S(vqr9mt@ssN$i8H_ zufHHvysJ=ayvGoCE#El91m*ZemkJ5Ij}Ik$z;G@^&v9k1ATI(wRpZreT~M&1;3H5~ zj_EenTplpUFx@xxQd5W;`dER4cmh{(O~M-abzJ)>SjQ+?b6m}KCE8;zK_l6&-Z~my^gzb`oVaRc8F%0*+GoOxQn~18cmn(}KTU!Z~@tK4Q z!bTP23?PoT}{7V(mMS)A(ySLt@8~-Op?(cZsBBXhM0@e zsE=Vn3?FYt1>~)iOm8JxX^jw)CL;Y$)9JEz29(?Z#&W+Rxrgbe9_m&4k9s=CN$UtD zWfEserqE0Ae+{qGN*N(k1m|cUqf=UFW!GsRA<6SYoZn4eIKZ35+%rrcBDj=3)NFfb_#W@=5;gcx#5GcLrLyIp!i^*F(+>Q|R z&Oqy3A9^PQ{RL+|Rmm?GdiXkuL!@_Ue}L*APrYa#;W28&h2UhFxB%^BVq=zASRfvj zh=p6k!99xqN6g?S>ikD^`ve!Tk2(B_d5^oa$LI4tcQSs)x2ThaCrF_IgLX~QJ&efT Pcr2loBEfwUM9}&d`w|GT literal 0 HcmV?d00001 diff --git a/bin/de/hottis/MeasurementCollector/AMessageParser.class b/bin/de/hottis/MeasurementCollector/AMessageParser.class index 86e71a697dc00c63f358db475728216ed0bfba24..47ff50f4876b55282a2c913d0045c678c416e2ab 100644 GIT binary patch literal 2255 zcmb7GYf~Fl7=BJj*bug*CKTn;Hb7Mfmj%Uo2}Y5&+L}<>Alg>#EXgq}CfT^VanKq6 zh=0Hje$g3eMQ0p8`yc!(*5{mE2vDXOhM7IL_xil=^M-%^`{OSFOL$};CNNi(*0vi2 zj&GHu?YBMIkj-G#t=DBGa6N0KBz@nm$#vWFrDq^6aAC*(*0$<)vu54d+M$?0Z{4lc zq$e<5biJBox9rNcwA7_TDXvR9R#A)O1rmYVaw-DpV#iQ9@F>a0x9uvqL8 z+wDkn-E*t$iu9=7S9WSmJ75|DkIt&U+)ZKSx*gbI&iMkp^;X>GS58e}C`_dtICYEB zw4@g}(pM78PSXhr0uQI2&GvMqZb5Wn&^YC%HwEIWZdInxgN%s*3<~s2O>d?!gqIAw zC@}fFqLl0=>+6{q#)!bVnhfr_ZV*&8n`TAov~~wTtY_K7&p;} zl-f<2FpyNcmrb0*d4YkV)0AuN#+LLp?5#S>n=ZN)yS{0Ajygw|@nGBW8A3M@kGC}o zmG~xXx`l3A}R8@mjJqhm>wahLhz=^IrpK!aFoB} zT4l+8sXO1Ro*_0#+~PoMgflK1!C39b$0!*n3S4;}b2Mw#aEIMfm0NAjfs3cGT!B}> zT@&|E7BIGLe@$meiarQ|Yp6moj3e_vmyR^HtFFLox1KzbHd}e(vT>Vv>d4=B*?IumNe*O(`er7OA_gU^<<$EqPh$&3- zMAJGTp?4~TnBL_uL)R=DHDj3LU7V+R9n>}MlzcMx8?ukF(D9wp+QYOsqJ5d6T;xmO zHN4Inm6#RTNYKW_FT99B1>dU`E+0`&94as24TjVSB}DF;Hup326;6vY`*>4e?I&dC z_VKR3-&ifFFlQg*2G`N_NBg+Vg!Zv6@Z-~eRqS!?dWg^i6U=uKW4Ou?Ca^$^6lPgn z#Kl9*7O{a(80sLg-NdJK{u!mhY}MO+zCGX#v3trY#|;RB!^a?pFvkBr9^!Mp3VgwD H3}5~af5S!X delta 370 zcmXYrO-=$q5QV>L?`4#0yL{OoTz`~VBFwv!JF+q1mNr+3&K-vp<12s-GEU|e~!ot_@$0u;eFvL@gY{zde$2ZyZ?P9i=DJJ$&P3*CHs1-GN zN(#R}ILlFCJ*2AWF3+3#WO_Zln$0yeHf+l~>eV%Af-H)rCM4s~mSzR*(6%N^&PLva zeerwtG+5lH+(dGuoJP7YvOKF&*M!~S$p#wcje>cn9Il` diff --git a/bin/de/hottis/MeasurementCollector/DatabaseEngine.class b/bin/de/hottis/MeasurementCollector/DatabaseEngine.class index 79c084f6dafca21b92725ad8df05e35db27bd603..4863049019957f1c7bdba4fae9af9c1743ae2d5a 100644 GIT binary patch delta 218 zcmca4(JCo$>ff$?3=9k=40G5Sm>3y!CqHD7->6^1uFk&uFP)uX(&lyS%FLXt49pBHKx3v(zQxt4p|yoUL8yNxgAo(M zMg}GZK?YF<2?j?71BOx{oCs8?1ymZwAUe5$JJ5LwLjZ#|kgo+XfI){r7s#__FlU&| xFol5;sE&(aD#J9OIb{qy49*PGfnqa&DtLf2MAgj60z76s6F~yAfD%j$vjIXpE(QPq delta 167 zcmZpbyd)uT>ff$?3=9k=471o7m>3y!CqHD7->6^1&dkm*Ve=(+WoFJY24)5pppvf1 z|F}A3H!?6W2r`H=NH91u7%-FqVLwn-3n(ANAToJ9cc8sCkgWyL!JxyS3*=cdm@`ad yn8d)y5XQj8FqvTr(2Oz$9tLNIsX(!5KovYd8lr0YWM>{To_>(P44?!P!%P5_R34`Q diff --git a/bin/de/hottis/MeasurementCollector/ElectricEnergyDataObject.class b/bin/de/hottis/MeasurementCollector/ElectricEnergyDataObject.class index 2747ab26a05e48a9119f56cb10777555f3290ae4..0d046440d992ba2c13c1b408cf4b506c8d13a8b4 100644 GIT binary patch delta 546 zcmYjO>q_Hb5IxhHCdSmpxM~}(>$cifZPa?L7tl37ysaYI>MzMc5Tztbt1JHU4TRGF zK7$ufQSbqL2JsPm1aT5YOvrraOlIbsNnUHuW%=pt{t>_kW-79qQOkB|-zw(qQhDEX zwiXu%v_uI1cAfH}_XIJ(QD-+mm}5O6e78bHk~K5X_yK19_XZ3MGGiqSVVKoDlx1fDABFih z1%0G45_nD*Mlr@)j&oMwdOx#>2~H6vk^5X=fKP8&P}45>2>717?*rb?)AxEkuOIq^ IDZgs^9h_@NaR2}S delta 499 zcmYjMNlU|E6r9)ECXH#URcq^7_ih^Z?I5`1Ag+kGT_i#fq_pCSr~ZRN>D{|GMNm=j z2YB>{_zOgwq#h*j@@D3}nfKjlUjgmo=k*=HIA+RPp?sHE6a*Iw`SS}af3aibE^QS7 zf#1&CXU8{!z~;uTxplZ=?yJxRzSF|BeJ0Sh=NDGZ!}a+!Q$@J^z2|S#QHQ3=fs9FW zr6kdzDB=#)BJd_tI~v;1p`cw*cVb;xM$XC~8%u@Dqnxdy6N$>F^r}&G>*zsmOhZT2+4<;^zz9b9sxh)U=c~*(8Nmc5tM|{)O!)DdNa&tF503&} T9jeLAcXpj)tNDT{cWU|&0 diff --git a/bin/de/hottis/MeasurementCollector/JmsQueueProducer.class b/bin/de/hottis/MeasurementCollector/JmsQueueProducer.class new file mode 100644 index 0000000000000000000000000000000000000000..c07b9a2986c8230769aad77fe7c307a1934f7aef GIT binary patch literal 2379 zcmb7GZBr9h6n<_9ZV0PrA z%k*wl`Enei)V7)tI5%h3Om|+OBRR1t5M8v2GL8;(>(CGr=*gNj`J_?Zk@kkMQ;`CR ztW_{7n}%(w?_e|PmQ6?CZuX22TM@Q!F@pZ1_FmOnHfR2?vAKs( zyQWohH1r9~oe|q~l6kbvfpP&yE}9AY`|Z)TL{yE?96SfINo z9oMWGDjb15z0&_ZUVocyd!Ip;GPNBeb@;{7Cg!YdoUWIl` zM<>p8V*-;JQUrDA@|e1gDcoi)IMQ8`6?0G8uX3ytGM#)pv8imOb-ahWET@W9DoI=5 zde*W_X`^lw$}+7s&00ylr+3p?PbH(_eG;L3rYi=8dDo`S!-iQYN;`%Rn7~#M&yK`# z4Zr;WL2hSXNPY7UfQ(6vL+i*H&`*c43W}wUKt?-cgmSOh4AK zf>oZ9wr!ElR2YaKSjJ1Qk7J{3TQ5{Ql86{`0%ONr9B(|&Qyjf`s#smsu+C0AEP(KF z0l`!chN>wnWxt)zyGG$z&Zq~&K$ErSYIw1vg0M|1otGRK74xScN`bDtSz!KhBN_nUe4DgNE;esyanQhXD?`F4nPsR26?g zM-i%)9j|2i{g98$OOMr(z{RRRKSu(9#TZPEwLzk4qQMKJvh&m z?kjPphhG|Ej(Zy%bB;4;@ye)W3B|KeKN*`o3ORO(j@@^`g~kqF*koa^yu6Uhj; zy7LzIwiD9_m{HsN_-G#=H?a`GFT5v}Jn?9N vSFJ462`5fIp2H@D6i+D*A|3}mKT2P5;Ojfo57;ot#yC}7iXv#hXJPMOZbny; literal 0 HcmV?d00001 diff --git a/bin/de/hottis/MeasurementCollector/MBusParser.class b/bin/de/hottis/MeasurementCollector/MBusParser.class index 8c52d4fb2a0af9c2eb54a9f411ebe30ec10a163c..da0d0b867611e6e3b11654c3990a5c6adf252d61 100644 GIT binary patch delta 548 zcmY+9OK1~O6o$VundDAp#%XA!5D*EjY-)^)f>1X?7gni?E(#T2S!7WkBWlvR(F)?C zC~l(Y%AHh2lv;_jq6poopc`FT(1ox1sP7u1t!Jtf+}!)0`+xVG|4c5cx4QRc#_j-Z z(lG3H1e;ximp-p}Etq1szg#RAg{Gxly9#}Ue7V%SC*Re3u(YbB+hI}&%Hi&CUw@bh z3ww+08IKdZ^Lfuv!R{{{2py&><3WoX8J~PUb9Q7!!vzti@+7r5PThz zL*zDo$c^$b#;|S!4|rIaTDW%L8a-TRi`H9t#5SI?lbrge2%^a>C$D#;zVLPK=LFwK zV3A~;?@SXT!xe7po6Snj@IzIc)tscpdDUw;&QIzX*0F?N{Klb=Zf2Op8Q?G*1rcpG zNQYPw!{rhQu~m5*$>*ZhF)nL}W*z&NiqBICrLL;CgZM1#NgBk6F?1Tn=FUzdNh7W< l-5dele?VKr{UZ$b4Udg@XtG7b=0WYqIbTCA&^eX_e*pHpdsqMf delta 573 zcmY+AOK4M36h+s0NqS#iUSDIH6as#N=)g~Eu?3+{LDuHxR)D()fnP>yz zAPAy72TDOlQgtAfl!z6b3OW%#;LMS~YGeIYtu~%S2{^fTpS$-td!IYMW_qpjU}5SW z&?SipXN#8zBfN51Pp88hrVVd}_H)r?{&Q*Rba}@MA&|*tZDs^-ICm&FIFd`{GDrHm zQxQ({!DW_$5FE)2zt*p5*8q@_S?NZ*d|S zEOW9<@irBUahB|CupgC8m-$>LzgbM^n(&Axej&bfv_v0e_G!JJryO903~A-h;MJ^Y zXPw?P^n;)E&IHkr0&qFK9JL3`eUr3wQI|~Y**xO?hZ#V^!5p60Fj-&V_j$3kDp-*y+-tZ?m=~fw{ zMwSM{G#TN69FL6hM4o=>&Hp!Y#<`qK?xlS}f@vHsxsumbSjWSsixLF_>hjAbX|B0J KNV5@l-u?k6SUu?g delta 298 zcmXAjNlL?D7>1w3{56IMHBhu5R_g$wT}XAIh!j^U2yR?B)x`+S}c2s+>$|+L5Uk!QAeM1J#qw$ z(In3!<2*6J3zG~<&&vN0XPnE+;(-h5C=}&)mt4uFb=h-`PY-1lWKSrcYm%YC4MI9^ HlfAn?jm11a diff --git a/bin/de/hottis/MeasurementCollector/MqttReceiver$Callback.class b/bin/de/hottis/MeasurementCollector/MqttReceiver$Callback.class index 8a0742579b49ac361da5b11fa4ef48b751b83207..cfca45eb50ee5edaecb885c9d1e5b87ca1dfdaa9 100644 GIT binary patch delta 53 zcmew+_)TzwJv*cHWC!*DR#^rK2D!;o*)v!b8DtogCNpsqajG)NGpGTf`s7*;Cr0hb H2RO_CQF04} delta 53 zcmew+_)TzwJv*c9WC!*DR(S>q28GE}*)v#`8Dtn#CNpsqajG-OGiWfVF=$S%<#1xu JoqT}93;j0%kRdi$7;o_c-oWB!q3msycd+vUUcxIl zo73s^eZTWle#$dsjU+JQ#7qn~Nfc6qNs}c*QD&VS9rBD&Sy13WQJ-7i-imap_^1(- zOq_;vnv`k1RGZ15wgv3qqKBWpFat^qnaaKtN@L8C2`9N+m~my!jV^b2@nEH&?O)d# X3mZIa1>Xt27hKad$IKAbKaRj3)zc!- delta 190 zcmWN}$qGRM7{&3wl8sDB*hucmLQ-VBgoQB~GGs1fVYuN1yn)5dLfP9Y?_lQzyo6Wq zbvCC?=l4^7$}?n*#4+N+Obj;(6q1BVNz&xWP)4OmmH{~y6xdVLr`ET(gi|&j6@pZW zQj>3;B8``7Ga1yDfNf#B_~{AOm+OF$^d&Nmc?$}nyuk;)*oujmxYHV!HE9&nfT7@)ty?5<>E6T`jR_b{ z`~cz)_%p`SVvKij?wNCE=FGi!emTX__uB`6GAcb$FM15ERabRIYZ>)sK#oWzIj-$o#GvE^&X?l)B8LWeG(Wl#7D{L5P_A!xG`Cf7neNN(GtfG%0Q|L24k8&E;gv5mvEAiZV?lVvQ&3G-24l=5NRX-KGOCyPxRdtQ6*-5hDk4 PtEn~PjkhvvS+wmR?%Y5H delta 442 zcmYjN%Syvg5Ir|FZIY(1L~CQMwzbuyulTA9w<_quom5;#C_V_S(AI6YZbQIN5Zoz3 zD+>Jp5%>Or_zmLR;KI$FnKNhRoVlO!y{x?byi5RWV#`xp@2;#f#CE!!Uf=2TTaG(u zOOU;f98pKxc0u&J3n-;6zE8E{wzbt zv|0)bWFwekNCsTj>73cS-NC8bRxyv9KVc zh>%+W64lDTI!YKhN1WaSF>WzMU7%R0*2YM_LO&T}W?M8wO|qVm8DZhLVu&LYABh#h zGQDY10HQRf(vBFiw5>qd3NWM(;>{vVSQL3yL6yXKR-+Li$Yj)MS%OY)z@~{+Le;<$ pN7e{oSjWbn$vQ>8A*4kgCr7f!%-@$1)MoFjjG#3!L?(oFKgnNFBz4_^J>=+-PJfkFB|FUpij0%S&dqj_M z!Hm|n=*h|(;@A|?Qb~M;2P*f77dm~1!zH#(ai63oTcBE3MAp~mIROngzOf^JWlEU+ z?oNdRKdZodHTcN4kxVWJ+6Vz|LL{>Jed?yOH!m>)Gs7&DsxRm8vnB$T&+lel+djp@ z#CYspbWou2aanrEXrq70%UwAR#&gVzFnWk-t14P^vy-dS<~?l6*Ow4Bv!eKU{!*TZ zUGp6gCW7Izf-iffczShgL+gSwj_39p5!Mx4U*+|);NWFId^Mm`y*P5?_>SH8qL3|} zPi<7`zRDF%89B4bq>$ICrdS3_EHSQhPm;A5KGjN*$dNQ3jW-?%KFo@|ylV0; zC7qwDuky5_<~yKmnPAAAq;FKqc&LK1(dK&oy{T2+s(vr2md`z$tm-<}Lw^npjylSU9@>%j>v*_qr{Ig~h*&q4>u!Ztf=THg4`VW^R8DNBB*P z9RforLXa(+LP0>V{o`;2&{zvc3s*G@E6_JrkSr%h7BhPjH@7M^Mfukv=ugz`n%~z{ zzzX{Z9T@}d#6Lavdn

Wotb`Jq3W+(ueF$5k{Z4b~AQp5)us?U2!`Nm2HT zf%_h(?Ibfr=cOvMYUVkiXx=<0> zrwgZNw&wg!_y}f5fuyT0dr6cu-L7q&r4d1#@<71i@+UysN z>9R1X5zGl-<|-9RdtxAE!DyZiQFC35g0wHOCvP&J2Jg1(v{`Mu!UnswLGHev)(~PC z?_%91EL1APAcbeBQ@QvX+!FIzy=sN9$knXv!g%;tR-BL~L_I@BF5pxlf9R{$ZGPm# zEln$#=xh&ECxTT)KIabgzL8n23%}N7&Zy)s@`Hzj)+!OeKGcwr0ODmLk8fddUoC2j zwWgfNJ$gbn?2~@V6KYD$96LPD)folefzogDDSI6Dc>YFkNpLV*95KI@l`+> z82RK4DGLu)0*$u>)$M5EdXY@Q=NJa5B`a+Xf*i~huP0=;HBbsvlIlYY_pLv^tD<#C zz&qB{+c~(xpC8B>I&J2de)i;xx-`i+$tLx5oBDR^VRHP={cp$EEkTA+?g_0iB) zKGJ45NSpLDCM77f#D2&{DzIRK@8J;Gw;2VjJ?b0fG-i_?Bl#}+=`H&}x8cV%8|?y| zFdupm_Qqsm6Y~tZV|+tEF-B&gQ{esAm)PGRw4`JbYNw{XP)KR_pe&;Hq-%2`_waLy z;!F4J0rw}`L^5;UT(KHciEq-rQs~dKihA$1_XTWmH*ss>_kfIz5wyS=?_hK?P7W5o z8(wJqTU1CcD_8OabGe8`c5lJ9Rhp1G&S7Xf^etD3hVcBX)NV4un9i&2{R}#arie z7R9t_Y#i1YT=3PoF$qBlL5SfQK|*GxCg#Q_#umm96ZYhU^rNVlR*Mi2ziQu{!oigS z(i#P12ZDFj-ojkX#L>#)9~p4;g!A--L;alxDY)vzi;03&jTggN8d7i!H%uf?Cg=6O zI-Fcg>`feAP8>FGuk5Xtkb>hx*UZm-mY$ZLlld%DyCByhIkVysvbt7foF)%d2!u?b zKdOqxf-nQqgBCzScQ|hYW)x$>@Hkx=;*=$~6r2$u7gy={C$$av^J^LaF#WdwRDlStT)m!)up5g z5elyWjwueyD=3dBjxddnamXo7u|8#BdM`cIKR^yKk)NBCo>sk^o1Bt~+^86pN8x;F zAB`N1tROOs>@Gxgj|%!8G*ftA7aVm4{xsN`Qqx*fSPjw-A2hA3chOT)PV7cYw;yXf zP9CX81YN?;blCc0k)hX~c(Pa^ghc{<7_lD+0Qiw}BIb;Q!tbdpD^T0vDUM4{*?qtC z>430jTf=udCB}N{BgS7TYm4-}WD>be(|ORGiL4;LSfMOWEy`Y=IyseJlRqY9qh7Uh zHz1t|M|0NfqRjS7x{{3&a>L4*@jF|GLFDcQ=qEuYCJmHn7L?T|(WbABuByBYYdc@QFk4hWW8_`9_u__1AF%wbJH4klZNxQ@&+6rP~`u5U;cAv1tt?!^315!l{ z^C*DSja1wMT1y@|xs4PG->>*ptvnJkCK#8an-T`ob#bLKUb4BU3}jDW>~@|f1M8S) z1(o?OCb^E!Hu3j3lrn(&)>zNBqEkFo*qxzz_G;F{sN6{?)t{$56YmLnaCWV))xcv! zgD&SebbOB{ZZRKfy0W#=Yw2rQJD9;!tT>)M1F_L#q&Eedy%rZ?kxq3W&;1K|!V_KPq zEd{XYQ>#rXtQ%?G%0_>G(3j7x?e?z9rDT~q%cI@&y-~CdYxCjvB<7Cur)&(ZS8Crz zxfRlPpvh9$mkz9{Rs)KKHBOnKTG^{7O5H|^&0)lXb&@gRWL5ws8;JEhzfL_tSc>vF zNJ(grH}&vN%8HAMJ2^U9nB91-Do##6Yn_rXCI@m~`#Z}W3ac)?_Ezt0^hrKM@U0Ib zl_ar>L#?c0P>2Ptc6{!4Om$`9@k98VOGmDLh%$-dree$^_x9$f#fQe$cPS^uW>KNTV zzZHXwbUfOuYj{B%ul|{;X1;*+6WEi`k4ayQo*CQwpU{`j(6(J0pJ2YIRLjXw1D46AH&0;&gLH)|A3R3mG1rVEopasSEKePI?9jQE2e$9sdL|Y7+Arw^x zc^l_`lU~14nHs#r6a~2@PZp(g3{@X|aA$uP+M+ZCOTH$2Jpc6A`eU-z^Y2%uFl_z0 z(MkB1_@#h@EDJ54v5c2PV-B>Mm(>f}A5KD_G+8=4aa1eM9xDaNTd-EX;1j;4`eJi3 z$nWD!gGEae#iQOFnb@9g+G8KA<05K+t01oUq8N_ab|3%r1BLAKH2#$qeLEKyp0;@l z?o2k@ZA6~O>Q{1zA@kmEHS?K!oNH8{?_eU3JcMr@p{JDKorKSC>&BO6Cgmx6C9#X@ zEBq^K<7q1&UV+#$zUvMwCocLES1G^mKT@3$nMY*%=%$2tRWJ?`wdkT0#Z!c-@$uWi zZIM4#9gIZfq$&QX~$|h`Bz@))bU(DfcVq}85sZn&g)OM78>8J1lr%9UPBg5S0n(Sl|>GhrItsC z&{2B<;uKk7^)}5mFAxO?b4NnZ7R3ol$@firOisqkudbgB`#lNpgYxcG1W@;A0_?O1fG21#>uAn-K2PE93|Z!hLDKl4?3ne)iQ)>(BU&XrR_FlHWDcV1pR*Zm zfB5unta2bT{E4LO_)erAHuSK7(y8xc`xFu+$gL4CbzIOz^9$AQ=QmEmC}8J~{B{r& zkuMkV62p6)Jn@>lbZLjg&)+QkT==z6)Vi++MotbRLqb+D{qTF6$I#eC530d89by32 zeUf|KjZ3uSv=LnT%%8i7?m37nBW9z`Xq68mSp^`Fd{2BY=D{yznql6Pv-SDgD3Ad$ zBzKrk)Vj?i)rFv8M5yUG!hDV2XeuHgIHuszxSPtG9+Eq4X%;De`AeA)7#E$JM=h^G zTyWfZM^{w8U6DVL5){2AX18BeH%HeCLGE7@oJ|2D@&i2H+%u@hHj7o#^qHvtD5eO%?OO6ECQ*&|O z{dG|-w1~z$2QhODdU!z3e+GkczcJ(H;b7tVGcR%MsKGZL6M3+)S-uyrAEh}}>Rw^~ zA`Fufx4bd?wyEH=8~0hNmc6b%{j4+n+W+%et1tvLei(jexL7YhrcR!y3gkJiM~PF^ zs3lL(C$vZrHPQC!&U5qax(@HQgi9+k1*}KZ|_x5 z^{xe{Q?zGQKQ#wwbUrt|itmxF!yG&oI)V{T$XA|kh(b@>#eoiJOMhlAf6qm!`r$;c zfb=c`S;k%Umvl6DcCz_BO8OB$+{VKGo;TsJktdvx6x56Q%eh{`JZDE+qX_?0Roe=Gmmjf`Yn_me16#Dy$N)JU7ajQnRvJ!Lk}2MJfSshM zrK&Ab1pvM0^Iq?8V*KzND7K_By${bI+5GI!&>G%4xGc@7*3L*y)StFDsLz-D0G|LE zkua({Awd+PNLrYVoz?KSc#>el_Caue;88t02O9?)Bq+-0)z!f#(81RULY9K#rXN8q z=ELU=Vhr?$NK`LAY7T+s0s~svR%cB+30R9?A73n;*Rz2ozaj}{i2By`N7*pqDS@2Cr(?xjDoD)5rY6!m!TB=xqhaAB zU=tJY)3a8w`E0Woo1Y62L8EnvQ;bqz>`Zb@caE-KpRXl#b_feWE+WA}62k-076GDk zqUUO>by2l!$c|47Pf9gdRuiq%-okKBrk0vXI94_e>EIAt@!~W|1It@3*A!eG4334B zcFOq-mlekG>lIu}nM1agtU1eHF@4G8Exj@K=$a0!vU9af!ZXdsv_fHz?s6Zx& zet~$Rt=%vd?!JyhFskwrC=r^epR&bR%IvBwahhk@O9n)M2~}&$>Iy|Ob8Z>g(0YRG z`>DrDjqZX^fxV#UASQWY*0d{6)Go|l8fXp#7(z_o!W4h)_AlR&Lu1_OGAWntpbbbn zhCB2JGrb&&DvDB&*};IQzf-7xL;G#09~1Xya5ojc%+SllqKB9o97>PNpk8GHvN@EO z&%L?tp)Kb3DiX>wTjF0`oP_zblPN>UN5jBDi3g>#F-$uUnelqHvZvPO(9Ps)@OY#( zaa1g3#w4vp>gttdH7l)aeT~~plWTY60q{Chr)7Dyn)XcVxAqmFP*Go-dqS9e^tC8f zpio|)Afp)eUnU{KKnSYIxlR@n3-=eG`1UaH6inwfci7x6kj}h!)>-3c=Q>p7CcT0D zWMBKbEDU{~w@hA}@+G=xt&uUYc*aMxY5E_@4UI1!CBMmh6N>+Ez7NAD`9}Pm_*?O3 zKop%+sqGl;%?B7geq5iPelOW&d>?_z`&mMR*GwzJx-LT}shsu0^~gQ3g_+6;-eyWa z#w<9;7s`d<%F+&_ef68AAEK6;V$y*##HlUv+=Ez%E1liKkojqDnng(>JFyf*>kluO zu5ImL#0E8Io)j8TXsEyvzehTBbw6p{qTv$yb=|F?838&$WGLR53@yc<4FEWT1gVM* zzjwX=K-9fYs{iN&3Gk4N+PxU_JLssXEv46!9i{qzzdy-mhHDrH6{vfw&+8adD>%fFfuE0^PVt zxY~GHIQ}&UbaRS_E|5o>=C|Vk`(yNUrk9jWxNvifX|SMzXiV^yXKuLRV382Oip&^( z_Ugofqvm7<(KskStRpN4K9?gL7kGx2QNdzGrNw1QkUbNLs3Li zgg7(d?olZZ%ynj(#d@K?=z!U;$G4h6l4atw>Ma9Kjg}$KD&0 zd@HG+hnJ`;v1C$;yxBA%4f&YO0LfifXKkJJlbNNKtzyPf&zL+3P*6@LuTxW3rbCsM zQ2{&J%tH;TJ~&E2vqVg8hGvB!;r=Iw(2J&h_7rj2;h_y}W@cH#Q+UJ{O=r%i6I)VbM zYtLLQYs*&E=O~ACl}escxuY)>L{p5fQC=8n!8W)X`E0$KQj%)C=!2$UbvjWx7=Pbg z8{NTg4ZY|&E;)_Lcr6c*T(zjuqZ<1V*+f_Q6sPVP27+w5>S>CaSftCV_|R+-KQRB^ zI&yORX6ErgI^W3~`Ed+`+kaf$%{KWIq_?dh%sz?xzKZmVNYny^9jvSelemvzcNxFi zq6!6~(HOzvrJ*7suAV2p`V>bO$lxo)FVrdo)kAL4VCKdchw*mhiLTZV`sc!Z?lf&5 ztWXV(wcr$tvuIswD#a4TRBH^`6xWL_JODY%bNQaF?O}k)u%1;hl5T~sjIu3-$;XXL zc*M(0468QfZ8Sc*;~tkn%O=Fmm(t|C+N*qhpw4)$z$z9i)1B6e62Ect(aaGt^dAlt`dm8BL!$EJkGG>hMh? zszHN*ZoyYPJh8Q<_|=#^twQ$e4XE&(grLd`GhfC4(RZF+lTvr&#~yIQ*>!;`i$h$yj-% z*C4|WNNWyKqhxdmPlctLu9v)DQDF#!x+tZ^rOHvo0q4SvOPm*0v3Ce*bb7G$qJ1{t z8p2y5$0Td%X}o5Eykn>{Pd2mdmH7wfGK2hVw5bD^#fRQBtGMkl_XRpNI}rhOI7n+s z3x0ae?AarTSWGOuw%t3;31(Ir_Cl>{Mo-LS9WjqopPa>yVtmEwFnAlpWJ6Q-JXgX% zFi!HMlzi^0^QGPgwJ-4^8x%8nPRe;``0#Y7%EQh+i<$)tQlB5cyn_9e7GVUOlNTUb zG(fc6zw7+}*aKr?>p*8AXfHqtE}-QOZFz(6jw{qKq^rK%9 z4bFTC%vYT4Tv)gXO=^33`v&^b*_3po^}c9qa?#pf7}D0Lt=20@6g_WL=*c6Pm!Oc( zaPBU~oypWKJ64E5qo5x4k9e$GOF4YGc#1}=;NK)gr)Oxz!^;1tBK?KUsD~N1tu8b| zloGKS|D}*8uLZGPn8-#x>RVc!T1fSC=gcpr#@vAX!H3>XzY-AhUQ_gDKe)LSyVGTe zhK&RGC1ZxSv3*l!yk$D3IAIl#;B z@+NmUp33?VbQeSgn?IYkU|b_Lenj&ET@dVSfYgH23uKuLV)f%^=&rhu17h4sgdBps&KN$NB8Bevn{a;MbE-U`2C};4-0}V z);!3U&$Mff&o2!oxZTWN)DV6eYWEGgw_CI8uNT$#MebF*t|9Yo8qf14Z!b4Gp~{+j zE?!R_d$}DgG5Z?=)wSOqUCw_CLpw!5Jhf%1)~FJA80hMF)nmtbK$nU5B1w@-k4AvK zOBUWjpUzx6V!|D#2D7Qo)V%^->*&3PS;QkeBWxjk8y=l@g8j!7*=5f1nh_(Sm70TM z9Z+ZQqi3^EmC^}?ti4B*&7QX|>9Cq9V>2lR)cUp&0cO00kW>(Hzbuij@@_{@U6)+G z%5r0RnoSI2-`a$U>#6TMFiW8>;$T5lEqfS&X%+@gy^|78Ba5gPNU*5O+TR6jBw9u6 zgaSuWX@f*jg+xZE*4p)M@r9Xocl|_T)#fYe>%8eLlQ*v3uUovW?r)CAHS?ge4_1sX zbxU)yT1ZK|EQ>w*rq-a{3~{2nhsl^PaOFh-M$ApE5MF!SDz}$*wtF&xWb$4caJxyfC>G9DntBnBkXOq|P zqAQDVwfx^9=FC&>VT!Iwc^CuKLYU|#I3Fgx4d7l;FzC{|NXs_-Y!r44q(y5bR87V4 z@$-iKg3&mIiUZlMze5Zw*hfGI*|J7G`My>kkpW?Iid0(9NwcalbnVbi5%(IP-&iu? z%q6RfLtNQbPcVob4=CUav37s%;rCQ2w7MKa8YyQ*?1`M zvRIYCZ_fS-Hs86TbsP19pEPuS|1q$ z_J?_CF7664&y38(2-HT&-0menSOwP5!H^z?)aRMxzBmyz$}34_#Gns z_LBTWx-$Y5b8+C;9(Gfx+RckPJzdCnL7DjhMXYbauZy9^v7u{|g_6yCLjxU+;k7a6E<>T_ky^~Y9<4>sBk9S)TTY7V(5^k8qEw=pGfMeLNY#a|_lkiIJdO|og5EHnM8_pFlYE76tf_kTvGg!rDXe{+ zu}#3jk+Aqky7Hv3EB!(Gvdy<|7E?yU%NdqNxF60D-qy-Ih!1=ZfseNl8e>l%dyMAcduEc$agP zzcB`E>WT~Ys2bF~9gjv$e35dDC6=qWO|QbTcGyg{9i}2dmS8d_MHxJ04||+SIW~2+ z%@rDV>LKVk&^4x(GZz>hw=-U13O{6z-HW9nB`Jd{w|-tk?f&Hj#&T)5gFN){XV(}2 zkGwEkLCyMdjm&fB*%$k#LAnt~1AS9(zRXzC$~O?F;AqGu5Xg`N0!Mq7!|@>a0P0Y$ zx27Oc5trbBA2c4v7!-2O%YS1qCKFiyPL!~T852^!wrHz<{`Ok#P*F#wUcg}_k*TaqU$5t5%?tZ@mOvL~!1k&Gp~ z_27B}$vENX^*sFDG>*&h+G;%wmp>e6lZkxMRI}T^dz>Aa!&ESVtzD!$M6UP@+vSvLQDB=EFJ*b zC2Z?CbJ-ZRQ$^N-X2PO08&(I>8w6Mnl2t)*pj=UIteW3%}5={-FQ{^CTf){@sT<* zq6AWupMGxiU_wKjiB&~#R)Kfq>@Kv@A#H)Np|a4UYE5w zYSG-F2~Dko;qCUmN8Jm8kc5n7me(;Is-O#5eyVP7+>rdf7Lt#8LINVvI7RU@VWK$l z(G54`^3$|*qC%^9(IL&J2+SG;g0z`QoTI4a&ik@T@<)@_Q#8R^hn-Frz^R6*k;`v8 zN63l0F658RKAt^{ceOfSokX)0KT z!LcX0fzX#W{Q%1ilxSbXq#&zN|)zmB*<21( z0`#}NzJ(7L!A!M>c2Hv>HFrQuuUZxOBfTNgEN->6hjz%8P=LVwdL1kf#~y=B{1o5# zX~UqzJI0NSbol9g-m7Ug<$3+A2dZBf!<#2+a}c}67n$5(k@nXIH2V{>q~7zJv{>Q$ z5$;Z)p<|jWA+ljbn^q@|J2ak-utROb4gw&)^&Fowrv*BJM?*cDz!+?EyN=#i2 zu^~-KoB%1BYx)<5Z<_}J?=pQdC2cJsUsI;HYAqcne5e@?j9T77nM#XUDnWkdDZfLK zilH_Vqk@`Mf&B=^gwUL2pNPF}5t2cNy;(wkW0QUlO-Q_qN$thp@Mzs?o2; zeeUsTTc9u`HXPJ4IxZ)vA%WOv5QCQ|72xR!o~^>8o(E6uT^w-Uo)3+q?*xjw`azW@HM2iw;-YnO36WMBK<^v%zk zdUU=rih9;|p?CE;Tc^?=H{elqb>LU)4oLsr%`$nqaR8GhH?1Opgqs?H^A`w3mW)V3 z%Ew4`#>3}pm*-nhl^wn<2JLP7)mOfk?~cB7pbHx=v|nO08eG)+b-udJ5Zjpl=I_z| z`2#$zQUA^|D)I5s<+9S8|I4;^-A8UsYqLFYPPii1q})^PTOvH1b2v(`VFj%eogPfM z@jIi8hsLQ~(DaUcE*5lfN9DyJ<>_kj1Z|nAOTepXckxHxNlZqxdBbxWIvV57TjLeeLj)kVTR7dn0vh6|1$1U1i693==`|n1}$>@CD z;gKKIcna5Ssh|07W47c|dVf|#e+ApMII`1C!~`D{;t~#X>5aZ_(QDFLNy=rI`2Ok$ zWdOnnu;&_rH%72GZ*X6(645#|@YTx$N}MnE8HB#Zw<^CoI<4QE*=p_*dz;NJ2wN<> zzFMDcS=}{jE9niTB273{t>G7*^Cpk<5*6F4VrOqEkqh0dfm_teggYiz48zGMv^Hco ztwwKAFrBrda{^M-EM&iM#*D7F%A5;-h7&7mRNAT0UD1;WlkY_*ZazizHDM4}H~pr( z0^NK8wS;m~!F}Wl1^mafhMYoXJ#HOI4qvRF$xQ*P_mGVHr!vM{8ks3n$v=!oGGt5J zy>rOOC5EOI*Nz=wL{p7=*Rub4aZrjM2+168PdIoX6xAQiEoI0XSfj12qdnFRC*8^F z=(LouCcKb$&qfa-+;^{rb+zW}l2g%;&?lPig-bjZ`U^YkcQ#^qQ*ibDVnjlKa;XIV zGri{}u24uY)B+(_a83+35}&uz9$8_WT5~LcYD!?R@+)?~*DLw5uv9CYgq?PXq!x;v z?y|soY)zK%=i#9vitHDXb_fg%d3y3hwJf6suE*_DCTIF;K{!LW zxOADbEG2*t!_r^HJ`P{Y8t9ChIE2AV{p6gRP&+N)`!}>f9cAyrVfI(}OFcG&Cf|a? zI)uNz$a0?R-3#^dm*dRX8+yP`6-3pwA>N%lqsfF{ko~+ccukt5-R83dD%rh@fThu> zqK5ZX4=jWfTyoq?A+-KT3jMXS@0UN+!315}0qB6dtj&us^y%`t$EafDi$7qMgz*v%tbY zKpY}MK&buy0y#T5uy{Mzw`xiO5+8VcJ(N9xcT6s_;H zolTzuuej_{{J*`z1+Hhlq35DCrcTG{DKloj1YOoOD^NtQ=}`}>aCmb@_LqvtYmmdX zI+v5Dt>Vg?U_YuvA*kn|snwwPOdov=Nhy&Q!2e8{rP_F~fkU*%gFptod9HFG!fsmb z2tj_RFA*@id>@)+AYOo;Ma^U=xmdCp?1uiJkX&EP>5xYqS z+U|tIOrrdI+T|377wDhjL!xZ8XLsJku?SizlNSXw^^5y=8AgXv^ujQ+a*RqCJk>@% z(M0(CficPeUkY-#4zk6*6_S%>?n(DhdI1^C?9O{D)CN{f!bz?Wy9qBsLm$97x;q`m zWG2_S)d-GkyEl{;dVM-Gf>VEUb5ga5BPPOtR>B_T&P!**IPnHU_)XjN-p);t<+^(9 z9aWg5GL+7k0@=wR)}*uDhBiJwg85IeB?p6=Fb(=I(-m3i4hHSzp0h`nJTlzKP1>}8 zj|UW*zGO;X6E$wZ!ACT%UZN{wu{BkhpgLTFJ^@cJ4r8y zJ;gKg>Xu2!&++j_cajT++(Q%5@QLz5m=1l~Y@J5A=`&HT1ltftFMy=h>oW^B9VgAN zYoDxN(EIS5o`2>q=*sdjur^zdE8yC-vwD?Uw{k`n*=mch^WBauuU+QWv_+ZF(}ZHK*w^qS_FsK<9q*;C?8SYW!kOEC2U$!6<5+qWZD8%i zJ?5^JNIUO5saR!aQmoXX{6>y(1uqV_@9EA3wC94WkNi+4?p}5ly#2g(;;ZfcIwF!o zGw0J<@AHIe$c(BT^pi0QRUwRQJYJ$Yj{`#6r(4+hRzv(!;Iyqaoy4zT|Js1LA$g!cr zEk0Cs0k%-!5f=ev?OmMRSU()|NLi~@*DcOI4>>r|e2A%mWJ$Q-o z5w&AKR%xBcXFb+3%#pn`wW`5B`11$fjM>WWA;x#m+#+s~^3Ai6Hk<`CpDY*`4%5DG z2KgpXL*7#(nEtjm`x$iQ1PO%=jRex~uX{RZxBc-!hu9Il`TA#O`gYjgcZ~lruqcS` z=V3qfkKao8YbWtdxAE_v8(?NoCD!lv-TyY`ru+DIjOw3bZci7`p>nG$c!TpzH}dW9 zz`q;*qc{1VWl;Pf0+hwy5pDcO8E${v)7|tc{~_-0yOsZtSQK>dkK+EhcNttdc#rO_ zbbZk2`u8;j;2pc*GQnFgZ)E~O)A(O9ZyPef<$^af-pc(5|4(v%BK9BJ8^KY)8wYPu zrV;Ln^7n0o;7H&-d$&k$Koq*QPIU1n}OfTZCeiyCD2arxiF9c*D^x)H&+^3iZ>~ zB{&Rtht4ewJLoR)KPUayejRY(;9W1b!udh_?SBjZw;mX9EbvZ{TdYLP{~7CF2m^1S zxW(zlx+BiNNC$69xRpKv`cEqV&DcM*D1eg%Ug3WWvyO9T81Q<3a1ih^`kz2R$K_pg z`J1A8a1ijC^IH%y{JVktO$9nQ2zXKVEeI9C-9UcS4*ko_gI6%$Vq_BD5#zR=8C(JI zQsGl&mqJ`{;o!Bbx57(F?jZc%DqF#!z)MAMp&Cf< z0QGl;qu>zWb(pshEo66q_-j=rH~@Ij<1IiH`JDiM>qG!6fdmHuuPD3)X#)AM|GBVl z7QsK)7lMO<*X!Ma^-|sy?4PUmz|p{q=5EodsP2gNQwbfobnx1#EnsPOmC(ZAVm3AMw^-2j65uZwJGJ{)@_=$p4)e z{b#W^nbBLZO8<-4yW~m#0RH<-=^xNVK`;J)fq&#pZztpTJOFso@5HQ literal 0 HcmV?d00001 diff --git a/libraries/geronimo-jms_1.1_spec-1.1.1.jar b/libraries/geronimo-jms_1.1_spec-1.1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..4f5e64643ad8314fe72c4033a4dadca1ebaa4c3f GIT binary patch literal 32359 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 UUv5WPI9WI}m=?3V-S5f%3wXRIxc~qF literal 0 HcmV?d00001 diff --git a/libraries/hawtbuf-1.11.jar b/libraries/hawtbuf-1.11.jar new file mode 100644 index 0000000000000000000000000000000000000000..c7042a6c752b0b405c8483a2b8b4d568658c2a59 GIT binary patch literal 50155 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 Zi@X#x$dv;IMhE&aegX#OP;>X!{{w<#)(!vw literal 0 HcmV?d00001 diff --git a/libraries/slf4j-api-1.7.25.jar b/libraries/slf4j-api-1.7.25.jar new file mode 100644 index 0000000000000000000000000000000000000000..0143c099699ee843cde6d95c9dbc7751039d2463 GIT binary patch literal 41203 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 literal 0 HcmV?d00001 diff --git a/src/de/hottis/MeasurementCollector/ADataObject.java b/src/de/hottis/MeasurementCollector/ADataObject.java index 5e99256..cf36368 100644 --- a/src/de/hottis/MeasurementCollector/ADataObject.java +++ b/src/de/hottis/MeasurementCollector/ADataObject.java @@ -1,12 +1,15 @@ package de.hottis.MeasurementCollector; +import java.io.Serializable; import java.time.LocalDateTime; import java.util.Map; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -public abstract class ADataObject { +public abstract class ADataObject implements Serializable { + private static final long serialVersionUID = 1L; + final protected Logger logger = LogManager.getRootLogger(); private LocalDateTime timestamp; diff --git a/src/de/hottis/MeasurementCollector/AJmsQueue.java b/src/de/hottis/MeasurementCollector/AJmsQueue.java new file mode 100644 index 0000000..7ed3cac --- /dev/null +++ b/src/de/hottis/MeasurementCollector/AJmsQueue.java @@ -0,0 +1,42 @@ +package de.hottis.MeasurementCollector; + +import javax.jms.Connection; +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Session; + +import org.apache.activemq.ActiveMQConnectionFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public abstract class AJmsQueue { + final protected Logger logger = LogManager.getRootLogger(); + + protected Connection connection; + protected Session session; + protected Destination destination; + + public AJmsQueue() { + + } + + + public void init() throws MeasurementCollectorException { + try { + ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); + logger.debug("connectionFactory: " + connectionFactory); + connection = connectionFactory.createConnection(); + connection.start(); + logger.debug("connection: " + connection); + session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + logger.debug("session: " + session); + destination = session.createQueue("TEST.FOO"); + logger.debug("destination: " + destination); + } catch (JMSException e) { + logger.error("JMSException in AJmsQueue.init", e); + throw new MeasurementCollectorException("JMSException in AJmsQueue.init", e); + } + } + + +} diff --git a/src/de/hottis/MeasurementCollector/AMessageParser.java b/src/de/hottis/MeasurementCollector/AMessageParser.java index cb2f055..cb62567 100644 --- a/src/de/hottis/MeasurementCollector/AMessageParser.java +++ b/src/de/hottis/MeasurementCollector/AMessageParser.java @@ -1,6 +1,7 @@ package de.hottis.MeasurementCollector; import java.time.LocalDateTime; +import java.util.List; import java.util.Properties; import org.apache.logging.log4j.LogManager; @@ -10,18 +11,34 @@ public abstract class AMessageParser { final protected Logger logger = LogManager.getRootLogger(); private String topic; - protected DataObjectQueue queue; + //private DataObjectQueue queue; + private JmsQueueProducer jmsQueue = new JmsQueueProducer(); protected Properties config; - + public AMessageParser(String topic, Properties config, DataObjectQueue queue) { this.topic = topic; this.config = config; - this.queue = queue; + //this.queue = queue; } - + + public void init() throws MeasurementCollectorException { + jmsQueue.init(); + } + + public String getTopic() { return this.topic; } - + + public void enqueue(List itemList) throws MeasurementCollectorException { + for (ADataObject ado : itemList) { + jmsQueue.enqueue(ado); + logger.debug("message enqueued"); + } + + //queue.add(itemList); + //logger.debug("Queue size: " + queue.size()); + } + abstract public void execute(LocalDateTime timestamp, String msgPayload); } diff --git a/src/de/hottis/MeasurementCollector/ElectricEnergyDataObject.java b/src/de/hottis/MeasurementCollector/ElectricEnergyDataObject.java index 390d9b8..93aeb77 100644 --- a/src/de/hottis/MeasurementCollector/ElectricEnergyDataObject.java +++ b/src/de/hottis/MeasurementCollector/ElectricEnergyDataObject.java @@ -4,6 +4,7 @@ import java.time.LocalDateTime; import java.util.HashMap; public class ElectricEnergyDataObject extends ADataObject { + private static final long serialVersionUID = 1L; static final String ENERGY_KEY = "energy"; static final String POWER_KEY = "power"; static final String TABLE_NAME = "ElectricEnergy"; diff --git a/src/de/hottis/MeasurementCollector/JmsQueueProducer.java b/src/de/hottis/MeasurementCollector/JmsQueueProducer.java new file mode 100644 index 0000000..a8834e9 --- /dev/null +++ b/src/de/hottis/MeasurementCollector/JmsQueueProducer.java @@ -0,0 +1,44 @@ +package de.hottis.MeasurementCollector; + +import java.io.Serializable; + +import javax.jms.DeliveryMode; +import javax.jms.JMSException; +import javax.jms.MessageProducer; +import javax.jms.ObjectMessage; + +public class JmsQueueProducer extends AJmsQueue { + private MessageProducer producer; + + public JmsQueueProducer() { + super(); + } + + public void init() throws MeasurementCollectorException { + super.init(); + + try { + producer = session.createProducer(destination); + producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); + logger.debug("producer: " + producer); + } catch (JMSException e) { + logger.error("JMSException in AJmsQueue.init", e); + throw new MeasurementCollectorException("JMSException in JmsQueueProducer.init", e); + } + } + + public void enqueue(T item) throws MeasurementCollectorException { + try { + ObjectMessage message = session.createObjectMessage(); + message.setObject(item); + producer.send(message); + logger.debug("message enqueued"); + } catch (JMSException e) { + logger.error("JMSException in JmsQueueProducer.enqueue", e); + logger.error("Calling init"); + init(); + throw new MeasurementCollectorException("JMSException in JmsQueueProducer.enqueue", e); + } + } + +} diff --git a/src/de/hottis/MeasurementCollector/MBusParser.java b/src/de/hottis/MeasurementCollector/MBusParser.java index c08fd77..2e78cd4 100644 --- a/src/de/hottis/MeasurementCollector/MBusParser.java +++ b/src/de/hottis/MeasurementCollector/MBusParser.java @@ -85,13 +85,12 @@ public class MBusParser extends AMessageParser { // logger.debug(ado); //} - queue.add(measurementItems); - //logger.debug("Queue size: " + queue.size()); + enqueue(measurementItems); } else { logger.warn("unknown name: " + name); } } catch (Exception e) { - logger.error("Exception when handling mbus message: " + e); + logger.error("Exception when handling mbus message: ", e); } } diff --git a/src/de/hottis/MeasurementCollector/MeasurementCollector.java b/src/de/hottis/MeasurementCollector/MeasurementCollector.java index 22dcac2..e9de2d5 100644 --- a/src/de/hottis/MeasurementCollector/MeasurementCollector.java +++ b/src/de/hottis/MeasurementCollector/MeasurementCollector.java @@ -26,6 +26,7 @@ public class MeasurementCollector { logger.debug("Queue instantiated"); MBusParser mbusParser = new MBusParser(config, queue); + mbusParser.init(); mbusParser.registerConfiguredDataParsers(); mqttReceiver.registerParser(mbusParser); logger.debug("MBusParser started"); diff --git a/src/de/hottis/MeasurementCollector/TemperatureDataObject.java b/src/de/hottis/MeasurementCollector/TemperatureDataObject.java index ec67dae..ba92bbe 100644 --- a/src/de/hottis/MeasurementCollector/TemperatureDataObject.java +++ b/src/de/hottis/MeasurementCollector/TemperatureDataObject.java @@ -4,6 +4,7 @@ import java.time.LocalDateTime; import java.util.HashMap; public class TemperatureDataObject extends ADataObject { + private static final long serialVersionUID = 1L; static final String TEMPERATURE_KEY = "temperature"; static final String TABLE_NAME = "Temperature";