<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3218663144896214273</id><updated>2012-02-08T16:11:25.663+01:00</updated><category term='AOP'/><category term='Java konferencje'/><category term='Twitter'/><category term='OSGi'/><category term='Chainsaw'/><category term='Screencast'/><category term='Apache ActiveMQ'/><category term='Project Managment'/><category term='JAVArsovia'/><category term='Log4j'/><category term='Bazy danych'/><category term='Grails Tomcat'/><category term='Groovy'/><category term='ESB Mule'/><category term='Jazoon'/><category term='TDD'/><category term='Groove'/><category term='Libre Graphics Meeting'/><category term='Maven'/><category term='Wicket'/><category term='Eclipse'/><category term='Silesia JUG'/><category term='Spring'/><category term='Android'/><category term='SVN'/><title type='text'>O Javie i nie tylko słów kilka</title><subtitle type='html'>czyli wszystko co wiąże się z Java (Spring Framework, ESB Mule, OO, AOP, TDD)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3270000255921854223</id><published>2011-11-15T15:06:00.004+01:00</published><updated>2011-11-15T15:11:55.307+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>20. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie  zaprasza wszystkich na dziewiętnaste spotkanie, które odbędzie się 16.11.2011 o godzinie 18:00 na Politechnice Śląskiej w Gliwicach wydział &lt;a href="http://www.aei.polsl.pl/"&gt;AEI&lt;/a&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;aula D!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Temat:&lt;span style="font-weight:bold;"&gt; Wprowadzenie do Clojure i Web App&lt;/span&gt;&lt;br /&gt;Prowadzący: &lt;span style="font-weight:bold;"&gt;Hubert Iwaniuk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Wstęp: Podczas spotkania zbudujemy webowa aplikacje w Clojure.&lt;br /&gt;&lt;br /&gt;   Rozpoczniemy od zapoznania sie z najciekawszymi cechami Clojure:&lt;br /&gt;   - Immutability&lt;br /&gt;   - Sequence Library&lt;br /&gt;   - Functional Programming&lt;br /&gt;&lt;br /&gt;   Korzystajac z przykladu batman.js "todo list", zmienimy storage ze&lt;br /&gt;   standardowego LocalStorage na RestStorage.&lt;br /&gt;   Nastepnie napiszemy prosty server ReST w Clojure, ktory bedzie&lt;br /&gt;   backendem naszej aplikacji.&lt;br /&gt;&lt;br /&gt;   Autor: http://twitter.com/neotyk Clojure zajmuje sie od prawie 2&lt;br /&gt;   lat. Ponad rok uzywam Clojure w Open Source, od roku komercyjnie.&lt;br /&gt;   Dzieki Clojure udało mi się odnaleźć radość programowania.&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;&lt;br /&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Huberta i Silesia JUG&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3270000255921854223?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3270000255921854223/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3270000255921854223' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3270000255921854223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3270000255921854223'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2011/11/20-spotkanie-slaskiej-grupy.html' title='20. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-549063978229309543</id><published>2011-11-03T10:26:00.005+01:00</published><updated>2011-11-07T13:30:04.882+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>19. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na dziewiętnaste spotkanie, które odbędzie się 8.11.2011 o godzinie 17:30 na Politechnice Śląskiej w Gliwicach wydział &lt;a href="http://www.aei.polsl.pl/"&gt;AEI&lt;/a&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;aula E!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Temat: &lt;span style="font-weight:bold;"&gt;Spring Data JPA&lt;/span&gt;&lt;br /&gt;Prowadzący: &lt;span style="font-weight:bold;"&gt;Jacek Hromiński&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Wstęp:&lt;br /&gt;W trakcie spotkania zostanie zaprezentowana biblioteka Spring Data JPA. Na wstępie opiszę czym jest DAO oraz co zyskujemy dzięki wykorzystaniu tego wzorca projektowego. Następnie pokażę w jaki sposób ewoluowała warstwa DAO w ostatnich latach i pokrótce wskażę co w nich było dobrego, a co złego. Głównym elementem prezentacji będzie analiza jednej z nowych zabawek ze stajni SpringSource czyli "Spring Data JPA". Znajdziecie tu nie tylko odpowiedzi na  takie standardowe pytania jak:"do czego to służy?" i "jak to odpalić?", ale także pokażę w jaki sposób ta biblioteka może usprawnić proces wytwarzania oprogramowania. Prezentacja będzie wzbogacona o kilka kompilujących się przykładów, które udowodnią, że pisanie DAO nie musi przyprawiać programistów o ból głowy. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Jacek Hromiński&lt;/span&gt; - Z Javą EE związany przez ostatnie 2,5 roku. Na co dzień zajmuję się przede wszystkim wytwarzaniem oprogramowania z wykorzystaniem Eclipse, Apache Wicket, Spring 3.0, JBoss 5, Hibernate. Aktualnie przeżywam fascynację wszystkimi "zabawkami" związanymi ze Spring-iem. W zaciszu domowym eksperymentuję wykorzystując przede wszystkim Jetty i swój optymizm, że może wreszcie wszystko się skompiluje jak należy.&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;&lt;br /&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Jacka i Silesia JUG&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-549063978229309543?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/549063978229309543/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=549063978229309543' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/549063978229309543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/549063978229309543'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2011/11/19-spotkanie-slaskiej-grupy.html' title='19. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-6636495260336101017</id><published>2010-10-10T16:37:00.025+02:00</published><updated>2010-10-25T00:18:06.095+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android pierwsze kroki</title><content type='html'>Dzisiaj postanowiłem bliżej przyjrzeć się technologią mobilnym na pierwszy rzut trafił &lt;a href="http://developer.android.com/"&gt;Android&lt;/a&gt;. Więc zaczynamy ściągamy najpierw &lt;a href="http://developer.android.com/sdk/index.html"&gt;Android SDK&lt;/a&gt; potem ściągamy &lt;a href="http://www.eclipse.org/downloads/"&gt;Eclipse&lt;/a&gt; i instalujemy wtyczkę do Androida o nazwie &lt;a href="http://developer.android.com/sdk/eclipse-adt.html"&gt;ADT&lt;/a&gt; :&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_MBa6gEugPjk/TLJAa0qJnJI/AAAAAAAAAOY/yMhzNghY8z8/s1600/Picture+1.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 277px; height: 285px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/TLJAa0qJnJI/AAAAAAAAAOY/yMhzNghY8z8/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5526550522293230738" border="0"&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_MBa6gEugPjk/TLJAu7JBoBI/AAAAAAAAAOg/J0GDS55SpXM/s1600/Picture+5.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 150px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/TLJAu7JBoBI/AAAAAAAAAOg/J0GDS55SpXM/s320/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5526550867630727186" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJA5QABeEI/AAAAAAAAAOo/kYdxaHiyZGs/s1600/Picture+6.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 248px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJA5QABeEI/AAAAAAAAAOo/kYdxaHiyZGs/s320/Picture+6.png" alt="" id="BLOGGER_PHOTO_ID_5526551045028804674" border="0"&gt;&lt;/a&gt;Akceptacja regulaminu:&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJBFsOpbhI/AAAAAAAAAOw/SVRVLxyeYMY/s1600/Picture+8.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 247px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJBFsOpbhI/AAAAAAAAAOw/SVRVLxyeYMY/s320/Picture+8.png" alt="" id="BLOGGER_PHOTO_ID_5526551258764766738" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Integracja z Eclipse:&lt;br /&gt;Windows -&gt; Preferences&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJBVFfjEpI/AAAAAAAAAO4/9uTNWXHnph8/s1600/Picture+9.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 273px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJBVFfjEpI/AAAAAAAAAO4/9uTNWXHnph8/s320/Picture+9.png" alt="" id="BLOGGER_PHOTO_ID_5526551523244577426" border="0"&gt;&lt;/a&gt;Instalacja Android SDK rozpakujemy zip do jakiegoś katalogu i dodajemy ścieżkę (path) do zmiennych systemowych.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJBn2pXYBI/AAAAAAAAAPA/wBonx9IqCfk/s1600/Picture+10.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 284px; height: 320px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJBn2pXYBI/AAAAAAAAAPA/wBonx9IqCfk/s320/Picture+10.png" alt="" id="BLOGGER_PHOTO_ID_5526551845676736530" border="0"&gt;&lt;/a&gt;&lt;br /&gt;Stworzenie Android Virtual Machine:&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJCVzjovDI/AAAAAAAAAPI/t9_OsApi9-Y/s1600/Picture+11.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 186px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJCVzjovDI/AAAAAAAAAPI/t9_OsApi9-Y/s320/Picture+11.png" alt="" id="BLOGGER_PHOTO_ID_5526552635121384498" border="0"&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJCoVXFMQI/AAAAAAAAAPQ/ccaNCrB4gXg/s1600/Picture+13.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 160px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJCoVXFMQI/AAAAAAAAAPQ/ccaNCrB4gXg/s320/Picture+13.png" alt="" id="BLOGGER_PHOTO_ID_5526552953433174274" border="0"&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJC0NW2CRI/AAAAAAAAAPY/PyeExz-y7xw/s1600/Picture+14.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 187px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJC0NW2CRI/AAAAAAAAAPY/PyeExz-y7xw/s320/Picture+14.png" alt="" id="BLOGGER_PHOTO_ID_5526553157443127570" border="0"&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJC-s45-_I/AAAAAAAAAPg/bJjI_yzGx60/s1600/Picture+15.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 222px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJC-s45-_I/AAAAAAAAAPg/bJjI_yzGx60/s320/Picture+15.png" alt="" id="BLOGGER_PHOTO_ID_5526553337706183666" border="0"&gt;&lt;/a&gt;&lt;br /&gt;Nowy projekt w Eclipse Android Project :)&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_MBa6gEugPjk/TLJDK69aSDI/AAAAAAAAAPo/5P7CuIxQFbY/s1600/Picture+16.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 319px; height: 320px;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/TLJDK69aSDI/AAAAAAAAAPo/5P7CuIxQFbY/s320/Picture+16.png" alt="" id="BLOGGER_PHOTO_ID_5526553547641604146" border="0"&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJDVIR7LYI/AAAAAAAAAPw/7xL1jabMT_Y/s1600/Picture+17.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 213px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJDVIR7LYI/AAAAAAAAAPw/7xL1jabMT_Y/s320/Picture+17.png" alt="" id="BLOGGER_PHOTO_ID_5526553723015998850" border="0"&gt;&lt;br /&gt;Na końcu Finish i gotowe:)&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJDvATOlUI/AAAAAAAAAQA/EgtkIMfCWA8/s1600/Picture+20.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 174px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJDvATOlUI/AAAAAAAAAQA/EgtkIMfCWA8/s320/Picture+20.png" alt="" id="BLOGGER_PHOTO_ID_5526554167550580034" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No to by było tyle na pierwszy raz, ale coraz bardziej mi się podoba ta platforma:)&lt;br /&gt;Uruchomienie Run -&gt; Run as Android application&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJEEtrpCaI/AAAAAAAAAQI/we7E_yhYgPI/s1600/Picture+21.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 225px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/TLJEEtrpCaI/AAAAAAAAAQI/we7E_yhYgPI/s320/Picture+21.png" alt="" id="BLOGGER_PHOTO_ID_5526554540509825442" border="0"&gt;&lt;/a&gt;&lt;br /&gt;No i na koniec widzimy piękną konsole z naszą wiadomością.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJEOVHJUSI/AAAAAAAAAQQ/mmoVV7GKZh8/s1600/Picture+22.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 223px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/TLJEOVHJUSI/AAAAAAAAAQQ/mmoVV7GKZh8/s320/Picture+22.png" alt="" id="BLOGGER_PHOTO_ID_5526554705712992546" border="0"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-6636495260336101017?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/6636495260336101017/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=6636495260336101017' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6636495260336101017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6636495260336101017'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2010/10/android-pierwsze-kroki.html' title='Android pierwsze kroki'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MBa6gEugPjk/TLJAa0qJnJI/AAAAAAAAAOY/yMhzNghY8z8/s72-c/Picture+1.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3159082847149634409</id><published>2010-07-11T23:01:00.003+02:00</published><updated>2010-07-11T23:27:11.861+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>18. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na czternaste spotkanie, które odbędzie się 13.07.2010 o godzinie 18:00 w COIG (Centralny Ośrodek Informatyki Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100 w Katowicach.&lt;br /&gt;&lt;br /&gt;Temat:&lt;span style="font-weight:bold;"&gt;Wprowadzenie do języka Groovy.&lt;/span&gt;&lt;br /&gt;Prowadzący: &lt;span style="font-weight:bold;"&gt;Adrian Pawlik&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Wstęp:&lt;br /&gt;Na prezentacji przedstawiony zostanie język Groovy, czyli dynamiczny, zwinny język programowania uruchamiany na maszynie wirtualnej Java. Omówiony zostanie między innymi sposób integracji z Javą, różnice w stosunku do Javy, konstrukcje, obsługa list oraz map, domknięcia, meta programowanie i dynamiczne typowanie. Spotkanie kierowane jest głównie do osób, które nie miały styczności z tym językiem lub chcą uporządkować podstawową wiedzę. Język omawiany będzie na podstawie licznych fragmentów kodu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Adrian Pawlik&lt;/span&gt; - obecnie pracuję na stanowisku starszego programisty java w firmie IDEM (www.id-em.pl). Moje zainteresowania zawodowe to bardzo szeroko pojęta technologia JEE. Aktualnie szczególnie zajmują mnie dynamiczne języki programowania, tworzenie aplikacji w technologiach jsf2, jpa2, spring3 oraz zagadnienia związanie z integracją.&lt;br /&gt;&lt;br /&gt;Do rozlosowania będzie wejściówka na &lt;a href="http://devoxx.com/display/Devoxx2K10/Home"&gt;DEVOXX&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut). Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Adriana i Silesia JUG&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3159082847149634409?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3159082847149634409/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3159082847149634409' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3159082847149634409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3159082847149634409'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2010/07/18-spotkanie-slaskiej-grupy.html' title='18. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-6233033276958366343</id><published>2010-06-29T16:19:00.002+02:00</published><updated>2010-06-29T16:36:04.688+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>17. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na siedemnaste spotkanie, które odbędzie się 29.06.2010 o godzinie 18:00 w Auli D Wydziału Automatyki, Elektroniki i Informatyki Politechniki Śląskiej, w Gliwicach ul. Akademicka 2a.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Temat&lt;/span&gt;: Spring Roo, jako narzędzie do błyskawicznego tworzenia aplikacji&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Prowadzący&lt;/span&gt;: Łukasz Bachman&lt;br /&gt;&lt;br /&gt;Łukasz opowie nam o projekcie Roo, jego możliwościach i funkcjach. Osobnym tematem będzie integracja z GWT i innymi technologiami. Ma zamiar wspomnieć trochę o konstrukcji samego projektu, ale skupi się bardziej na tym, co zyskuje developer. Całość zostanie poparta przykładami użycia prezentowanymi "live".&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut). Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Łukasza i Silesia JUG&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-6233033276958366343?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/6233033276958366343/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=6233033276958366343' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6233033276958366343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6233033276958366343'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2010/06/17-spotkanie-slaskiej-grupy.html' title='17. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-7388659421060992321</id><published>2010-05-20T18:58:00.004+02:00</published><updated>2010-05-20T19:19:21.805+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Screencast'/><category scheme='http://www.blogger.com/atom/ns#' term='Grails Tomcat'/><title type='text'>Screencast -Grails Tomcat Netbeans 6.8 szukanie memory leak w aplikacji.</title><content type='html'>od dłuższego czasu trapi mnie wyciek pamięci w aplikacji grailsowej, którego nie mogłem zlokalizować:/ ostatnio &lt;a href="http://blog.aplikacja.info/"&gt;Dariusz Cieślak&lt;/a&gt; w komentarzu podał mi linka do &lt;a href="http://www.khelekore.org/jmp/screenshot.html" rel="nofollow"&gt;Java  Memory Profiler (JMP)&lt;/a&gt; , ale jakoś nie udało mi się go pod mackiem uruchomić (nie chciało mi się bawić, ze ścieżkami :/). Postanowiłem więc uruchomić Tomcata jako serwer i podpiąć się pod niego przez Netabeans profilerem, jak to wyszło można zobaczyć tutaj:&lt;br /&gt;&lt;object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0' width='560' height='345'&gt;&lt;param name='movie' value='http://screenr.com/Content/assets/screenr_1116090935.swf' &gt;&lt;/param&gt;&lt;param name='flashvars' value='i=72088' &gt;&lt;/param&gt;&lt;param name='allowFullScreen' value='true' &gt;&lt;/param&gt;&lt;embed src='http://screenr.com/Content/assets/screenr_1116090935.swf' flashvars='i=72088' allowFullScreen='true' width='560' height='345' pluginspage='http://www.macromedia.com/go/getflashplayer' &gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Podczas prezentacji pojawiły się jakieś wyjątki w konsoli i to pomogło mi wykryć wycieki :)&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;SEVERE: A web application registered the JBDC driver [org.hsqldb.jdbcDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-2] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-3] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-4] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-5] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-6] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-7] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-8] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-9] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads&lt;br /&gt;SEVERE: A web application appears to have started a thread named [quartzScheduler_Worker-10] but has failed to stop it. This is very likely to create a memory leak.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap&lt;br /&gt;SEVERE: A web application created a ThreadLocal with key of type [null] (value [org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory$2@55dd7f]) and a value of type [java.lang.Boolean] (value [false]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap&lt;br /&gt;SEVERE: A web application created a ThreadLocal with key of type [org.codehaus.groovy.reflection.ClassInfo.ThreadLocalMapHandler] (value [org.codehaus.groovy.reflection.ClassInfo$ThreadLocalMapHandler@3127f6]) and a value of type [java.lang.ref.SoftReference] (value [java.lang.ref.SoftReference@d5d9cc]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.&lt;br /&gt;2010-05-20 16:06:28 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap&lt;br /&gt;SEVERE: A web application created a ThreadLocal with key of type [org.codehaus.groovy.runtime.GroovyCategorySupport.MyThreadLocal] (value [org.codehaus.groovy.runtime.GroovyCategorySupport$MyThreadLocal@6e98d7]) and a value of type [java.lang.ref.SoftReference] (value [java.lang.ref.SoftReference@f46e5a]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.&lt;br /&gt;log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;I co się okazało, że po przejśćiu na nowszą wersję grailsów jedna z wtyczek a dokładnie &lt;a href="http://grails.org/plugin/quartz"&gt;quartz&lt;/a&gt; nie była odpowiednia do wersji grailsów. No więc spędziłem trochę czasu z profilerem, a rozwiązanie polegało na zmianie numeru wersji wtyczki, ale bez tych logów było by cieżko, a co dziwne sam tomcat w normalnym trybie tego nie logował:/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-7388659421060992321?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/7388659421060992321/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=7388659421060992321' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7388659421060992321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7388659421060992321'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2010/05/screencast-grails-tomcat-netbeans-68.html' title='Screencast -Grails Tomcat Netbeans 6.8 szukanie memory leak w aplikacji.'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-7967554393593672100</id><published>2010-05-17T12:46:00.003+02:00</published><updated>2010-05-18T12:15:35.291+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>15. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG</title><content type='html'>&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); line-height: 16px; font-family:Verdana, Arial, sans-serif;font-size:13px;"&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, sans-serif; line-height: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;TERMIN PRELEKCJI ZMIENIONY NA 25.05.2010&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Arial, sans-serif; font-size: 12px; line-height: normal; "&gt;&lt;/span&gt; &lt;/div&gt;Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na piętnaste spotkanie, które odbędzie się 18.05.2010&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Georgia, serif; font-size: 16px; line-height: normal; "&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51); line-height: 16px; font-family:Verdana, Arial, sans-serif;font-size:13px;"&gt;(&lt;/span&gt;&lt;span class="Apple-style-span"   style="line-height: 16px; font-family:Verdana, Arial, sans-serif;font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;25.05.2010&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51); line-height: 16px; font-family:Verdana, Arial, sans-serif;font-size:13px;"&gt;)&lt;/span&gt;&lt;/span&gt; o godzinie 18:00 w COIG &lt;/span&gt;&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); line-height: 16px; font-family:Verdana, Arial, sans-serif;font-size:13px;"&gt;(Centralny Ośrodek Informatyki Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100 w Katowicach.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Verdana, Arial, sans-serif;font-size:100%;color:#333333;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Verdana, Arial, sans-serif;font-size:100%;color:#333333;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px;font-size:13px;"&gt;Temat: &lt;b&gt;GWT + Spring z wykorzystaniem architektury MVP i wzorca Command do komunikacji klient - serwer&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:Verdana, Arial, sans-serif;font-size:100%;color:#333333;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px;font-size:13px;"&gt;Prowadzący:&lt;b&gt; &lt;/b&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 0);  line-height: normal; border-collapse: collapse; font-family:arial, sans-serif;"&gt;&lt;b&gt;Michał Sędzielewski&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;Wstęp:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-align: left; "&gt;GWT to zbiór narzędzi pozwalających web developerom na tworzenie i utrzymywanie zaawansowanych aplikacji Javascript pisanych w Java.&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;Celem prezentacji będzie zaprezentowanie wykorzystania wzorca MVP do stworzenia testowalnej i łatwo rozszerzalnej aplikacji w oparciu o GWT, Spring Framework oraz Google Gin. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;Michał Sędzielewski - s&lt;span class="Apple-style-span" style="border-collapse: separate; "&gt;tudent 4 roku Makrokierunku, Wydział AEI Politechniki Śląskiej, Software Developer w firmie Future Processing.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;span class="Apple-style-span"  style=" color: rgb(51, 51, 51); line-height: 16px; font-family:Verdana, Arial, sans-serif;"&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; line-height: 1.3em; "&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial, sans-serif;font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse;  font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: separate; line-height: 16px;  font-family:Verdana, Arial, sans-serif;"&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut). Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; line-height: 1.3em; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.75em; margin-left: 0px; line-height: 1.3em; "&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial, sans-serif;font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse;  font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: separate; line-height: 16px;  font-family:Verdana, Arial, sans-serif;"&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Michała i Silesia JUG&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-7967554393593672100?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/7967554393593672100/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=7967554393593672100' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7967554393593672100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7967554393593672100'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2010/05/15-spotkanie-slaskiej-grupy.html' title='15. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-2303752647500548867</id><published>2010-05-14T14:50:00.006+02:00</published><updated>2010-05-14T15:22:31.597+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Grails Tomcat'/><title type='text'>Tomcat - Diagnostics - Web application has caused a memory leak</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"  style="font-family:Helvetica, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Dzisiaj po załadowaniu aplikacji grailsowej do Tomcata, z ciekawośći postanowiłem kliknąć w konsoli managera (http://192.168.0.99:8080/manager/html/) w sekcji "Diagnostics" -&gt; "Find leaks"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Georgia, serif;font-size:16px;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/S-1KB71xsNI/AAAAAAAAAOA/BI6gSRyNEPg/s1600/Picture+5.png"&gt;&lt;img src="http://4.bp.blogspot.com/_MBa6gEugPjk/S-1KB71xsNI/AAAAAAAAAOA/BI6gSRyNEPg/s320/Picture+5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5471110519428591826" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 42px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;ku mojemu zaskoczeniu dostałem coś takiego w "Message":&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif, Tahoma, Arial;font-size:medium;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;The following web applications were stopped (reloaded, undeployed), but their&lt;/pre&gt;&lt;pre&gt;classes from previous runs are still loaded in memory, thus causing a memory&lt;/pre&gt;&lt;pre&gt;leak (use a profiler to confirm): &lt;/pre&gt;&lt;pre&gt;/SimpleProject&lt;/pre&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/S-1KjdScb-I/AAAAAAAAAOI/pLjbfSxVx1w/s1600/Picture+6.png"&gt;&lt;img src="http://1.bp.blogspot.com/_MBa6gEugPjk/S-1KjdScb-I/AAAAAAAAAOI/pLjbfSxVx1w/s320/Picture+6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5471111095342886882" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 168px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;i niestety jestem teraz w kropce:/ może ktoś zna jakiś dobry profiler do grailsów, bądź jakiś inny sposób na znalezienie odpowiedzi co jest nie tak ?&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-2303752647500548867?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/2303752647500548867/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=2303752647500548867' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2303752647500548867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2303752647500548867'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2010/05/tomcat-diagnostics-web-application-has.html' title='Tomcat - Diagnostics - Web application has caused a memory leak'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/S-1KB71xsNI/AAAAAAAAAOA/BI6gSRyNEPg/s72-c/Picture+5.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-5948571379760465987</id><published>2010-04-25T18:49:00.009+02:00</published><updated>2010-05-01T19:46:45.180+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>14. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG</title><content type='html'>&lt;span class="Apple-style-span"   style="  line-height: 16px; font-family:Verdana, Arial, sans-serif;font-size:13px;"&gt;Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na czternaste spotkanie, które odbędzie się 4.05.2010 o godzinie 18:30 w COIG (Centralny Ośrodek Informatyki Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100 w Katowicach.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px;font-size:13px;"&gt;&lt;span class="Apple-style-span"  style=" line-height: normal; border-collapse: collapse; font-family:arial, sans-serif;"&gt;Temat: &lt;b&gt;Android&lt;/b&gt;&lt;br /&gt;Prowadzący: &lt;b&gt;Krzysztof Wolny&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Wprowadzenie: Android to system operacyjny dla smartfonów (i innych&lt;br /&gt;urządzeń) opracowany przez Google i udostępniany w ramach Open Handset&lt;br /&gt;Alliance pod koniec 2007 roku. Pozwala na pisanie aplikacji w języku&lt;br /&gt;Java, posiada otwarty kod, pozwala na łatwą integrację z urządzeniem i&lt;br /&gt;usługami Google.&lt;br /&gt;&lt;br /&gt;Cel: Prezentacja ma na celu wprowadzenie uczestników w świat Androida,&lt;br /&gt;przedstawienie jego filozofii działania, możliwości i cech.&lt;br /&gt;Podparte ono zostanie prostymi przykładami, tak by dać przedsmak tego&lt;br /&gt;na co pozwala Android.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Krzysztof Wolny&lt;/b&gt; - z powołania bazodanowiec, z zawodu&lt;br /&gt;projektant/programista. Na co dzień pracujący w firmie ComArch SA nad&lt;br /&gt;projektami w technologii JEE, po godzinach pasjonat Androida, baz&lt;br /&gt;danych, usług Google, standardów (szczególnie tych otwartych).&lt;br /&gt;Założyciel Polish Android Group.&lt;br /&gt;&lt;br /&gt;Po prezentacji przewidziany jest czas na dyskusje i "zerowe" spotkanie&lt;br /&gt;członków Polish Android Group :)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: separate;  line-height: 16px; font-family:Verdana, Arial, sans-serif;"&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut). Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: separate;  line-height: 16px; font-family:Verdana, Arial, sans-serif;"&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;&lt;span class="Apple-style-span"  style="font-family:Verdana, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: -webkit-xxx-large; line-height: 16px;"&gt;&lt;span class="Apple-style-span"   style="font-family:Helvetica, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: normal;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Krzysztofa i Silesia JUG&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse;  font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="border-collapse: collapse; font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-5948571379760465987?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/5948571379760465987/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=5948571379760465987' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5948571379760465987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5948571379760465987'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2010/04/14-spotkanie-slaskiej-grupy.html' title='14. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-1585199777569060361</id><published>2010-04-14T10:33:00.003+02:00</published><updated>2010-04-14T10:42:34.428+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>13. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 16px; "&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na trzynaste spotkanie, które odbędzie się 15.04.2010 o godzinie 18:00 na Politechnice Śląskiej wydział AEI ul. Akademicka 2 aula E.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 16px;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 16px;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Temat: &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;StormGrind&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;br /&gt;Prowadzący: &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse; font-weight: bold; white-space: nowrap; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Marek Goldmann&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 16px;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 16px;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Wprowadzenie:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana, Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; line-height: normal; border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;StormGrind to pomysł JBossa na cloud computing. To zbiór projektów pomagających w uruchamianiu aplikacji w chmurach, ale nie tylko – to również projekty pomagające w tworzeniu rozwiązań IaaS oraz PaaS w twojej firmie.&lt;br /&gt;&lt;br /&gt;Prezentacja ma na celu wprowadzenie do niektórych projektów spod parasola StormGrind takich jak CirrAS, BoxGrinder czy CoolingTower. Przewidziane jest demo wybranych projektów.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;UWAGA! W trakcie prezentacji zostanie rozlosowana darmowa wejściówka na konferencję GeeCON 2010!&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Marek Goldmann&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;, pasjonat otwartych technologii i standardów, entuzjasta projektów na nich opartych. Żywo zainteresowany tematem wirtualizacji i cloud computingu. Software Engineer pracujący nad wieloma projektami o tematyce cloud computingu w firmie JBoss by Red Hat. Marek zaangażowany jest również w kreślenie nowych kierunków rozwoju tematu Cloud Computing w firmie JBoss.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-family: Verdana, Arial, sans-serif; line-height: 16px; "&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; "&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;Wstęp wolny!&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Marka i Silesia JUG.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-1585199777569060361?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/1585199777569060361/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=1585199777569060361' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1585199777569060361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1585199777569060361'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2010/04/13-spotkanie-slaskiej-grupy.html' title='13. Spotkanie Śląskiej Grupy Użytkowników Technologii Java - Silesia JUG'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-58814128757852384</id><published>2009-11-16T21:54:00.004+01:00</published><updated>2009-11-16T23:13:00.229+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>12. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG, OSUM )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG i OSUM) serdecznie zaprasza wszystkich na dwunaste spotkanie, które odbędzie się 19.11.2009 o godzinie 18:30 na Politechnice Śląskiej wydział AEI ul. Akademicka 2 aula B.&lt;br /&gt;&lt;br /&gt;Temat: &lt;span style="font-weight: bold;"&gt;Flex-Blaze DS-Spring&lt;/span&gt;&lt;br /&gt;Prowadzący: &lt;span style="font-weight: bold;"&gt;Zbyszko Pałka&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SwHNmA3JdBI/AAAAAAAAAN0/qNPd3hDaVTI/s1600/plakat_logo_Marek_Piowczyk+%281%29.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/SwHNmA3JdBI/AAAAAAAAAN0/qNPd3hDaVTI/s320/plakat_logo_Marek_Piowczyk+%281%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5404827080771335186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Plan wykadu:&lt;br /&gt;1. Wprowadzenie do RIA&lt;br /&gt;&lt;br /&gt;2. Warstwa serwerowa z użyciem "Spring BlazeDS Integration"&lt;br /&gt;      - konfiguracja&lt;br /&gt;      - warstwa DAO&lt;br /&gt;      - warstwa serwisowa&lt;br /&gt;&lt;br /&gt;3. Podstawy Flex'a&lt;br /&gt;&lt;br /&gt;4. Warstwa prezentacji z użyciem PureMVC i Fabrication&lt;br /&gt;      - wzorzec proxy&lt;br /&gt;      - wzorzec polecenie&lt;br /&gt;      - wzorzec mediator&lt;br /&gt;      - notyfikacje&lt;br /&gt;&lt;br /&gt;5. Przykładowe rozwiązanie&lt;br /&gt;      - architektura&lt;br /&gt;      - realizacja&lt;br /&gt;&lt;br /&gt;6. Uwagi końcowe&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;oraz książki.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Zbyszka i Silesia JUG.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-58814128757852384?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/58814128757852384/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=58814128757852384' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/58814128757852384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/58814128757852384'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/11/12-spotkanie-slaskiej-grupy.html' title='12. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG, OSUM )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MBa6gEugPjk/SwHNmA3JdBI/AAAAAAAAAN0/qNPd3hDaVTI/s72-c/plakat_logo_Marek_Piowczyk+%281%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-4748714547365943932</id><published>2009-07-01T11:04:00.006+02:00</published><updated>2009-11-22T19:33:23.521+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAVArsovia'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><category scheme='http://www.blogger.com/atom/ns#' term='Java konferencje'/><title type='text'>JAVArsovia 2009 - Mule ESB</title><content type='html'>W tym roku 4 lipca podczas &lt;a href="http://javarsovia.mocna-kawa.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=108&amp;amp;Itemid="&gt;JAVArsovia 2009&lt;/a&gt; w Warszawie będę miał przyjemność przedstawić temat "&lt;a href="http://www.mulesource.org/display/MULE2INTRO/Examples"&gt;Mule&lt;/a&gt; - Open Source ESB - SOA and Integration Platform (czyli jak to wszystko razem działa)" w którym przybliżę słuchaczom temat architektury SOA (Service Oriented Architecture)  i wykorzystanie w niej ESB (Enterprise Service Bus) w konkretnej implementacji Mule ESB.&lt;br /&gt;Postaram się przedstawić większość możliwości oferowanych przez Mule ESB, jak również opowiedzieć o przykładach wykorzystania ESB w codziennym życiu. Opowiem też o plusach i minusach stosowania ESB w firmach i dlaczego co niektóre firmy uważają ESB za ich tajną broń.&lt;br /&gt;Podczas prezentacji zbuduję środowisko developerskie&lt;br /&gt;obsługujące magazyn, składające się z:&lt;br /&gt;- prostej aplikacji umożliwiającej zapisywanie danych do pliku&lt;br /&gt;- mule ESB odpowiedzialnego za rutowanie, transformacje, obsługę, zabezpieczenie wiadomości przechodzących przez ESB (będzie można zobaczyć połączeni z bazą danych, wysyłanie e-maili itd.)&lt;br /&gt;- stworzenie prostej aplikacji webowej w Grails do wyświetlanie/modyfikowania danych dla użytkownika końcowego.&lt;br /&gt;Będzie można zobaczyć Javę jak i Groovy(Grails) w akcji.&lt;br /&gt;Jeśli wystarczy czasu może uda się też pokazać nowość w Mule(Latest Developer Milestone Build: Mule 3.0 Milestone  1) który udostępnia mechanizm hot-deployment (czyli podmianę kodu bez restartowania ESB) .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Serdecznie zapraszam 04.07.2009 slot: 11:00 - 12:00, ścieżka 2, Aula (sala 102B)&lt;/span&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Aktualizacja: prezentacja jest dostępna &lt;a href="http://sites.google.com/site/download1982wqewqewq/home/LipkaLukasz_MULE_ESB_javarsowia2009.pdf"&gt;tutaj&lt;/a&gt;. &lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-4748714547365943932?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/4748714547365943932/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=4748714547365943932' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4748714547365943932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4748714547365943932'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/07/javarsovia-2009-mule-esb.html' title='JAVArsovia 2009 - Mule ESB'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-7636325771630860545</id><published>2009-06-24T18:28:00.008+02:00</published><updated>2009-06-29T19:24:53.920+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse Galileo is Here:) CTRL + SHIFT + L</title><content type='html'>&lt;div style="text-align: left;"&gt;Tak naprawdę to wpis miał dotyczyć tylko jednej kombinacji w &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; a mianowicie CTRL (w macu jabłuszko) + SHIFT + L która ciągle mi z głowy jakoś wylatuje, a zawiera wszystkie potrzebne skróty klawiszowe w Eclipse.&lt;/div&gt;&lt;div&gt;Ale, że przy okazji mamy dzisiaj kolejne wydanie Eclipse o nazwie  &lt;a href="http://www.eclipse.org/galileo/"&gt;Galileo&lt;/a&gt; przetestuje czy tam ten skrót też działa:)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/SkJXqgwU0bI/AAAAAAAAANc/6CtpRdDBTfc/s1600-h/Picture+18.png"&gt;&lt;img src="http://3.bp.blogspot.com/_MBa6gEugPjk/SkJXqgwU0bI/AAAAAAAAANc/6CtpRdDBTfc/s320/Picture+18.png" alt="" id="BLOGGER_PHOTO_ID_5350935695128318386" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 182px;" border="0" /&gt;&lt;/a&gt;&lt;div&gt;No jak widać na moim Mac OS 10.4.11 nie udało mi się uruchomić nowego Eclipse:/&lt;/div&gt;&lt;div&gt;Więc zostaje stara wysłużona wersja :) przynajmniej do zmiany systemu:)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SkJYS40phuI/AAAAAAAAANk/SmQjcgnAsr4/s1600-h/Picture+19.png"&gt;&lt;img src="http://1.bp.blogspot.com/_MBa6gEugPjk/SkJYS40phuI/AAAAAAAAANk/SmQjcgnAsr4/s320/Picture+19.png" alt="" id="BLOGGER_PHOTO_ID_5350936388783671010" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 282px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;CTRL+SHIFT+L &lt;/b&gt; :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-7636325771630860545?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/7636325771630860545/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=7636325771630860545' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7636325771630860545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7636325771630860545'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/06/eclipse-galileo-is-here-ctrl-shift-l.html' title='Eclipse Galileo is Here:) CTRL + SHIFT + L'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MBa6gEugPjk/SkJXqgwU0bI/AAAAAAAAANc/6CtpRdDBTfc/s72-c/Picture+18.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-7590934296953912730</id><published>2009-06-20T23:14:00.003+02:00</published><updated>2009-06-20T23:23:03.795+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>11. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na jedenaste spotkanie, które odbędzie się 30.06.2009 o godzinie 18:30 w COIG (Centralny Ośrodek Informatyki Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100 w Katowicach.&lt;br /&gt;&lt;br /&gt;Temat: &lt;span style="font-weight: bold;"&gt;JBoss Cloud&lt;br /&gt;&lt;/span&gt;Prowadzący: &lt;span style="font-weight: bold;"&gt;Marek Goldmann&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Info:&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;JBoss Cloud to projekt mający na celu stworzenie gotowego do użycia klastra serwerów aplikacji JBoss AS. Za pomocą JBoss Cloud można uruchomić klaster na wybranej przez siebie platformie wirtualizacji: np. Xen, VMware, EC2.&lt;br /&gt;&lt;br /&gt;JBoss Cloud składa się z kilku obrazów systemów; &lt;a href="http://m.in/" target="_blank"&gt;m.in&lt;/a&gt;.: front-end (zapewniający rozkładanie obciążenia), back-end (faktyczny serwer JBoss AS), które mogą zostać uruchomione w dowolnej ilości. Obrazy można tworzyć samemu.&lt;br /&gt;&lt;br /&gt;Prezentacja ma na celu wprowadzenie do projektu JBoss Cloud, pokaże w jaki sposób można wykorzystać go do swoich potrzeb. Na koniec przedstawione zostaną możliwości dostosowywania JBoss Cloud.&lt;br /&gt;&lt;br /&gt;UWAGA! W trakcie prezentacji zostaną rozlosowane koszulki JBoss’a!&lt;br /&gt;&lt;br /&gt;Jeżeli będzie zainteresowanie ze strony słuchaczy zostanie również przedstawiona krótka relacja z konferencji JavaOne w San Francsico.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);" &gt;&lt;span style="font-weight: bold;"&gt;Marek Goldmann&lt;/span&gt;, pasjonat otwartych technologii i standardów, entuzjasta projektów na nich opartych. Miłośnik wirtualizacji. Software Engineer pracujący nad projektem JBoss Cloud w firmie JBoss by Red Hat. Marek zaangażowany jest również w kreślenie nowych kierunków rozwoju projektu jak i Cloud Computing w firmie JBoss.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut). Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Marka i Silesia JUG&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-7590934296953912730?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/7590934296953912730/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=7590934296953912730' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7590934296953912730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7590934296953912730'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/06/11-spotkanie-slaskiej-grupy.html' title='11. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-386006806255905210</id><published>2009-06-10T14:32:00.000+02:00</published><updated>2009-06-11T12:47:12.981+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Log4j'/><category scheme='http://www.blogger.com/atom/ns#' term='Chainsaw'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Log4j i Chainsaw</title><content type='html'>Pewno każdy z was musiał kiedyś czytać logi czy to swoje czy odziedziczone w spadku:) dzisiaj postanowiłem przyjrzeć się narzędziu &lt;a href="http://logging.apache.org/chainsaw/index.html"&gt;Chainsaw&lt;/a&gt; które umożliwia monitorowanie logów.&lt;br /&gt;A więc zaczynamy, ściągamy program Chainsaw &lt;a href="http://logging.apache.org/chainsaw/download.html"&gt;tutaj&lt;/a&gt;.&lt;br /&gt;No i zaczynamy zabawę (obraz który dostajemy po uruchomieniu programu).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/Si49gdBQasI/AAAAAAAAALs/nRnNvTdMB7Q/s1600-h/Picture+10.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 261px;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/Si49gdBQasI/AAAAAAAAALs/nRnNvTdMB7Q/s320/Picture+10.png" alt="" id="BLOGGER_PHOTO_ID_5345277435490364098" border="0" /&gt;&lt;/a&gt;Wybieramy "Let me define Receivers manually" i klikamy "OK".&lt;br /&gt;Teraz dobrze by było żeby podłączyć naszego Chainsaw do jakiegoś zewnętrznego repozytorium logów np. do logów z serwera &lt;a href="http://www.mulesource.org/display/COMMUNITY/Home"&gt;mule&lt;/a&gt;.  Więc idziemy teraz do pliku $MULE_HOME/conf/log4j.properties i dodajemy możliwość podłączenia się przez  SocketHubAppender do log4j naszego lokalnego (lub zewnętrznego) mule (zmienione linie to 02,09,10).&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;# Default log level&lt;br /&gt;log4j.rootCategory=INFO, console, sockethub&lt;br /&gt;&lt;br /&gt;log4j.appender.console=org.apache.log4j.ConsoleAppender&lt;br /&gt;log4j.appender.console.layout=org.apache.log4j.PatternLayout&lt;br /&gt;log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;log4j.appender.sockethub=org.apache.log4j.net.SocketHubAppender&lt;br /&gt;log4j.appender.sockethub.port=9999&lt;br /&gt;&lt;br /&gt;################################################&lt;br /&gt;# You can set custom log levels per-package here&lt;br /&gt;################################################&lt;br /&gt;&lt;br /&gt;# Apache Commons tend to make a lot of noise which can clutter the log.&lt;br /&gt;log4j.logger.org.apache=WARN&lt;br /&gt;&lt;br /&gt;# Shuts up some innocuous messages if using the JBPM transport&lt;br /&gt;log4j.logger.org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog=ERROR&lt;br /&gt;&lt;br /&gt;# Reduce startup noise&lt;br /&gt;log4j.logger.org.springframework.beans.factory=WARN&lt;br /&gt;&lt;br /&gt;# Mule classes&lt;br /&gt;log4j.logger.org.mule=INFO&lt;br /&gt;log4j.logger.com.mulesource=INFO&lt;br /&gt;&lt;br /&gt;# Your custom classes&lt;br /&gt;log4j.logger.com.mycompany=DEBUG&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Teraz uruchamiamy mule i sprawdzamy czy faktycznie port 9999 działa&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;lukasz-lipkas-computer:~ lipka$ telnet 127.0.0.1 9999&lt;br /&gt;Trying 127.0.0.1...&lt;br /&gt;Connected to localhost.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;??&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Teraz podłączamy nasz program:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/Si5NpLbiE9I/AAAAAAAAAL8/FD2T2YEFig0/s1600-h/Picture+14.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 309px; height: 320px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/Si5NpLbiE9I/AAAAAAAAAL8/FD2T2YEFig0/s320/Picture+14.png" alt="" id="BLOGGER_PHOTO_ID_5345295177573602258" border="0" /&gt;&lt;/a&gt;I teraz już tylko zostaje podziwianie logów:)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/Si5N94SWCLI/AAAAAAAAAME/Rqf-UcZzjKc/s1600-h/Picture+15.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 186px;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/Si5N94SWCLI/AAAAAAAAAME/Rqf-UcZzjKc/s320/Picture+15.png" alt="" id="BLOGGER_PHOTO_ID_5345295533212043442" border="0" /&gt;&lt;/a&gt;Rzecz która mi się najbardziej podoba to możliwość przeglądania logów według poszczególnych poziomów takich jak:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/Si5PFqrrCJI/AAAAAAAAAMM/CZ2PRG7bjOc/s1600-h/Picture+16.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 91px;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/Si5PFqrrCJI/AAAAAAAAAMM/CZ2PRG7bjOc/s320/Picture+16.png" alt="" id="BLOGGER_PHOTO_ID_5345296766510762130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Dla mnie największe plusy Chainsaw to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;możliwość logowania na zewnętrzne IP i wizualne odczytywanie logów&lt;/li&gt;&lt;li&gt;możliwość podłączenia wielu logów z różnych maszyn (programów)&lt;/li&gt;&lt;li&gt;graficzny interfejs&lt;/li&gt;&lt;/ul&gt;Alternatywa:&lt;br /&gt;ssh na zewnętrzną maszynę i potem przejść do katalogu gdzie są logi i komenda:&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;lukasz-lipkas-computer:~/Library/mule-2.2.1/logs lipka$ cat mule.log|grep INFO&lt;br /&gt;INFO  2009-05-18 19:41:34,134 [jdbcConnector.receiver.16] org.mule.DefaultExceptionStrategy: There is no current event available, routing Null message with the exception&lt;br /&gt;INFO  2009-05-18 19:41:34,254 [jdbcConnector.receiver.16] org.mule.DefaultExceptionStrategy: There is no current event available, routing Null message with the exception&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;A dlaczego taki temat ? Jest to krótkie streszczenie rozdziały ósmego z książki &lt;a href="http://www.manning.com/dossot/"&gt;Mule in Action&lt;/a&gt;.&lt;br /&gt;A to mój mały wkład w poprawienie finalnej wersji książki &lt;a href="http://www.manning-sandbox.com/thread.jspa?threadID=32410&amp;amp;tstart=0"&gt;tutaj&lt;/a&gt; i &lt;a href="http://www.manning-sandbox.com/thread.jspa?threadID=32451&amp;amp;tstart=0"&gt;tutaj&lt;/a&gt;. Po za tym 4 lipca na &lt;a href="http://javarsovia.mocna-kawa.com/index.php?option=com_content&amp;amp;task=blogcategory&amp;amp;id=1&amp;amp;Itemid=59"&gt;JAVArsowia&lt;/a&gt; będę miał przyjemność przedstawić temat &lt;strong style="font-weight: normal;"&gt;&lt;a href="http://javarsovia.mocna-kawa.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=108&amp;amp;Itemid="&gt;Mule - Open Source ESB - SOA and Integration Platform (czyli jak to wszystko razem działa)&lt;/a&gt; zapraszam wszystkich serdecznie.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-386006806255905210?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/386006806255905210/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=386006806255905210' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/386006806255905210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/386006806255905210'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/06/log4j-i-chainsaw.html' title='Log4j i Chainsaw'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MBa6gEugPjk/Si49gdBQasI/AAAAAAAAALs/nRnNvTdMB7Q/s72-c/Picture+10.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-5103339770967774936</id><published>2009-05-28T14:14:00.000+02:00</published><updated>2009-05-31T14:39:42.703+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Java i Twitter wysyłanie wiadomości</title><content type='html'>Od niedawna posiadam konto na &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; lukaszlipka i dzisiaj postanowiłem wpisywać wiadomość do Twittera, bez wychodzenia z Eclipse, żeby nie tracić czasu na oglądanie tego na stronie bądź korzystanie z jakiegoś zewnętrznego programu (życie w Eclipse):)&lt;div&gt;Wiec zaczynamy, krok pierwszy:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; znaleźć jakieś API które umożliwia połączenie z Twitterem wybrałem &lt;a href="http://yusuke.homeip.net/twitter4j/en/index.html#introduction"&gt;twitter4J&lt;/a&gt; .&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Teraz w konsoli tworzymy nowy projekt Twitter za pomocą Maven:&lt;/div&gt;&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt; lipka$ mvn archetype:create -DgroupId=com.itsilesia.twitter -DartifactId=Twitter&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Potem przygotowanie projektu do importu do ulubionego IDE, wchodzimy do katalogu projektu.&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;lipka$ mvn eclipse:eclipse&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;div&gt;Importujemy teraz projekt do Eclipse.&lt;/div&gt;&lt;div&gt;Teraz dodaje twitter4j do dependencies w pliku pom.xml:&lt;/div&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt; &lt;modelversion&gt;4.0.0&lt;/modelversion&gt;&lt;br /&gt; &lt;groupid&gt;com.itsilesia.twitter&lt;/groupid&gt;&lt;br /&gt; &lt;artifactid&gt;Twitter&lt;/artifactid&gt;&lt;br /&gt; &lt;packaging&gt;jar&lt;/packaging&gt;&lt;br /&gt; &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;&lt;br /&gt; &lt;name&gt;Twitter&lt;/name&gt;&lt;br /&gt; &lt;url&gt;http://maven.apache.org&lt;/url&gt;&lt;br /&gt; &lt;dependencies&gt;&lt;br /&gt;  &lt;dependency&gt;&lt;br /&gt;   &lt;groupid&gt;net.homeip.yusuke&lt;/groupid&gt;&lt;br /&gt;   &lt;artifactid&gt;twitter4j&lt;/artifactid&gt;&lt;br /&gt;   &lt;version&gt;[2.0,)&lt;/version&gt;&lt;br /&gt;  &lt;/dependency&gt;&lt;br /&gt; &lt;/dependencies&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;div style=""&gt;&lt;span class="Apple-style-span" style=";font-family:'Lucida Grande';font-size:11;"  &gt;Teraz przeglądamy dokumentację twitter4J i  zaczynamy pisać kod:)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;package com.itsilesia.twitter;&lt;br /&gt;&lt;br /&gt;import twitter4j.Status;&lt;br /&gt;import twitter4j.Twitter;&lt;br /&gt;import twitter4j.TwitterException;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author lipka&lt;br /&gt; * &lt;br /&gt; */&lt;br /&gt;public class App {&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;  Twitter twitter = new Twitter("lukaszlipka", "******");&lt;br /&gt;  try {&lt;br /&gt;   Status status = twitter.update("Allo twitter users:) from Eclipse");&lt;br /&gt;  } catch (TwitterException e) {&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;  }&lt;br /&gt;  System.out.println("Hallo Twitter:)");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=""&gt;&lt;span class="Apple-style-span" style=";font-family:'Lucida Grande';font-size:11;"  &gt;Teraz &lt;span style="font-weight: bold;"&gt;CTRL+F11&lt;/span&gt; i uruchamiamy nasz program:)&lt;/span&gt;&lt;span class="Apple-style-span" style=";font-family:'Lucida Grande';font-size:11;"  &gt;No i pierwsza Twitterowa wiadomość poleciała w eter:) Hmm ciekawe może tak logować co się dzieje w programie za pomocą Twittera prosto do klienta:)&lt;br /&gt;W drugiej części przedstawię jak odczytać wiadomości od innych. A w trzeciej odsłonie może napisze transport do &lt;a href="http://www.mulesource.org/"&gt;mule&lt;/a&gt;:)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-5103339770967774936?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/5103339770967774936/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=5103339770967774936' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5103339770967774936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5103339770967774936'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/05/java-i-twitter-wysyanie-wiadomosci.html' title='Java i Twitter wysyłanie wiadomości'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8525889885926198107</id><published>2009-05-21T18:42:00.000+02:00</published><updated>2009-05-23T23:29:49.638+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jazoon'/><title type='text'>James Gosling is coming to Jazoon'09</title><content type='html'>Dla tych co się wybierają na &lt;a href="http://jazoon.com/"&gt;Jazoon'09&lt;/a&gt; do Zurychu, czeka bardzo miła niespodzianka, konferencję otworzy sam ojciec Javy &lt;a href="http://www.sun.com/aboutsun/media/ceo/bio.jsp?name=James%20Gosling"&gt;James Gosling&lt;/a&gt;. 23 czerwca James Gosling rozpocznie konferencję Jazoon'09 "Opening Keynote Speech". Więc nic innego nie pozostaje jak tylko wybrać się do Zurychu:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8525889885926198107?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8525889885926198107/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8525889885926198107' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8525889885926198107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8525889885926198107'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/05/james-gosling-is-coming-to-jazoon09.html' title='James Gosling is coming to Jazoon&apos;09'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-5764615575473749091</id><published>2009-05-20T23:47:00.000+02:00</published><updated>2009-05-21T00:22:24.634+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Maven i instalacja lokalnego jara</title><content type='html'>Żeby unikać ciągłego przeszukiwania dokumentacji, postanowiłem sobie stworzyć notatkę z tego jak dodać jara do lokalnego repozytorium &lt;a href="http://maven.apache.org/"&gt;mavena&lt;/a&gt;, jeśli nie jest on dostępny w żadnym innym publicznym repozytorium.&lt;br /&gt;Krok pierwszy idziemy do katalogu gdzie znajduje się nasz wybrany jar, w naszym przypadku chcemy sobie dodać jar o nazwie tinymce-1.4-SNAPSHOT.jar. W konsoli wpisujemy magiczną komendę:&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;lukasz-lipkas-computer:~/Documents/workspace_ganymede/bkf/core/lib lipka$ mvn install:install-file -Dfile=tinymce-1.4-SNAPSHOT.jar -DgroupId=tinymce -DartifactId=tinymce -Dversion=1.4-SNAPSHOT -Dpackaging=jar&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;jako rezultat otrzymujemy:&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;lukasz-lipkas-computer:~/Documents/workspace_ganymede/bkf/core/lib lipka$ mvn install:install-file -Dfile=tinymce-1.4-SNAPSHOT.jar -DgroupId=tinymce -DartifactId=tinymce -Dversion=1.4-SNAPSHOT -Dpackaging=jar &lt;br /&gt;[INFO] Scanning for projects...&lt;br /&gt;[INFO] Searching repository for plugin with prefix: 'install'.&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] Building Maven Default Project&lt;br /&gt;[INFO]    task-segment: [install:install-file] (aggregator-style)&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] [install:install-file]&lt;br /&gt;[INFO] Installing /Users/lipka/Documents/workspace_ganymede/bkf/core/lib/tinymce-1.4-SNAPSHOT.jar to /Users/lipka/.m2/repository/tinymce/tinymce/1.4-SNAPSHOT/tinymce-1.4-SNAPSHOT.jar&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] BUILD SUCCESSFUL&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] Total time: &lt;&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;i nasz wybrany jar znajduje się już w lokalnym repozytorium .m2.&lt;br /&gt;A teraz dodajemy go jako jar zależny do naszego projektu, w związku z czym musimy zmodyfikować plik pom.xml a dokładnie dodać nowy wpis do dependencies.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="xml"&gt;&lt;br /&gt;&lt;dependency&gt;&lt;br /&gt;   &lt;groupid&gt;tinymce&lt;/groupid&gt;&lt;br /&gt;   &lt;artifactid&gt;tinymce&lt;/artifactid&gt;&lt;br /&gt;   &lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;&lt;br /&gt;  &lt;/dependency&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;I to by było na tyle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-5764615575473749091?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/5764615575473749091/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=5764615575473749091' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5764615575473749091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5764615575473749091'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/05/maven-i-instalacja-lokalnego-jara.html' title='Maven i instalacja lokalnego jara'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-6254897280992153457</id><published>2009-05-11T23:51:00.000+02:00</published><updated>2009-05-11T23:56:37.236+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jazoon'/><title type='text'>Jazoon'09 - James Gosling</title><content type='html'>Chcesz żeby na&lt;a href="http://jazoon.com/"&gt; Jazoon'09&lt;/a&gt; pojawił się James Gosling ?&lt;br /&gt;Jeśli tak to wspomóż zespół Jazzon'09 i dopisz się do &lt;a href="http://jazoon.doodle.com/g7qfpqqaw4us89at"&gt;listy&lt;/a&gt;  osób zapraszającej James Gosling'a na&lt;a href="http://jazoon.com/"&gt; Jazoon'09&lt;/a&gt;!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-6254897280992153457?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/6254897280992153457/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=6254897280992153457' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6254897280992153457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6254897280992153457'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/05/jazoon09-james-gosling.html' title='Jazoon&apos;09 - James Gosling'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-7049223239994939903</id><published>2009-04-30T21:05:00.000+02:00</published><updated>2009-04-30T21:50:05.311+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jazoon'/><title type='text'>Jazoon - rozkład jazdy</title><content type='html'>23 - 25 czerwca w Zurychu super konferencja &lt;a href="http://jazoon.com/"&gt;Jazzon'09&lt;/a&gt;.&lt;br /&gt;Jeśli nadal nie jesteś zdecydowany (a powinieneś:)) zobacz co tam się będzie działo:&lt;br /&gt;&lt;a href="http://jazoon.com/en/conference/schedule.html"&gt;program&lt;/a&gt;&lt;br /&gt;A teraz rozkład jazdy przez cały tydzień:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://jazoon.com/en/conference/monday.html"&gt;poniedziałek program&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jazoon.com/en/conference/tuesday.html"&gt;wtorek program&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jazoon.com/en/conference/wednesday.html"&gt;środa program &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jazoon.com/en/conference/thursday.html"&gt;czwartek program&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jazoon.com/en/conference/friday.html"&gt;piątek i sobota program&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Do zobaczenia w Zurychu:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-7049223239994939903?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/7049223239994939903/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=7049223239994939903' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7049223239994939903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7049223239994939903'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/04/jazoon-rozkad-jazdy.html' title='Jazoon - rozkład jazdy'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8270993290570880008</id><published>2009-04-16T20:57:00.000+02:00</published><updated>2009-04-16T22:33:42.633+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Groovy'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Groovy, TDD i przenoszenie zawartośći katalogów</title><content type='html'>Od dłuższego czasu miałem zamiar poznać język &lt;a href="http://groovy.codehaus.org/"&gt;Groovy&lt;/a&gt;, ale ciągle jakoś korzystałem z powłoki &lt;a href="http://www.gnu.org/software/bash/"&gt;bash&lt;/a&gt; do pisania prostych skryptów. Dzisiaj postanowiłem to zmienić i napisać pierwszy skrypt:) który będzie przenosił katalogi z zawartością (pliki plus pod katalogi) z jednego katalogu do drugiego z użyciem &lt;a href="http://groovy.codehaus.org/Closures"&gt;clousers&lt;/a&gt; :)&lt;br /&gt;Więc zgodnie z &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;TDD&lt;/a&gt; zaczynamy od napisania testu, banalnie prostego w naszym wypadku, najpierw sprawdzimy czy po wykonaniu naszych operacji katalog zostanie pusty, pierwszy test sprawdza listRoots który ma zwrócić 1 bo będzie tylko jeden główny katalog, test 2 ma nam policzyć wszystkie pliki w naszym katalogu i o oczywiście po uruchomieniu naszego skryptu nie ma być żadnego pliku.&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;package com.itsilesia.groovy&lt;br /&gt;&lt;br /&gt;def inputPath = "/Users/lipka/test/"&lt;br /&gt;def outputPath = "/Users/lipka/out/"&lt;br /&gt;&lt;br /&gt;def inputDirectory= new File(inputPath)&lt;br /&gt;&lt;br /&gt;assert inputDirectory.listRoots().size() == 1&lt;br /&gt;assert inputDirectory.listFiles().size() == 0&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Jak można było się spodziewać test nie przeszedł, bo katalog główny zawierał pliki i podkatalogi.&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;Exception in thread "main" java.lang.AssertionError: Expression: (inputDirectory.listFiles().size() == 0)&lt;br /&gt;        at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:393)&lt;br /&gt;        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:683)&lt;br /&gt;        at com.itsilesia.groovy.MoveToDirectory.run(MoveToDirectory.groovy:27)&lt;br /&gt;        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br /&gt;        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br /&gt;        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;br /&gt;        at java.lang.reflect.Method.invoke(Method.java:585)&lt;br /&gt;        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)&lt;br /&gt;        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)&lt;br /&gt;        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)&lt;br /&gt;        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756)&lt;br /&gt;        at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:778)&lt;br /&gt;        at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:758)&lt;br /&gt;        at org.codehaus.groovy.runtime.InvokerHelper.runScript(InvokerHelper.java:401)&lt;br /&gt;        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br /&gt;        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br /&gt;        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;br /&gt;        at java.lang.reflect.Method.invoke(Method.java:585)&lt;br /&gt;        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)&lt;br /&gt;        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)&lt;br /&gt;        at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1105)&lt;br /&gt;        at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:749)&lt;br /&gt;        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:170)&lt;br /&gt;        at com.itsilesia.groovy.MoveToDirectory.main(MoveToDirectory.groovy)&lt;br /&gt;Java Result: 1&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Wiec jak na razie wszystko zgodnie z planem:) teraz tylko napisać resztę kodu, żeby test przeszedł bez przeszkód:)&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;package com.itsilesia.groovy&lt;br /&gt;&lt;br /&gt;def inputPath = "/Users/lipka/test/"&lt;br /&gt;def outputPath = "/Users/lipka/out/"&lt;br /&gt;&lt;br /&gt;def inputDirectory= new File(inputPath)&lt;br /&gt;&lt;br /&gt;directoryMover = {&lt;br /&gt;    def dir = new File(inputDirectory.getAbsolutePath()+"/"+it)&lt;br /&gt;    if(dir.isDirectory()){&lt;br /&gt;        def newDirectory = new File(outputPath+dir.getName());&lt;br /&gt;        newDirectory.mkdir();&lt;br /&gt;        dir.eachFile({&lt;br /&gt;                def currentFile = new File(it.toString())&lt;br /&gt;                def newFile = new File(outputPath+dir.getName()+"/"+currentFile.getName())&lt;br /&gt;                currentFile.renameTo(newFile)&lt;br /&gt;            })&lt;br /&gt;        dir.delete()&lt;br /&gt;    }else{&lt;br /&gt;        dir.renameTo(new File(outputPath+dir.getName()))&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;inputDirectory.list().each(directoryMover)&lt;br /&gt;&lt;br /&gt;assert inputDirectory.listRoots().size() == 1&lt;br /&gt;assert inputDirectory.listFiles().size() == 0&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;Nie wiem czy to jest dokładnie zrobione w zgodzie ze wszystkimi regułami programowania w Groovy, jeśli takie istnieją:) bo dopiero rozglądam się za jakąś książką:) ale muszę przyznać, że dzięki clousers można robić naprawdę kosmiczne rzeczy w paru liniach kodu:)&lt;br /&gt;A tak wyglądała struktura katalogu przed uruchomieniem skryptu:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SeeTl0jPKuI/AAAAAAAAALU/IZxumVNM8vE/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 209px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SeeTl0jPKuI/AAAAAAAAALU/IZxumVNM8vE/s320/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5325387362359782114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Uruchamiamy &lt;a href="http://www.netbeans.org/"&gt;Netbeansa&lt;/a&gt;:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SeeT8uyoS7I/AAAAAAAAALc/EEUrQU4ullE/s1600-h/Picture+5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 254px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SeeT8uyoS7I/AAAAAAAAALc/EEUrQU4ullE/s320/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5325387755950721970" border="0" /&gt;&lt;/a&gt;A wynik:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SeeUL0Wn-8I/AAAAAAAAALk/rIH8m52vQoE/s1600-h/Picture+6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SeeUL0Wn-8I/AAAAAAAAALk/rIH8m52vQoE/s320/Picture+6.png" alt="" id="BLOGGER_PHOTO_ID_5325388015141911490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Więc jak widać wszystko zadziałało zgodnie z planem, pierwsza przeprawa z Groovy za mną :)&lt;br /&gt;Jak na razie to jestem zachwycony super wsparciem dla TDD i możliwościami clousers (dużo o nich czytałem, ale nie miałem możliwości zastosowania w praktyce).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8270993290570880008?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8270993290570880008/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8270993290570880008' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8270993290570880008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8270993290570880008'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/04/groovy-tdd-i-przenoszenie-zawartosci.html' title='Groovy, TDD i przenoszenie zawartośći katalogów'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/SeeTl0jPKuI/AAAAAAAAALU/IZxumVNM8vE/s72-c/Picture+4.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-2162842819575317002</id><published>2009-04-06T18:41:00.000+02:00</published><updated>2009-04-06T18:46:59.090+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>10. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na dziesiąte spotkanie, które odbędzie się 7.04.2009 o godzinie 18:30 w COIG (Centralny Ośrodek Informatyki Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100 w Katowicach.&lt;br /&gt;&lt;br /&gt;Temat: &lt;span style="font-weight: bold;"&gt;Web Beans&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Prowadzący: &lt;span style="font-weight: bold;"&gt;Damian Łukasik&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Plan prezentacji:&lt;br /&gt;1. Co może być Web Beanem?&lt;br /&gt;2. Dependency Injection&lt;br /&gt;3. Metaadnotacje&lt;br /&gt;4. Konteksty&lt;br /&gt;5. Producenci, punkty wstrzykiwania&lt;br /&gt;7. Interceptory, Dekoratory, Zdarzenia&lt;br /&gt;8. Stereotypy&lt;br /&gt;9. Mocno typowany XML&lt;br /&gt;10. Integracja z J2EE&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut). Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Damiana i Silesia JUG&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-2162842819575317002?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/2162842819575317002/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=2162842819575317002' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2162842819575317002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2162842819575317002'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/04/10-spotkanie-slaskiej-grupy.html' title='10. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8677477791363287715</id><published>2009-03-29T14:04:00.000+02:00</published><updated>2009-03-29T14:25:54.899+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jazoon'/><title type='text'>Jazoon Cutting Edge</title><content type='html'>&lt;a href="http://jazoon.com/en/contribute.html"&gt;Jazoon Cutting Edge&lt;/a&gt; masz ciekawy pomysł na 20 minutowy wykłada o tym, co aktualnie dzieje się w świeci Javy, zgłoś się do organizatorów &lt;a href="http://jazoon.com/en.html"&gt;Jazzon'09&lt;/a&gt;. Ważne terminy:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Call for papers:  od &lt;span style="font-weight: bold;"&gt;15 kwietnia 2009&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Submission deadline: do &lt;span style="font-weight: bold;"&gt;15 maj 2009.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Co możesz zyskać zgłaszając się do &lt;a href="http://jazoon.com/en/contribute.html"&gt;Jazoon Cutting Edge&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;darmową wejściówkę dla głównego prelegenta&lt;/li&gt;&lt;li&gt;50 % zniżki dla drugiego prowadzącego prelegenta.&lt;/li&gt;&lt;/ul&gt;Dokładna data &lt;a href="http://jazoon.com/en/contribute.html"&gt;Jazoon Cutting Edge&lt;/a&gt; to 23 czerwiec 2009 w Zurychu w Szwajcarii. Zapraszam wszystkich zainteresowanych do wysyłania swoich zgłoszeń do organizatorów!! Powodzenia!!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jazoon.com/en/contribute.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8677477791363287715?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8677477791363287715/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8677477791363287715' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8677477791363287715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8677477791363287715'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/03/jazoon-cutting-edge.html' title='Jazoon Cutting Edge'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-6443456019403255787</id><published>2009-03-22T14:01:00.000+01:00</published><updated>2009-03-22T14:03:40.166+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>9. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie zaprasza wszystkich na dziewiąte spotkanie, które odbędzie się 24.03.2009 o godzinie 18:30 w COIG (Centralny Ośrodek Informatyki Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100 w Katowicach.&lt;br /&gt;&lt;br /&gt;Temat: &lt;b&gt;SEAM&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Prowadzący: &lt;b&gt;Marek Goldmann&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Plan prezentacji:&lt;br /&gt;&lt;br /&gt;- Po co mi kolejny framework?&lt;br /&gt;- Standardy wchodzące w skład Java EE 5&lt;br /&gt;- Integracja JPA, EJB 3.0 i JSF&lt;br /&gt;- Czego brakuje? Co można poprawić?&lt;br /&gt;- Poznajmy się bliżej&lt;br /&gt;- Pierwszy komponent biznesowy i strona&lt;br /&gt;- Konteksty&lt;br /&gt;- Cykl życia aplikacji&lt;br /&gt;- Konwersacje i zarządzanie obszarami roboczymi&lt;br /&gt;- Bijekcja&lt;br /&gt;- Nawigacja&lt;br /&gt;- Walidacja&lt;br /&gt;- Zdarzenia&lt;br /&gt;- Bezpieczeństwo&lt;br /&gt;- Co więcej?&lt;br /&gt;- Narzędzia; seam-gen, JBoss Tools&lt;br /&gt;- Excel, PDF, RSS, Email&lt;br /&gt;- Ajax&lt;br /&gt;- Cacheowanie&lt;br /&gt;&lt;br /&gt;Marek Goldmann jest pracownikiem JBoss'a.&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut). Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Marka i Silesia JUG.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-6443456019403255787?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/6443456019403255787/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=6443456019403255787' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6443456019403255787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6443456019403255787'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/03/9-spotkanie-slaskiej-grupy-uzytkownikow.html' title='9. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8531002082377717206</id><published>2009-03-12T20:00:00.000+01:00</published><updated>2009-04-16T18:00:20.785+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Groove'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Groovy i Mule ciekawa mieszanka</title><content type='html'>Zaintrygowany tym co przeczytałem na blogu&lt;a href="http://jlaskowski.blogspot.com/"&gt; Jacka Laskowskiego&lt;/a&gt; i w prezentacji  &lt;a href="http://www.slideshare.net/glaforge/groovy-and-grails-in-action-devoxx-2008-university-guillaume-laforge-presentation"&gt;Groovy and Grails in Action - Devoxx 2008 - University - Guillaume Laforge .&lt;/a&gt; Postanowiłem zobaczyć jak Groovy można "ożenić" z Mule. Przeszukałem dokumentacje Mule i przeczytawszy &lt;a href="http://mulesource.org/display/MULE2USER/Scripting+Module"&gt;Scripting Module&lt;/a&gt;. Postanowiłem przerobić jeden z pierwszych wpisów na temat Mule, a konkretnie &lt;a href="http://lukaszlipka.blogspot.com/2008/08/mule-echo-przykad.html"&gt;Mule "echo" przykład&lt;/a&gt; na język Groovy. Schemat działania jest taki,  że będziemy analizowali zdanie wpisane z konsoli, jeśli będzie to wyraz "lukasz1","lukasz2", do "lukasz4" wtedy wypiszemy zdanie "witaj lukasz[1-4]" w innym wypadku komunikat "odejdź od komputera".&lt;br /&gt;Tak wygląda kod całej nasze aplikacji:&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;mule xmlns="http://www.mulesource.org/schema/mule/core/2.1" xsi="http://www.w3.org/2001/XMLSchema-instance" script="http://www.mulesource.org/schema/mule/scripting/2.1" vm="http://www.mulesource.org/schema/mule/vm/2.1" stdio="http://www.mulesource.org/schema/mule/stdio/2.1" schemalocation="        http://www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd        http://www.mulesource.org/schema/mule/scripting/2.1 http://www.mulesource.org/schema/mule/scripting/2.1/mule-scripting.xsd        http://www.mulesource.org/schema/mule/vm/2.1 http://www.mulesource.org/schema/mule/vm/2.1/mule-vm.xsd        http://www.mulesource.org/schema/mule/stdio/2.1 http://www.mulesource.org/schema/mule/stdio/2.1/mule-stdio.xsd"&gt;&lt;br /&gt; &lt;model&gt;&lt;br /&gt;  &lt;service name="inlineScript"&gt;&lt;br /&gt;   &lt;description&gt;&lt;br /&gt;             Test Groove i Mule&lt;br /&gt;            &lt;/description&gt;&lt;br /&gt;   &lt;inbound&gt;&lt;br /&gt;    &lt;stdio:inbound-endpoint system="IN"&gt;&lt;br /&gt;   &lt;/inbound&gt;&lt;br /&gt;   &lt;script:component&gt;&lt;br /&gt;    &lt;script:script engine="groovy"&gt;&lt;br /&gt;    input = "$payload"&lt;br /&gt;    if(input ==~ /lukasz[1-4]/){&lt;br /&gt;     return "Witaj " + input&lt;br /&gt;    }else{&lt;br /&gt;     return "Odejdz od komputera!!!"&lt;br /&gt;    }&lt;br /&gt;                &lt;/script:script&gt;&lt;br /&gt;   &lt;/script:component&gt;&lt;br /&gt;   &lt;outbound&gt;&lt;br /&gt;    &lt;pass-through-router&gt;&lt;br /&gt;     &lt;stdio:outbound-endpoint system="OUT"&gt;&lt;br /&gt;    &lt;/pass-through-router&gt;&lt;br /&gt;   &lt;/outbound&gt;&lt;br /&gt;  &lt;/service&gt;&lt;br /&gt; &lt;/model&gt;&lt;br /&gt;&lt;/mule&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;A tak to działa:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/Sbk0Z8V2R-I/AAAAAAAAAK0/aDrtMxTMms0/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 163px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/Sbk0Z8V2R-I/AAAAAAAAAK0/aDrtMxTMms0/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5312334855759349730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Jak na razie znam Groov'yiego bardzo pobieżnie, ale zacząłem studiować dokumentację i  jestem pod dużym wrażeniem, jak prosto można pewne rzeczy zrobić. Na uwagę zasługuje łatwość wykorzystania wiedzy z Javy w połączeniu z kodem w Groovy. Plan co do Groovy jest taki, żeby napisać wtyczkę do &lt;a href="http://www.netbeans.org/"&gt;Netbeans&lt;/a&gt; i &lt;a href="http://wicket.apache.org/"&gt;Wicket&lt;/a&gt;, która będzie analizowała klasę Javową (Wicketa) i będzie generowała odpowiedni kod hmtl :).&lt;br /&gt;&lt;a href="http://www.slideshare.net/glaforge/groovy-and-grails-in-action-devoxx-2008-university-guillaume-laforge-presentation"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8531002082377717206?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8531002082377717206/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8531002082377717206' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8531002082377717206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8531002082377717206'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/03/groove-i-mule-ciekawa-mieszanka.html' title='Groovy i Mule ciekawa mieszanka'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MBa6gEugPjk/Sbk0Z8V2R-I/AAAAAAAAAK0/aDrtMxTMms0/s72-c/Picture+1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3762028370195783831</id><published>2009-03-06T13:01:00.000+01:00</published><updated>2009-03-06T13:06:20.732+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>8. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie&lt;br /&gt;zaprasza wszystkich na ósme spotkanie, które odbędzie się&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;10.03.2009&lt;/span&gt; o godzinie &lt;span style="font-weight: bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki&lt;br /&gt;Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100.&lt;br /&gt;&lt;br /&gt;Temat: &lt;span style="font-weight: bold;"&gt;Spring Framework - Od grubego do cienkiego  klienta&lt;/span&gt;&lt;br /&gt;Prowadzący: &lt;span class="ik"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Zbyszko Palka&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;Plan prezentacji:&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol type="1"&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Po co nam Spring Framework&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Podstawowe zagadnienia&lt;/span&gt;&lt;/li&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;IoC i DI&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Bean’y i kontekst&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Anotacje&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;AOP&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Warstwa biznesowa&lt;/span&gt;&lt;/li&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Walidacja danych&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Transakcje&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Warstwa dostępu do danych&lt;/span&gt;&lt;/li&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;JdbcTemplates&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;JPA&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Transakcje&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Gruby klient &lt;/span&gt;&lt;/li&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Dostęp do kontekstu&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Wstrzykiwanie zależności      poza kontenerem&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Przykład aplikacji&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Cienki klient &lt;/span&gt;&lt;/li&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Spring MVC&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Przykład aplikacji&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Cała reszta&lt;/span&gt;&lt;/li&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Nie omówione elementy      Spring Framework&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Helvetica;font-size:100%;"&gt;Portfolio SpringSource&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Zbyszka i Silesia JUG.&lt;h3 class="gD" style="color: rgb(0, 104, 28);"&gt;&lt;span email="zbyszko.palka@gmail.com"&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3762028370195783831?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3762028370195783831/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3762028370195783831' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3762028370195783831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3762028370195783831'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/03/8-spotkanie-slaskiej-grupy-uzytkownikow.html' title='8. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-373283323143569521</id><published>2009-02-28T21:27:00.000+01:00</published><updated>2009-02-28T21:40:22.865+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jazoon'/><title type='text'>Jazoon - Simon Ritter</title><content type='html'>Dzisiaj przedstawiam kolejnego prowadzącego &lt;strong&gt;Simon Ritter&lt;/strong&gt; który ma wystąpić na  konferencji Javowej &lt;a href="http://jazoon.com/en.html"&gt;Jazoon 09 &lt;/a&gt;która dobędzie się w Szwajcarii w pięknym mieście Zurich w terminie od 22 do 25 czerwca.&lt;br /&gt;Simon Ritter jest pracownikiem Sun Microsystem, główne jego zainteresowania to:&lt;br /&gt;- grid computing,&lt;br /&gt;- RFID,&lt;br /&gt;- wireless sensor networks,&lt;br /&gt;- robotics and wearable computing.&lt;br /&gt;Chcesz usłyszęć co ma do powiedzenia Simon Ritter wpadnij na Jazzon 09.&lt;br /&gt;PS. dzisiaj minął pierwszy dzień szkolenia Netbeans Certificate Training, było bardzo ciekawie:) jutro &lt;a href="http://blogs.sun.com/geertjan/"&gt;Greetjan&lt;/a&gt; ma pokazać Neatbeans plus Wicket, aż nie mogę się doczekać:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-373283323143569521?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/373283323143569521/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=373283323143569521' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/373283323143569521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/373283323143569521'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/02/jazoon-simon-ritter.html' title='Jazoon - Simon Ritter'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-5600688632153498625</id><published>2009-02-27T22:01:00.000+01:00</published><updated>2009-02-27T22:14:26.721+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jazoon'/><title type='text'>Jazoon Rookie</title><content type='html'>Jeżeli spełniasz wymagania:&lt;br /&gt;- masz poniżej 26 lat w dniu 22 czerwca 2009&lt;br /&gt;- jesteś w stanie w ciągu 20 minut opowiedzieć coś ciekawego z podwórka Javowego&lt;br /&gt;- nie boisz się wystąpić przed większą publicznością&lt;br /&gt;Koniecznie &lt;a href="https://jazoon.com/submission?l=en"&gt;zgłoś się&lt;/a&gt; do Jazoon Rookie do &lt;span style="font-weight: bold;"&gt;15 marca&lt;/span&gt;:)&lt;br /&gt;Osoby które zostaną wybrane, będą miały zagwarantowany:&lt;br /&gt;- zaproszenie na Jazoon 2009&lt;br /&gt;- wejściówka&lt;br /&gt;- pokrycie kosztów podróży i zamieszkania podczas Jazoon'09&lt;br /&gt;- kubek:)&lt;br /&gt;- dyplom uczestnictwa&lt;br /&gt;&lt;br /&gt;Nie zwlekaj tylko aplikuj na &lt;a href="http://jazoon.com/en/contribute/rookie.html"&gt;Jazoon Rookie&lt;/a&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-5600688632153498625?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/5600688632153498625/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=5600688632153498625' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5600688632153498625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5600688632153498625'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/02/jazoon-rookie.html' title='Jazoon Rookie'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-161189367086519156</id><published>2009-02-23T21:31:00.000+01:00</published><updated>2009-02-23T21:35:32.262+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>7. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie&lt;br /&gt;zaprasza wszystkich na siódme spotkanie, które odbędzie się&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;24.02.2009&lt;/span&gt; o godzinie &lt;span style="font-weight: bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki&lt;br /&gt;Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Temat: &lt;span style="font-weight: bold;" id=":15p" class="VrHWId"&gt;Business Intelligen&lt;wbr&gt;ce and Reporting Tools&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Prowadzący: &lt;span style="font-weight: bold;" email="aksk08@gmail.com"&gt;Anna Książek&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Plan jest następujący:&lt;br /&gt;1. Krótka charakterystyka BIRT&lt;br /&gt;2. Budowanie szablonu wydruku - prezentacja i omówienie szablonu faktury&lt;br /&gt;a) połączenie ze źródłem danych&lt;br /&gt;b) przekazanie parametrów&lt;br /&gt;c) budowanie modelu danych&lt;br /&gt;d) budowanie szablonu raportu&lt;br /&gt;e) uruchamianie&lt;br /&gt;&lt;br /&gt;Część druga będzie w całości realizowana na przykładzie raportu realizowanego w trakcie spotkania.&lt;/p&gt;&lt;p&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Anni i Silesia JUG.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-161189367086519156?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/161189367086519156/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=161189367086519156' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/161189367086519156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/161189367086519156'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/02/7-spotkanie-slaskiej-grupy-uzytkownikow_23.html' title='7. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8348441324117407600</id><published>2009-02-08T18:24:00.000+01:00</published><updated>2009-02-10T10:57:04.615+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>7. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>&lt;span style="font-weight: bold;"&gt;!!!! SPOTKANIE ODWOŁANE W ZWIĄZKU Z CHOROBĄ PRELEGENTA  !!!!!!&lt;/span&gt;&lt;br /&gt;Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie&lt;br /&gt;zaprasza wszystkich na siódme spotkanie, które odbędzie się&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;10.02.2009&lt;/span&gt; o godzinie &lt;span style="font-weight: bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki&lt;br /&gt;Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Temat: &lt;span style="font-weight: bold;"&gt;SEAM&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Prowadzący:  &lt;span style="font-weight: bold;"&gt;Marek Goldmann&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Plan&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;prezentacji:&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;- Po co mi kolejny framework?&lt;br /&gt;- Standardy wchodzące w skład Java EE 5&lt;br /&gt;- Integracja JPA, EJB 3.0 i JSF&lt;br /&gt;- Czego brakuje? Co można poprawić?&lt;br /&gt;- Poznajmy się bliżej&lt;br /&gt;- Pierwszy komponent biznesowy i strona&lt;br /&gt;- Konteksty&lt;br /&gt;- Cykl życia aplikacji&lt;br /&gt;- Konwersacje i zarządzanie obszarami roboczymi&lt;br /&gt;- Bijekcja&lt;br /&gt;- Nawigacja&lt;br /&gt;- Walidacja&lt;br /&gt;- Zdarzenia&lt;br /&gt;- Bezpieczeństwo&lt;br /&gt;- Co więcej?&lt;br /&gt;- Narzędzia; seam-gen, JBoss Tools&lt;br /&gt;- Excel, PDF, RSS, Email&lt;br /&gt;- Ajax&lt;br /&gt;- Cacheowanie&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Marek Goldmann&lt;/span&gt; jest pracownikiem JBoss'a.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Marka i Silesia JUG.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8348441324117407600?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8348441324117407600/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8348441324117407600' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8348441324117407600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8348441324117407600'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/02/7-spotkanie-slaskiej-grupy-uzytkownikow.html' title='7. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8982809598798445191</id><published>2009-01-29T22:19:00.000+01:00</published><updated>2009-01-29T22:49:38.841+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jazoon'/><title type='text'>Jazoon09 - Neal Ford</title><content type='html'>Dzisiaj postanowiłem przybliżyć sylwetkę &lt;strong&gt;Neal'a Ford'a &lt;/strong&gt;jednej z gwiazd tegorocznej konfekcji &lt;a href="http://jazoon.com/en.html"&gt;Jazzon09 &lt;/a&gt; która odbędzie się w Zurichu w terminie od 22 do 25 czerwca.&lt;br /&gt;Neal Ford pracuje w firmie &lt;b&gt;Thought&lt;/b&gt;Works jako software architect i konsultant w branży IT. Jest ekspertem w takich językach programowania jak:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Java&lt;/li&gt;&lt;li&gt;C#/.NET&lt;/li&gt;&lt;li&gt;Ruby&lt;/li&gt;&lt;li&gt;Groovy&lt;/li&gt;&lt;li&gt;functional languages&lt;/li&gt;&lt;li&gt;Scheme&lt;/li&gt;&lt;li&gt;Object Pascal&lt;/li&gt;&lt;li&gt;C++&lt;/li&gt;&lt;li&gt;C&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Jest autorem takich książek jak:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.oreilly.com/catalog/9780596519780/"&gt;&lt;img src="http://www.oreilly.com/catalog/covers/9780596519780_bkt.gif" style="padding: 0pt 0.5em 10px 0pt; float: left;" alt="The Productive Programmer" width="85" /&gt;&lt;/a&gt;  &lt;a href="http://www.oreilly.com/catalog/9780596519780"&gt;&lt;b&gt; The Productive Programmer&lt;/b&gt;&lt;/a&gt;&lt;b&gt; (2008)&lt;br /&gt;&lt;/b&gt;&lt;a href="http://www.oreilly.com/catalog/9780978739287"&gt;&lt;b&gt;No Fluff, Just Stuff Anthology (2007)&lt;/b&gt;&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oreilly.com/catalog/9780977616664"&gt;&lt;b&gt;No Fluff, Just Stuff Anthology (2006)&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;Ci którzy byli na &lt;a href="http://08.jdd.org.pl/agenda/?lp_lang_view=pl"&gt;JDD08&lt;/a&gt; pamiętają jego świetny wykład, chcesz posłuchać go jeszcze raz:) wybierz się na &lt;a href="http://jazoon.com/en.html"&gt;Jazzon09&lt;/a&gt; :) A na koniec link do jego bloga &lt;a href="http://memeagora.blogspot.com/"&gt;Neal Ford&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8982809598798445191?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8982809598798445191/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8982809598798445191' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8982809598798445191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8982809598798445191'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/01/jazoon09-neal-ford.html' title='Jazoon09 - Neal Ford'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3437102164500242749</id><published>2009-01-26T11:17:00.000+01:00</published><updated>2009-01-26T11:25:39.192+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>6. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie&lt;br /&gt;zaprasza wszystkich na szóste spotkanie, które odbędzie się&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;27.01.2009&lt;/span&gt; o godzinie &lt;span style="font-weight: bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki&lt;br /&gt;Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Temat: &lt;span style="font-weight: bold;"&gt;EJB - Enterprise JavaBeans&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Prowadzący: &lt;span style="font-weight: bold;"&gt;Piotr Bochyński&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Plan prezentacji:&lt;br /&gt;- Architektura EJB&lt;br /&gt;- Rola serwera aplikacyjnego&lt;br /&gt;- Wyjaśnienie na przykładzie:&lt;br /&gt; - ORM&lt;br /&gt; - JPA&lt;br /&gt; - Session Bean&lt;br /&gt; - Transakcje&lt;br /&gt; - Messsage Driven Bean&lt;br /&gt; - Inversion of Control&lt;br /&gt; - Dependency Injection&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Piotr Bochyński jest głównym architektem IT w departamencie informatyki firmy &lt;a href="http://www.wasko.pl/"&gt;Wasko&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Piotra i Silesia JUG. &lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3437102164500242749?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3437102164500242749/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3437102164500242749' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3437102164500242749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3437102164500242749'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/01/6-spotkanie-lskiej-grupy-uytkownikw.html' title='6. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-6635581381491791036</id><published>2009-01-25T14:24:00.000+01:00</published><updated>2009-01-25T15:03:08.121+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java konferencje'/><title type='text'>Cooluary</title><content type='html'>Rzutem na taśmę zdecydowałem się wybrać na &lt;a href="http://dworld.pl/COOLuary/"&gt;Cooluary&lt;/a&gt; na pierwszą w Polsce konferencję Unconference albo inaczej &lt;a href="http://en.wikipedia.org/wiki/Open_Space_Technology"&gt;Open Space&lt;/a&gt;. Wszystko zaczęło się o 10:00 w Krakowie, po rejestracji i wygraniu nagrody:) Grzegorz Duda przez jakieś 30 minut poprowadził wykład inspirujący plus wprowadził nas w idea całej konferncji.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SXxqx1GHwwI/AAAAAAAAAKg/77Exc48avTE/s1600-h/P1020422.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/SXxqx1GHwwI/AAAAAAAAAKg/77Exc48avTE/s320/P1020422.JPG" alt="" id="BLOGGER_PHOTO_ID_5295224666179748610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Idea konferencji polegała na tym, że agendę tworzyli sami uczestnicy podając tematy do rozmów. Równolegle toczyły się rozmowy przy 5 stolikach na różne tematy. Uczestnicy mogli się przemieszczać między stolikami uwzględniając swoje zainteresowanie danym tematem :)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SXxr5ZG0dUI/AAAAAAAAAKo/VDt5Cmx7qp0/s1600-h/P1020423.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SXxr5ZG0dUI/AAAAAAAAAKo/VDt5Cmx7qp0/s320/P1020423.JPG" alt="" id="BLOGGER_PHOTO_ID_5295225895617066306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Tematy które mnie najbardziej zainteresowały:&lt;br /&gt;- przyszłość Javy, Java 7&lt;br /&gt;- AOP wady i zalety&lt;br /&gt;- Spring licencjonowanie i czego nam w nim brakuje&lt;br /&gt;- ESB - integracja systemów&lt;br /&gt;- Groove&lt;br /&gt;- Scala&lt;br /&gt;- refaktoryzacja.&lt;br /&gt;Konferencję uważam za bardzo udaną dlatego, że mogłem bliżej poznać bardzo dużo osób pasjonujących się Java i nie tylko, takich jak Waldemar Kot i wielu innych świetnych fachowców (między innymi osoby piszące artykuły do&lt;a href="http://dworld.pl/java-express/"&gt; JavaExpress&lt;/a&gt;). Mam nadzieje, że następnym razem poza &lt;a href="http://marekklis.blogspot.com/"&gt;Markiem Kliśiem&lt;/a&gt; i mną będzie więcej reprezentantów z &lt;a href="http://groups.google.com/group/silesia-jug"&gt;Silesia JUG&lt;/a&gt;. Już się nie mogę doczekać następnej takiej konferencji:)&lt;br /&gt;A na koniec wygrałem darmową wejściówkę na &lt;a href="http://www.geecon.org/main/home"&gt;GeeCon2009&lt;/a&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-6635581381491791036?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/6635581381491791036/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=6635581381491791036' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6635581381491791036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6635581381491791036'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/01/cooluary.html' title='Cooluary'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MBa6gEugPjk/SXxqx1GHwwI/AAAAAAAAAKg/77Exc48avTE/s72-c/P1020422.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-9049150457186321205</id><published>2009-01-21T03:30:00.000+01:00</published><updated>2009-01-21T22:54:43.738+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Debugging Mule</title><content type='html'>Dzisiaj postanowiłem przedebugować  aplikację która uruchamiana jest na serwerze Mule.&lt;br /&gt;&lt;blockquote&gt;Remote debugging has been simplified starting with Mule 1.4.4. One only has to add the -debug switch when running Mule.&lt;br /&gt;&lt;/blockquote&gt;Więc testujemy:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;mule -debug -config mule-config.xml&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SW4E9XLy_qI/AAAAAAAAAJw/VLYGkH-at0Q/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 155px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SW4E9XLy_qI/AAAAAAAAAJw/VLYGkH-at0Q/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5291172064448937634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Potem wystarczy podłączyć się przez Eclipse zdalnie na porcie 5005 i ustawić break-points w kodzie.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/SXcBmUnjX5I/AAAAAAAAAJ4/uXqNQHRgTUM/s1600-h/Picture+6.png"&gt;&lt;img src="http://2.bp.blogspot.com/_MBa6gEugPjk/SXcBmUnjX5I/AAAAAAAAAJ4/uXqNQHRgTUM/s320/Picture+6.png" alt="" id="BLOGGER_PHOTO_ID_5293701644878569362" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 231px; height: 186px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;W Remote Java Application klikamy New&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/SXcYEHBdApI/AAAAAAAAAKQ/PE1Imvw7PVM/s1600-h/Picture+5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 258px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/SXcYEHBdApI/AAAAAAAAAKQ/PE1Imvw7PVM/s320/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5293726345880994450" border="0" /&gt;&lt;/a&gt;Ustawiamy projekt do którego się chcemy podłączyć i port na którym działa Mule &lt;span style="color: rgb(255, 0, 0);"&gt;5005&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/SXcWVv4u5yI/AAAAAAAAAKI/c49WCy6euDs/s1600-h/Picture+8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 255px;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/SXcWVv4u5yI/AAAAAAAAAKI/c49WCy6euDs/s320/Picture+8.png" alt="" id="BLOGGER_PHOTO_ID_5293724449884792610" border="0" /&gt;&lt;/a&gt;I teraz Debug i można dokładnie przeanalizować co się dzieje w naszym kodzie.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-9049150457186321205?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/9049150457186321205/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=9049150457186321205' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/9049150457186321205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/9049150457186321205'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/01/debugging-mule.html' title='Debugging Mule'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/SW4E9XLy_qI/AAAAAAAAAJw/VLYGkH-at0Q/s72-c/Picture+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3364631172218875842</id><published>2009-01-11T15:15:00.000+01:00</published><updated>2009-01-11T15:20:47.159+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>5. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie&lt;br /&gt;zaprasza wszystkich na piąte spotkanie, które odbędzie się&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;13.01.2009&lt;/span&gt; o godzinie &lt;span style="font-weight: bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki&lt;br /&gt;Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Temat: &lt;span style="font-weight: bold;"&gt;Wprowadzenie w tematykę platformy Eclipse w zakresie Eclipse &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; RCP i BIRT. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;Prowadzący: &lt;span style="font-weight: bold;"&gt;Anna Książek&lt;/span&gt; &lt;/p&gt;&lt;p&gt;Spotkanie 1 przedstawienie ogólnej charakterystyki Eclipse RCP na&lt;br /&gt;przykładzie funkcji do obsługi faktur&lt;br /&gt;1. Krótka charakterystyka platformy&lt;br /&gt;2. Tworzenie projektu opartego o plugin'y - prezentacja i omówienie&lt;br /&gt;przygotowanego kodu&lt;br /&gt;a) utworzenie projektu w workspace&lt;br /&gt; a.1) plugin.xml jako łącznik z platformą Eclipse&lt;br /&gt;b) zdefiniowanie własnego układu ekranu&lt;br /&gt;c) budowa menu i pojęcie akcji&lt;br /&gt;d) ekrany zbudowane w oparciu o perspektywy&lt;br /&gt; d.1) podział na części oraz rozmieszczenie view w perspektywie&lt;br /&gt; d.2) akcje view a akcje menu&lt;br /&gt; d.3) kilka wskazówek na co zwrócić uwagę&lt;br /&gt;Planowany czas części prezentacji - 1 godzina&lt;br /&gt;&lt;/p&gt;3. Część praktyczna&lt;br /&gt;a) zmiana układu perspektywy celem przygotowania miejsca na podgląd&lt;br /&gt;wydruku faktury&lt;br /&gt;b) obsługa akcji uruchamiającej wydruk&lt;br /&gt;&lt;br /&gt;Planowany czas części praktycznej - 30 minut&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Anny i Silesia JUG.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3364631172218875842?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3364631172218875842/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3364631172218875842' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3364631172218875842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3364631172218875842'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/01/5-spotkanie-lskiej-grupy-uytkownikw.html' title='5. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-1175259005961046540</id><published>2009-01-10T05:00:00.000+01:00</published><updated>2009-01-10T13:54:55.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jazoon'/><title type='text'>Jazoon09</title><content type='html'>W tym roku czeka nas kilka wielkich konferencji Javowych zarówno w Polsce jak i zagranicą, ciekawie zapowiada się &lt;a href="http://jazoon.com/en.html"&gt;Jazoon09&lt;/a&gt;. Konferencja odbędzie się w Szwajcarii w pięknym mieście &lt;a href="http://pl.wikipedia.org/wiki/Zurych"&gt;Zurich&lt;/a&gt; w dniach od 22 do 25 czerwca 2009. Aktualna lista prelegentów to: Neal Ford - ThoughtWorks, Danny Coward - Sun Microsystems, Roberto Chinnici - Sun Microsystems, Jérôme Dochez - Sun Microsystems. Call for Paper będzie trwał do 15 stycznia, po tym terminie przybliżę wizerunek co niektórych prelegentów.&lt;br /&gt;&lt;br /&gt;Ja się wybieram a Ty :)?&lt;br /&gt;Cennik konferencji znajduje się &lt;a href="http://jazoon.com/en/register/conferencefees.html"&gt;tutaj&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Z lokalnego podwórka najciekawiej zapowiada się &lt;a href="http://www.geecon.org/"&gt;GeeCON&lt;/a&gt; który odbędzie się 7 - 8 maja 2009.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-1175259005961046540?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/1175259005961046540/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=1175259005961046540' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1175259005961046540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1175259005961046540'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2009/01/jazoon09.html' title='Jazoon09'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-4724072405785283214</id><published>2009-01-09T07:22:00.000+01:00</published><updated>2009-01-09T09:40:50.061+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Mule: wysyłanie e-maili z konsolii</title><content type='html'>Dzisiaj postanowiłem napisać prosty program, powiedzmy taki mały system w której jedna osoba wystukuje w konsoli jakie produkty z magazynu mają zostać wysłane do klienta, a osoba w magazynie jak ma czas to realizuje przesyłki.&lt;br /&gt;Czego będziemy używali &lt;a href="http://www.mulesource.org/display/MULE/Download"&gt;Mule 1.2.1&lt;/a&gt; i to wystarczy:)&lt;br /&gt;Więc co mi potrzeba: po pierwsze komponentu który będzie wczytywał to co ktoś pisze w konsoli, po drugie komponent który tę wiadomość przekształci do formatu (nazwa produktu plus aktualna data), napiszemy prostą transformację, po trzecie komponent odpowiedzialny za wysłanie wiadomości e-mail.&lt;br /&gt;Ostatnio przeczytałem artykuł z &lt;a href="http://dworld.pl/"&gt;Java exPress&lt;/a&gt; o mavenie. Więc zaczynamy, tworzymy projekt za pomocą mavena:&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;mvn archetype:create -DgroupId=com.itsilesia.email -DartifactId=SendEmail&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Potem wchodzimy do katalogu projektu i przystosowujemy projekt do naszego ulubionego IDE w tym wypadku Eclipse&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;mvn eclipse:eclipse&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;Więc zaczynamy pierwszy komponent który, będzie czytał nam dane ze standardowego wejścia(konsoli):&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="xml"&gt;&lt;br /&gt;   &lt;inbound&gt;&lt;br /&gt;    &lt;stdio:inbound-endpoint system="IN"&gt;&lt;br /&gt;   &lt;/inbound&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;Teraz należy napisać prostą transformację, która doda datę do tego co zostało napisane w konsoli, żeby coś takiego osiągnąć trzeba napisać klasę, która będzie dziedziczyć po &lt;a href="http://www.mulesource.org/docs/site/current2/apidocs/org/mule/transformer/AbstractTransformer.html"&gt;AbstractTransformer&lt;/a&gt;.&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;package com.itsilesia.email;&lt;br /&gt;&lt;br /&gt;import java.util.Date;&lt;br /&gt;&lt;br /&gt;import org.mule.api.transformer.TransformerException;&lt;br /&gt;import org.mule.transformer.AbstractTransformer;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @author lipka&lt;br /&gt; *&lt;br /&gt; */&lt;br /&gt;public class MessageTransformer extends AbstractTransformer {&lt;br /&gt;&lt;br /&gt; protected Object doTransform(Object arg0, String arg1)&lt;br /&gt;   throws TransformerException {&lt;br /&gt;   String oldMessage = (String) arg0;&lt;br /&gt;   oldMessage += new Date();&lt;br /&gt;  return oldMessage;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Ostatni etap to dodanie do obsługi wysyłania e-maili.&lt;br /&gt;&lt;textarea name="code" class="xml"&gt;&lt;br /&gt;&lt;pass-through-router&gt;&lt;br /&gt;     &lt;smtp:outbound-endpoint user="lip*****" password="******" host="poczta.o2.pl" port="25" to="*******@o2.pl" from="lip*****@o2.pl" subject="Just do it!!!" refs="AddDateToMessage StringToEmailMessage"&gt;&lt;br /&gt;    &lt;/pass-through-router&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Zauważcie, że obok standardowej konfiguracji użytkownik, hasło, port itd. trzeba dodać naszą transformację która doda datę do naszej wiadomości i potem jeszcze transformacja "out of the box" która zamienia wiadomość do postaci &lt;a href="http://www.mulesource.org/docs/site/current2/apidocs/org/mule/transport/email/transformers/StringToEmailMessage.html"&gt;Stringa na email&lt;/a&gt;.&lt;br /&gt;To już mamy wszystko, cały plik konfiguracyjny wygląda tak:&lt;br /&gt;&lt;textarea name="code" class="xml"&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;mule xmlns="http://www.mulesource.org/schema/mule/core/2.1" xsi="http://www.w3.org/2001/XMLSchema-instance" spring="http://www.springframework.org/schema/beans" context="http://www.springframework.org/schema/context" file="http://www.mulesource.org/schema/mule/file/2.1" jms="http://www.mulesource.org/schema/mule/jms/2.1" smtp="http://www.mulesource.org/schema/mule/smtp/2.1" email="http://www.mulesource.org/schema/mule/email/2.1" xm="http://www.mulesource.org/schema/mule/xml/2.1" jdbc="http://www.mulesource.org/schema/mule/jdbc/2.1" stdio="http://www.mulesource.org/schema/mule/stdio/2.1" schemalocation="        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd        http://www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd        http://www.mulesource.org/schema/mule/file/2.1 http://www.mulesource.org/schema/mule/file/2.1/mule-file.xsd        http://www.mulesource.org/schema/mule/jms/2.1 http://www.mulesource.org/schema/mule/jms/2.1/mule-jms.xsd        http://www.mulesource.org/schema/mule/smtp/2.1 http://www.mulesource.org/schema/mule/smtp/2.1/mule-smtp.xsd        http://www.mulesource.org/schema/mule/email/2.1 http://www.mulesource.org/schema/mule/email/2.1/mule-email.xsd        http://www.mulesource.org/schema/mule/xml/2.1 http://www.mulesource.org/schema/mule/xml/2.1/mule-xml.xsd        http://www.mulesource.org/schema/mule/jdbc/2.1 http://www.mulesource.org/schema/mule/jdbc/2.1/mule-jdbc.xsd http://www.mulesource.org/schema/mule/stdio/2.1  http://www.mulesource.org/schema/mule/stdio/2.1/mule-stdio.xsd"&gt;&lt;br /&gt; &lt;email:string-to-email-transformer name="StringToEmailMessage"&gt;&lt;br /&gt; &lt;custom-transformer name="StringToMimeMessage" class="org.mule.transport.email.transformers.StringToEmailMessage"&gt;&lt;br /&gt; &lt;custom-transformer name="AddDateToMessage" class="com.itsilesia.email.MessageTransformer"&gt;&lt;/custom-transformer&gt;&lt;br /&gt;&lt;br /&gt; &lt;model name="InToEmail"&gt;&lt;br /&gt;  &lt;service name="sendMeEmail"&gt;&lt;br /&gt;   &lt;inbound&gt;&lt;br /&gt;    &lt;stdio:inbound-endpoint system="IN"&gt;&lt;br /&gt;   &lt;/inbound&gt;&lt;br /&gt;   &lt;outbound&gt;&lt;br /&gt;    &lt;pass-through-router&gt;&lt;br /&gt;     &lt;smtp:outbound-endpoint user="lip****" password="*****" host="poczta.o2.pl" port="25" to="lip*****@o2.pl" from="lip****@o2.pl" subject="Just do it!!!" refs="AddDateToMessage StringToEmailMessage"&gt;&lt;br /&gt;    &lt;/pass-through-router&gt;&lt;br /&gt;   &lt;/outbound&gt;&lt;br /&gt;  &lt;/service&gt;&lt;br /&gt; &lt;/model&gt;&lt;br /&gt;&lt;/mule&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;Jeszcze plik pom.xml:&lt;br /&gt;&lt;textarea name="code" class="xml"&gt;&lt;br /&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt; &lt;modelversion&gt;4.0.0&lt;/modelversion&gt;&lt;br /&gt; &lt;groupid&gt;com.itsilesia.email&lt;/groupid&gt;&lt;br /&gt; &lt;artifactid&gt;SendEmail&lt;/artifactid&gt;&lt;br /&gt; &lt;packaging&gt;jar&lt;/packaging&gt;&lt;br /&gt; &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;&lt;br /&gt; &lt;name&gt;SendEmail&lt;/name&gt;&lt;br /&gt; &lt;url&gt;http://maven.apache.org&lt;/url&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;properties&gt;&lt;br /&gt;  &lt;muleversion&gt;2.1.2&lt;/muleversion&gt;&lt;br /&gt; &lt;/properties&gt;&lt;br /&gt; &lt;br /&gt; &lt;dependencies&gt;&lt;br /&gt;  &lt;dependency&gt;&lt;br /&gt;   &lt;groupid&gt;org.mule&lt;/groupid&gt;&lt;br /&gt;   &lt;artifactid&gt;mule-core&lt;/artifactid&gt;&lt;br /&gt;   &lt;version&gt;${muleVersion}&lt;/version&gt;&lt;br /&gt;  &lt;/dependency&gt;&lt;br /&gt;  &lt;dependency&gt;&lt;br /&gt;   &lt;groupid&gt;junit&lt;/groupid&gt;&lt;br /&gt;   &lt;artifactid&gt;junit&lt;/artifactid&gt;&lt;br /&gt;   &lt;version&gt;3.8.1&lt;/version&gt;&lt;br /&gt;   &lt;scope&gt;test&lt;/scope&gt;&lt;br /&gt;  &lt;/dependency&gt;&lt;br /&gt; &lt;/dependencies&gt;&lt;br /&gt;&lt;/project&gt;&lt;br /&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;Teraz uruchamiamy naszą aplikację:&lt;br /&gt;&lt;textarea name="code" class="java"&gt;&lt;br /&gt;mule -config conf/mule.xml &lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SWZUBSECUPI/AAAAAAAAAJY/EVsQmbj-hhg/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 152px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SWZUBSECUPI/AAAAAAAAAJY/EVsQmbj-hhg/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5289007193398595826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Sprawdzamy e-mail:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/SWZxKOFt5fI/AAAAAAAAAJo/h3ESnQWJCYI/s1600-h/Picture+2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 103px;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/SWZxKOFt5fI/AAAAAAAAAJo/h3ESnQWJCYI/s320/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5289039232787932658" /&gt;&lt;/a&gt;&lt;br /&gt;Jak widać wszystko działa i gra:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-4724072405785283214?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/4724072405785283214/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=4724072405785283214' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4724072405785283214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4724072405785283214'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/12/mule-wysyanie-e-maili-z-konsolii.html' title='Mule: wysyłanie e-maili z konsolii'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/SWZUBSECUPI/AAAAAAAAAJY/EVsQmbj-hhg/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8527918894865810376</id><published>2008-12-17T18:02:00.000+01:00</published><updated>2008-12-18T20:06:30.419+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Mule wydajność i OSGi</title><content type='html'>Trochę późno, ale w końcu zebrałem się, żeby podsumować swoją prelekcje. Pierwszą rzeczą która mnie bardzo zaskoczyła była współpraca z &lt;a href="http://mulesource.com"&gt;MuleSource Inc.&lt;/a&gt; Którzy umieścili informacje o moim wykładzie na &lt;a href="http://blog.mulesource.org/2008/11/jugs-around-the-glob/"&gt;mule blog&lt;/a&gt; (skąd można pobrać moją prezentację :))co niesamowicie mnie zaskoczyło i ucieszyło :) Udało mi się też uzyskać parę ciekawych informacji o które pytaliście po wykładzie (prosto ze źródła od Ross Masona):)&lt;br /&gt;A więc tak firmy które oficjalnie używają Mule:&lt;br /&gt;- LeapFrog, VetSource, OpSource, H&amp;R Block are publically reference-able. (tak naprawdę jest ich dużo więcej, ale nie chcą się tym pochwalić, czytaj nie mogą)&lt;br /&gt;Testy wydajności w linkach poniżej:&lt;br /&gt;&lt;a href="http://www.mulesource.com/solutions/downloads/MuleSource_MuleESB.pdf"&gt;Mule ESB datasheet&lt;/a&gt; (this details what Mule is and why Mule)&lt;br /&gt;&lt;a href="http://www.mulesource.com/solutions/Whitepaper_perf_test_results.pdf"&gt;Mule Performance Test Results &lt;/a&gt;(a paper detailing performance tests including proper configuration and methodology)&lt;br /&gt;Ciekawe filmy, żeby zacząć pracę z mule 2.0 dostępne pod adresem:&lt;br /&gt;&lt;a href="http://mulesource.com/demos/meet-mule/"&gt;demos&lt;/a&gt;&lt;br /&gt;A na koniec dla mnie osobiście bardzo ważna informacja, że Mule jest OSGi ready i w planach jest bardzo duże wsparcie dla "hot deployment using OSGi".&lt;br /&gt;Mam nadzieje, że o niczym nie zapomniałem:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8527918894865810376?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8527918894865810376/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8527918894865810376' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8527918894865810376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8527918894865810376'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/12/mule-wydajno-i-osgi.html' title='Mule wydajność i OSGi'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3911247838161420812</id><published>2008-12-08T23:28:00.000+01:00</published><updated>2008-12-09T12:22:46.835+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>4. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )</title><content type='html'>Śląska Grupa Użytkowników Technologii Java (Silesia JUG) serdecznie&lt;br /&gt;zaprasza wszystkich na czwarte spotkanie, które odbędzie się&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;10.12.2008&lt;/span&gt; o godzinie &lt;span style="font-weight:bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki&lt;br /&gt;Górnictwa S.A.) w sali 136 na pierwszym piętrze, ul.Mikołowska 100.&lt;br /&gt;&lt;br /&gt;Temat prezentacji: &lt;span style="font-weight:bold;"&gt;Kryptografia w Javie&lt;/span&gt;&lt;br /&gt;Prowadzący: &lt;span style="font-weight:bold;"&gt;Zacheusz Siedlecki&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Plan prezentacji:&lt;br /&gt;&lt;br /&gt;Podstawy kryptografii w Javie&lt;br /&gt;- Wprowadzenie&lt;br /&gt;- Architektura JCA i JCE&lt;br /&gt;- Szyfry symetryczne i asymetryczne&lt;br /&gt;- Magazyny kluczy&lt;br /&gt;- Skróty kryptograficzne&lt;br /&gt;- Certyfikaty, podstawy PKI&lt;br /&gt;- Podpis cyfrowy&lt;br /&gt;- Dostawca usług kryptograficznych, konfiguracja&lt;br /&gt;&lt;br /&gt;Praktyczne zastosowania (także z użyciem kart kryptograficznych)&lt;br /&gt;- Wykorzystanie kart kryptograficznych (PKCS#11)&lt;br /&gt;- Szyfrowanie strumienia&lt;br /&gt;- Uwierzytelnianie klienta SSL certyfikatem&lt;br /&gt;- Podpisywanie dokumentów PDF&lt;br /&gt;&lt;br /&gt;Prezentacja będzie polegała w głównej mierze na omawianiu kodów&lt;br /&gt;przykładowych programów.&lt;br /&gt;Karty kryptograficzne użyte w przykładach zostały udostępnione przez&lt;br /&gt;firmę CryptoTech.&lt;br /&gt;&lt;br /&gt;Zapraszam wszystkich w imieniu Zacheusza i Silesia JUG.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/ST5U3svINUI/AAAAAAAAAIM/6TeFxkVwleA/s1600-h/4_JUGSilesia_plakat_v1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 226px; height: 320px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/ST5U3svINUI/AAAAAAAAAIM/6TeFxkVwleA/s320/4_JUGSilesia_plakat_v1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5277749129203168578" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3911247838161420812?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3911247838161420812/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3911247838161420812' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3911247838161420812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3911247838161420812'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/12/4-spotkanie-lskiej-grupy-uytkownikw.html' title='4. Spotkanie Śląskiej Grupy Użytkowników Technologii Java ( Silesia JUG )'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MBa6gEugPjk/ST5U3svINUI/AAAAAAAAAIM/6TeFxkVwleA/s72-c/4_JUGSilesia_plakat_v1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-7782462450111774402</id><published>2008-12-04T20:05:00.000+01:00</published><updated>2008-12-04T20:35:10.972+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bazy danych'/><title type='text'>Wizualizacja realacji tabel w bazach danych</title><content type='html'>Dzisiaj przyszło mi się zmierzyć ze zmianami w bazie danych (a dokładnie w jej strukturze), po chwili patrzenia we wszystkie tabele, zapragnąłem przed rozpoczęciem refaktoryzacji zobaczyć jak to wszystko wygląda wizualnie, niestety nie udało mi się znaleźć żadnej wtyczki do Eclipsa (może ktoś zna?) Postanowiłem użyć narzędzia &lt;a href="http://www.minq.se/products/dbvis/"&gt;The Universal Database Tool DbVisualizer&lt;/a&gt; działa na Mac OS więc ściągam i instaluje:)&lt;br /&gt;Rozpoczynamy od konfiguracji połączenia z bazą danych w moim przypadku Postgresql.&lt;br /&gt;Wpisujemy nazwę połączenia.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/STgsTl-Oc9I/AAAAAAAAAHM/rfwJ3IbfG-o/s1600-h/Picture+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 319px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/STgsTl-Oc9I/AAAAAAAAAHM/rfwJ3IbfG-o/s320/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5276015678586778578" /&gt;&lt;/a&gt;&lt;br /&gt;Wybieramy bazę danych.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/STgsgp3bhEI/AAAAAAAAAHU/-tXamcub19w/s1600-h/Picture+2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 319px; height: 320px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/STgsgp3bhEI/AAAAAAAAAHU/-tXamcub19w/s320/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5276015902970315842" /&gt;&lt;/a&gt;&lt;br /&gt;Uzupełniamy konfigurację połączenia.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/STgsoX4YQGI/AAAAAAAAAHc/fCdQEGcpszg/s1600-h/Picture+3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 319px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/STgsoX4YQGI/AAAAAAAAAHc/fCdQEGcpszg/s320/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5276016035581411426" /&gt;&lt;/a&gt;&lt;br /&gt;Gotowe, możemy zobaczyć co to narzędzie potrafi.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/STgtLk2m6WI/AAAAAAAAAHk/iAhJv0Ly6lk/s1600-h/Picture+4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/STgtLk2m6WI/AAAAAAAAAHk/iAhJv0Ly6lk/s320/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5276016640359065954" /&gt;&lt;/a&gt;&lt;br /&gt;Teraz łączymy się z naszą bazą.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/STgtp6qTIKI/AAAAAAAAAHs/eDdrU4LLzMM/s1600-h/Picture+5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/STgtp6qTIKI/AAAAAAAAAHs/eDdrU4LLzMM/s320/Picture+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5276017161609093282" /&gt;&lt;/a&gt;&lt;br /&gt;Teraz sprawdzamy References w graficznej postaci.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/STgt9UHbQiI/AAAAAAAAAH0/4sgxzyqIJsM/s1600-h/Picture+6.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/STgt9UHbQiI/AAAAAAAAAH0/4sgxzyqIJsM/s320/Picture+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5276017494859661858" /&gt;&lt;/a&gt;&lt;br /&gt;Klikamy References i chwilę czekamy i dostajemy całość.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/STguOBKCXqI/AAAAAAAAAH8/qNg_VifSSrY/s1600-h/Picture+7.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/STguOBKCXqI/AAAAAAAAAH8/qNg_VifSSrY/s320/Picture+7.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5276017781828116130" /&gt;&lt;/a&gt;&lt;br /&gt;Z jedną tabelą i paroma zależnościami poszło szybko, zobaczymy jaki będzie efekt jak użyję References na wszystkich tabelach.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/STgu7DbYM5I/AAAAAAAAAIE/YbisRmen3BY/s1600-h/Picture+8.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/STgu7DbYM5I/AAAAAAAAAIE/YbisRmen3BY/s320/Picture+8.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5276018555531834258" /&gt;&lt;/a&gt;&lt;br /&gt;Jak dla mnie efekt dosyć dobry teraz tylko sobie to wydrukuje i mogę zabrać się za zmienianie:) Ktoś zna jakieś lepsze narzędzie ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-7782462450111774402?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/7782462450111774402/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=7782462450111774402' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7782462450111774402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7782462450111774402'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/12/wizualizacja-realacji-tabel-w-bazach.html' title='Wizualizacja realacji tabel w bazach danych'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MBa6gEugPjk/STgsTl-Oc9I/AAAAAAAAAHM/rfwJ3IbfG-o/s72-c/Picture+1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-2317411887377620763</id><published>2008-11-22T17:21:00.000+01:00</published><updated>2008-11-22T17:46:45.430+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>3. Spotkanie Śląskiej Grupy Użytkowników Technologii Java (Silesia JUG)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Śląska Grupa Użytkowników Technologii Java (Silesia JUG)&lt;/span&gt; serdecznie zaprasza wszystkich na trzecie spotkanie, które odbędzie się &lt;span style="font-weight: bold;"&gt;25.11.2008&lt;/span&gt; o godzinie &lt;span style="font-weight: bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki Górnictwa S.A.) w sali &lt;span style="font-weight: bold;"&gt;136&lt;/span&gt; na pierwszym piętrze,  ul.Mikołowska 100.&lt;br /&gt;&lt;br /&gt;Temat prezentacji: &lt;span style="font-weight: bold;"&gt;Open source ESB - MULE ESB&lt;/span&gt;&lt;br /&gt;Prowadzący:  &lt;span style="font-weight: bold;"&gt;Łukasz Lipka&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Cześć teoretyczna:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;wprowadzenie do SOA (Serive Oriented Architecture)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; wprowadzenie do ESB (Enterprise Service Bus)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;przegląd dostępnych open source ESB&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;możliwości ESB w oparciu o MULE ESB:&lt;/li&gt;&lt;li&gt; rutowanie&lt;/li&gt;&lt;li&gt;transformacja wiadomości&lt;/li&gt;&lt;li&gt;obsługa wiadomości&lt;/li&gt;&lt;li&gt;zabezpieczenia&lt;/li&gt;&lt;li&gt;monitorowanie i zarządzanie&lt;/li&gt;&lt;li&gt;dlaczego firmy uważają ESB za swoją tajną broń:)&lt;/li&gt;&lt;li&gt;korzyści płynące z korzystania z ESB.&lt;/li&gt;&lt;/ul&gt;Cześć praktyczna:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;pokaz rutowania wiadomości (gdzie podziały się moje wiadomości)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;połączenie z JMS&lt;/li&gt;&lt;li&gt; użycie Springa do wstrzykiwania zależności&lt;/li&gt;&lt;li&gt;komunikacja z bazą danych&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Łukasz Lipka jest wielkim fanem i pasjonatem języka Java, zawodowo związany z firmą &lt;a href="http://www.itsilesia.com/"&gt;itSilesia&lt;/a&gt;. Jest architektem rozwiązań biznesowych. Interesuje się Javą (od SE po EE) we wszystkich jej ujęciach, śledzi takie projekty jak Mule ESB, Apache ActiveMQ. Pasjonuje się wzorcami projektowymi i Test Driven Development. Założyciel Silesia JUG.&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Zapraszam w imieniu swoim i grupy Silesia JUG!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/SSgzUNn4iTI/AAAAAAAAAHE/QnpawihuprQ/s1600-h/3_JUGSilesia_plakat_v2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 226px; height: 320px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/SSgzUNn4iTI/AAAAAAAAAHE/QnpawihuprQ/s320/3_JUGSilesia_plakat_v2.jpg" alt="" id="BLOGGER_PHOTO_ID_5271519786184509746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-2317411887377620763?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/2317411887377620763/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=2317411887377620763' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2317411887377620763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2317411887377620763'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/11/3-spotkanie-lskiej-grupy-uytkownikw.html' title='3. Spotkanie Śląskiej Grupy Użytkowników Technologii Java (Silesia JUG)'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MBa6gEugPjk/SSgzUNn4iTI/AAAAAAAAAHE/QnpawihuprQ/s72-c/3_JUGSilesia_plakat_v2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3040907438727591589</id><published>2008-11-16T15:59:00.000+01:00</published><updated>2008-11-16T16:48:01.229+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>2. Spotkanie Śląskiej Grupy Użytkowników Technologii Java (Silesia JUG)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Śląska Grupa Użytkowników Technologii Java (Silesia JUG)&lt;/span&gt; serdecznie zaprasza wszystkich na drugie spotkanie, które odbędzie się &lt;span style="font-weight: bold;"&gt;19.11.2008&lt;/span&gt; o godzinie &lt;span style="font-weight: bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki Górnictwa S.A.) w sali &lt;span style="font-weight: bold;"&gt;136&lt;/span&gt; na pierwszym piętrze,  ul.Mikołowska 100.&lt;div&gt;&lt;br /&gt;Temat prezentacji: &lt;span style="font-weight: bold;"&gt;NetBeans Platform&lt;/span&gt;&lt;br /&gt;Prowadzący: &lt;span style="font-weight: bold;"&gt;Marek Kliś&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Plan prezentacji:&lt;br /&gt;- Wykorzystanie platformy NetBeans do tworzenia aplikacji typu Desktop&lt;br /&gt;- Tworzenie aplikacji działającej samodzielnie, oraz aplikacji będącej  modułem rozszerzającym NetBeans IDE&lt;br /&gt;- bibliotek Visual Library&lt;br /&gt;- nowości w NetBeans 6.5&lt;br /&gt;&lt;br /&gt;"Planuje zdecydowani więcej kodowania (na żywo) niż teorii." Marek Kliś&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka (15 - 30 minut).&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam w imieniu Marka i grupy Silesia JUG!&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SSA_BxTLzPI/AAAAAAAAAG8/bBVdxTULUMY/s1600-h/2_JUG_info.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 226px; height: 320px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/SSA_BxTLzPI/AAAAAAAAAG8/bBVdxTULUMY/s320/2_JUG_info.jpg" alt="" id="BLOGGER_PHOTO_ID_5269280863669701874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3040907438727591589?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3040907438727591589/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3040907438727591589' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3040907438727591589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3040907438727591589'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/11/2-spotkanie-lskiej-grupy-uytkownikw.html' title='2. Spotkanie Śląskiej Grupy Użytkowników Technologii Java (Silesia JUG)'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MBa6gEugPjk/SSA_BxTLzPI/AAAAAAAAAG8/bBVdxTULUMY/s72-c/2_JUG_info.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3938009664131693348</id><published>2008-11-10T12:44:00.000+01:00</published><updated>2008-12-09T01:15:10.585+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wicket'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Debugging Wicket w Eclipse z Jetty</title><content type='html'>Zadanie na dziś przedebugować aplikacje napisaną z użyciem Wicket i działającą na serwerze &lt;a href="http://www.mortbay.org/jetty/"&gt;Jetty&lt;/a&gt;. Wybieramy Run/External Tools/External Tools ..."&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/SD_eAkHz_qI/AAAAAAAAACk/t8tX5JCgISo/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/SD_eAkHz_qI/AAAAAAAAACk/t8tX5JCgISo/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5206123795541393058" border="0" /&gt;&lt;/a&gt;Potem dodajemy nowa konfiguracje, klikamy add new launch konfigurations&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SD_fa0Hz_rI/AAAAAAAAACs/k1qJFOrUMxQ/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SD_fa0Hz_rI/AAAAAAAAACs/k1qJFOrUMxQ/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5206125346024586930" border="0" /&gt;&lt;/a&gt;Wpisujemy od góry ścieżkę gdzie jest zainstalowany maven, projekt który chcemy debugować, a na samym końcu argumenty do maven: "jetty:run". Później przechodzimy do zakładki "Environment" i dodajemy nową zmienną &lt;tt&gt;MAVEN_OPTS z wartościami:&lt;br /&gt;&lt;/tt&gt;&lt;tt style="font-weight: bold; color: rgb(255, 0, 0);"&gt;-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n&lt;br /&gt;&lt;/tt&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/SD_jyUHz_sI/AAAAAAAAAC0/3FM4RndVE6s/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/SD_jyUHz_sI/AAAAAAAAAC0/3FM4RndVE6s/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5206130147798023874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Klikamy Run. Jeśli chcemy żeby serwer czekał na podłączenie debuggera ustawiamy ostatni parametr na y czyli &lt;span style="color: rgb(255, 0, 0);"&gt;suspend=y&lt;/span&gt; . Teraz tylko podłączenie debuggera&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/SRhpjc-esII/AAAAAAAAAGc/EHydW-Suqms/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 288px; height: 306px;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/SRhpjc-esII/AAAAAAAAAGc/EHydW-Suqms/s320/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5267075822004383874" border="0" /&gt;&lt;/a&gt;wybieramy Remote Java Application&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/SRho3j0OKmI/AAAAAAAAAGM/IRvdJjvmBxU/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 273px;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/SRho3j0OKmI/AAAAAAAAAGM/IRvdJjvmBxU/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5267075067926162018" border="0" /&gt;&lt;/a&gt;wybieramy projekt do którego chcemy się podłączyć i potem wpisujemy hosta plus port jaki ustawiliśmy &lt;tt style="font-weight: bold; color: rgb(255, 0, 0);"&gt;address=4000 &lt;/tt&gt;teraz już tylko Debug :) postawić break pointy i udanej zabawy:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3938009664131693348?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3938009664131693348/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3938009664131693348' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3938009664131693348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3938009664131693348'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/05/debugging-wicket-w-eclipse-z-jetty.html' title='Debugging Wicket w Eclipse z Jetty'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MBa6gEugPjk/SD_eAkHz_qI/AAAAAAAAACk/t8tX5JCgISo/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-272661619385465662</id><published>2008-11-04T17:42:00.000+01:00</published><updated>2009-01-26T14:00:10.811+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Spring property-placeholder i zewnętrzny plik properties</title><content type='html'>oj dzisiaj trochę czasu straciłem, niż w końcu znalazłem na jakimś bloku w komentarzu, dręczącą mnie odpowiedź, jak w Springu wczytać coś do ziarna springowego z zewnętrznego pliku properties.&lt;br /&gt;Przykład z Mule 2.0.2 który wewnętrznie stosuje Springa, do wczytania pliku konfiguracyjnego:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;context:property-placeholder location="file:///Users/lipka/Documents/workspace/JMSRequest_Spring/conf/soft.properties" /&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;wczytanie properties w przypadku gdy w jarze mamy, następującą strukturę conf/soft.properties (wewnętrznie) wtedy odwołanie do properties wygląda tak:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;context:property-placeholder location="conf/soft.properties"&gt;&lt;/context:property-placeholder&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;context:property-placeholder location="conf/soft.properties" /&amp;gt;&lt;/span&gt;&lt;br /&gt;odwołanie się do konkretnej wartości z pliku properties w ziarnie wygląda tak:&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;spring:bean id="externalProgram" class="com.itsilesia.jmsexample.RunMe"&gt; &lt;/spring:bean&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;spring:bean id="externalProgram" class="com.itsilesia.jmsexample.RunMe"&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;        &amp;lt;spring:property name="programPath" value="${soft}"&amp;gt;&amp;lt;/spring:property&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;/spring:bean&amp;gt;&lt;/span&gt;&lt;br /&gt;a sam plik soft.properties&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;soft=/Applications/DrawIt.app/Contents/MacOS/DrawIt&lt;/span&gt;&lt;br /&gt;Z ciekawych rzeczy to wysychałem dzisiaj &lt;a href="http://agiletuning.pl/"&gt;http://agiletuning.pl/&lt;/a&gt; o programowaniu w parach, gorąco polecam.&lt;br /&gt;PS. jeśli mamy więcej plików properties to porostu po przecinku je dodajemy:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-272661619385465662?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/272661619385465662/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=272661619385465662' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/272661619385465662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/272661619385465662'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/11/spring-property-placeholder-i-zewntrzny.html' title='Spring property-placeholder i zewnętrzny plik properties'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8554842941879278472</id><published>2008-10-28T21:25:00.000+01:00</published><updated>2008-10-28T21:50:35.518+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java konferencje'/><title type='text'>JDD 2008</title><content type='html'>Już trochę po JDD 2008, ale dopiero teraz znalazłem chwilę, żeby z notatek zrobić wpis i nie zapomnieć, o pewnych fajnych rzeczach które przyszły mi do głowy. Przedstawię to w postaci tabelarycznej wykład i co z niego mi zostało w głowie :)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Keynote - Ted Neward (ciekawa prezentacja o przyszłośći języków programowania)&lt;/li&gt;&lt;li&gt;"Wejście szpiega" Szczepan Faber - http://code.google.com/p/mockito/ (fajne bo Polskie:) a tak na prawdę to będę się musiał temu bliżej przyjrzeć )&lt;/li&gt;&lt;li&gt;Szkolenie z Mockito z Igor Czechowski, Bartosz Bańkowski, Szczepan Faber (szybko, profesjonalnie i przystępny wstęp do testowania za pomocą Mockito)&lt;/li&gt;&lt;li&gt;Keynote - Neal Ford (podziwiam za więdzę i sposób prezentacji, to co trochę zasmuciło to dosyć ostra krytyka Javy (przynajmniej ja to tak odebrałem) dlatego zerknę na Ruby raczej JRuby:))&lt;/li&gt;&lt;li&gt;"Wprowadzenie do OSGI i Spring-DM" Jacek Laskowski (super show plus profesjonalizm, po zatym to muszę się temu na poważnie przyjżeć bo Jacek pokazał, że drzemią w tym mechaniźmie ogromne moźliwości)&lt;/li&gt;&lt;/ul&gt;Konferencję uważam za bardzo udaną, choć szkoda, że nie udało mi się wysłuchać wykładów Waldemara Kota, Adama Bien, Adama Warski (Envers - to muszę sprawdzić koniecznie), Szymona Brandys. Jeszczę jedna rzecz która bardzo mnie ucieszyła to duża reprezentacja Silesia JUG na JDD:) Oby więcej takich konferencji:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8554842941879278472?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8554842941879278472/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8554842941879278472' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8554842941879278472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8554842941879278472'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/10/jdd-2008.html' title='JDD 2008'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-3567967477652692486</id><published>2008-10-27T18:42:00.000+01:00</published><updated>2008-10-27T19:24:46.825+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>Wrażenie po pierwszym spotkaniu Silesia JUG:) </title><content type='html'>Jadąc na spotkanie myślałem sobie dobrze jak będzie jakieś 15 - 20 osób, to będzie sukces:)  jak dotarłem na miejsce, nie mogłem uwierzyć pełna sala :) (prawie 60 osób, dla tych co nie wierzą fotka)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SQX_G1udJEI/AAAAAAAAAE8/6JQwWYsE8yE/s1600-h/P1010629.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SQX_G1udJEI/AAAAAAAAAE8/6JQwWYsE8yE/s320/P1010629.JPG" alt="" id="BLOGGER_PHOTO_ID_5261892232618517570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Na początek przywitał nas wicedyrektor &lt;a href="http://www.coig.pl/"&gt;COIG&lt;/a&gt; i opowiedział w skrócie czym firma się zajmuje. Potem ja krótko opowiedziałem jak to się wszystko zaczęło od spotkania z Jackiem Laskowskim, a następnie Maciej Matecki zaczarował zgromadzonych wystąpieniem o GWT.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SQYA8m_-u8I/AAAAAAAAAFM/fkZwQMaO9tA/s1600-h/P1010627.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/SQYA8m_-u8I/AAAAAAAAAFM/fkZwQMaO9tA/s320/P1010627.JPG" alt="" id="BLOGGER_PHOTO_ID_5261894255890054082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Jeszcze chwila dla sponsorów:) (według zgłoszeń)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.itsilesia.com/"&gt;itSilesia&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.qnt.pl/"&gt;QNT Systemy informatyczne&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wasko.pl/"&gt;WASKO&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.alan-systems.com/"&gt;Alan Systems&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Później odbyła się krótka pogawędka o przyszłości Silesia JUG oraz temat Spring kontra EJB3 i sądzę, że w związku z tym na jakimś kolejnym spotkaniu dojdzie do konfrontacji tych dwóch technologii. No nic teraz tylko pozostaje tak zorganizować następne spotkania, żeby przyszło co najmniej tyle samo osób:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-3567967477652692486?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/3567967477652692486/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=3567967477652692486' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3567967477652692486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/3567967477652692486'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/10/wraenie-po-pierwszym-spotkaniu-silesia.html' title='Wrażenie po pierwszym spotkaniu Silesia JUG:) &lt;wow&gt;'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/SQX_G1udJEI/AAAAAAAAAE8/6JQwWYsE8yE/s72-c/P1010629.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-57508340312094918</id><published>2008-10-07T12:47:00.000+02:00</published><updated>2008-10-13T12:50:20.823+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>1. Spotkanie Śląskiej Grupy Użytkowników Technologii Java (Silesia JUG)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Śląska Grupa Użytkowników Technologii Java (Silesia JUG)&lt;/span&gt; serdecznie zaprasza wszystkich na pierwsze spotkanie, które odbędzie się &lt;span style="font-weight: bold;"&gt;14.10.2008&lt;/span&gt; o godzinie &lt;span style="font-weight: bold;"&gt;18:30&lt;/span&gt; w COIG (Centralny Ośrodek Informatyki Górnictwa S.A.) w sali &lt;span style="font-weight: bold;"&gt;517&lt;/span&gt; na pierwszym piętrze,  ul.Mikołowska 100.&lt;br /&gt;&lt;br /&gt;Temat prezentacji: &lt;span style="font-weight: bold;"&gt;GWT (Google Web Toolkit) - od początku do pierwszej aplikacji&lt;/span&gt;&lt;br /&gt;Prowadzący: &lt;span style="font-weight: bold;"&gt;Maciej Matecki&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Plan prezentacji:&lt;br /&gt;część teoretyczna:&lt;br /&gt;&lt;br /&gt;- krótka historia GWT&lt;br /&gt;- co jest potrzebne?&lt;br /&gt;- dostępne kontrolki&lt;br /&gt;- Remote Procedure Call (RPC)&lt;br /&gt;&lt;br /&gt;część praktyczna:&lt;br /&gt;&lt;br /&gt;- jak zacząć?&lt;br /&gt;- moje pierwsze RPC&lt;br /&gt;- zdarzenia&lt;br /&gt;- obsługa wyjątków&lt;br /&gt;&lt;br /&gt;część teoretyczna po raz kolejny:&lt;br /&gt;&lt;br /&gt;- przegląd bibliotek ułatwiających pracę z GWT&lt;br /&gt;- przegląd obowiązkowych bibliotek&lt;br /&gt;- co się nie załapało na prezentację, a co można poruszyć na innych&lt;br /&gt;spotkaniach - tematy bardziej zaawansowane&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Po prezentacji (1,5h) odbędzie się krótka pogawędka na temat dalszego&lt;br /&gt;rozwoju Silesia JUG.&lt;br /&gt;Po prezentacji pytania dla obecnych, gdzie będzie można wygrać:&lt;br /&gt;a. IntelliJ IDEA Personal License&lt;br /&gt;b. ReSharper Personal License&lt;br /&gt;c. TeamCity Build Agent&lt;br /&gt;d. Ruby IDE Personal License&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wstęp wolny!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zapraszam w imieniu Maćka i grupy Silesia JUG!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SOtEZ-GHqnI/AAAAAAAAAE0/Af2m_lUW_aU/s1600-h/JUGSilesia_plakat.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SOtEZ-GHqnI/AAAAAAAAAE0/Af2m_lUW_aU/s320/JUGSilesia_plakat.jpg" alt="" id="BLOGGER_PHOTO_ID_5254368603213900402" border="0" /&gt;&lt;/a&gt;Chcesz zostać patronatem, daj nam książkę a logo twojej firmy zostanie dodane do plakatu:)&lt;br /&gt;PS. Jeśli jesteś studentem rozwieś ten plakat na swojej uczelni:) &lt;a href="http://silesia-jug.googlegroups.com/web/JUGSilesia_plakat_v4.pdf?hl=pl&amp;amp;gda=KpTUiUoAAACcuv6syY3uuJleW5m2wAwlcHxIC5PPfQ0-o1GkHECW5VV0QtQBdgMjiGv44P7GKnLaheaufaLrjlVxvwrVPC7G_e3Wg0GnqfdKOwDqUih1tA"&gt;link do wersji do wydruku:)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-57508340312094918?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/57508340312094918/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=57508340312094918' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/57508340312094918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/57508340312094918'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/10/1-spotkanie-lskiej-grupy-uytkownikw.html' title='1. Spotkanie Śląskiej Grupy Użytkowników Technologii Java (Silesia JUG)'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/SOtEZ-GHqnI/AAAAAAAAAE0/Af2m_lUW_aU/s72-c/JUGSilesia_plakat.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-6954261815114357319</id><published>2008-10-02T15:26:00.000+02:00</published><updated>2008-10-02T15:47:19.627+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse - długość linii</title><content type='html'>Zadanie od kolegi, jak zmienić długość linii w Eclipse, Preferences -&gt; Java Code Style -&gt; Formatter odznaczamy Enable project specific settings, tworzymy nowy Profil klikamy New i wybieramy nazwę i bazę dla naszych nowych ustawień.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SOTPovWLgFI/AAAAAAAAAEc/HA2DGy81QMg/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SOTPovWLgFI/AAAAAAAAAEc/HA2DGy81QMg/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5252551364232052818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Potem idziemy do zakładki Line Wrapping   i następnie w Maximum line width: wpisujemy ilość znaków jaką chcemy, żeby Eclipse nam wyświetlało:)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/SOTQJPPH3MI/AAAAAAAAAEs/VyCrpVGS6Lg/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/SOTQJPPH3MI/AAAAAAAAAEs/VyCrpVGS6Lg/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5252551922548202690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; i potem Apply i OK i można się cieszyć ustawioną ilością znaków w linii:)&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-6954261815114357319?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/6954261815114357319/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=6954261815114357319' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6954261815114357319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6954261815114357319'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/10/eclipse-dugo-linii.html' title='Eclipse - długość linii'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/SOTPovWLgFI/AAAAAAAAAEc/HA2DGy81QMg/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-4473964084315692219</id><published>2008-09-25T10:42:00.000+02:00</published><updated>2008-09-25T14:17:43.234+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><title type='text'>OSGi i SpringSource podcast</title><content type='html'>Dzisiaj trafiłem na rewelacyjny &lt;a href="http://java.dzone.com/podcasts/osgi-and-enterpise"&gt;podcast&lt;/a&gt; Ben Hale wraz ze &lt;a href="http://www.itcork.ie/contentfiles/eventresources/OSGi%20and%20the%20Enterprise%20-%20Ben%20Hale.pdf"&gt;slajdami&lt;/a&gt; opowiada o OSGi. Opowiada on w bardzo prosty i przejrzysty sposób dlaczego warto używać OSGi wraz z jego historią. Miejmy nadzieje, że Jacek równie ciekawie przedstawi OSGi podczas &lt;a href="http://08.jdd.org.pl/agenda/?lp_lang_view=pl"&gt;JDD&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-4473964084315692219?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/4473964084315692219/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=4473964084315692219' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4473964084315692219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4473964084315692219'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/09/osgi-i-springsource-podcast.html' title='OSGi i SpringSource podcast'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8273917318664648578</id><published>2008-09-23T10:00:00.000+02:00</published><updated>2008-09-23T13:33:56.155+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Robienie prezentacji Beamer + Latex</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SNep7L7nGjI/AAAAAAAAAEM/owmXkOOU15Q/s1600-h/Picture+7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/SNep7L7nGjI/AAAAAAAAAEM/owmXkOOU15Q/s320/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5248850725003794994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Zadanie na dziś zrobić prezentacje szybko i oczywiście przy użyciu ulubionego edytora :) czyli Eclipse + &lt;a href="http://texlipse.sourceforge.net/"&gt;TeXlipse&lt;/a&gt; wtyczka. Więc znalazłem jak zainstalować &lt;a href="http://arthurkoziel.com/2008/06/02/how-to-install-latex-beamer-for-tex-live-on-mac-os-x/"&gt;latex + beamer pod mac OS&lt;/a&gt;.&lt;br /&gt;Ja zrobiłem to troszkę szybciej, po prostu w konsoli :&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lipka$ sudo port install texlive&lt;/span&gt;&lt;br /&gt;Potem szybko przestudiowałem dokumentację tex:) i jak używać wtyczki i mogę teraz robić prezentacje:) jeszcze rzuciłem okiem na bardzo fajny &lt;a href="http://www.math-linux.com/spip.php?article77"&gt;artykuł&lt;/a&gt; jak szybko stworzyć prezentacje używając Beamera.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8273917318664648578?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8273917318664648578/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8273917318664648578' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8273917318664648578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8273917318664648578'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/09/robienie-prezentacji-beamer-latex.html' title='Robienie prezentacji Beamer + Latex'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MBa6gEugPjk/SNep7L7nGjI/AAAAAAAAAEM/owmXkOOU15Q/s72-c/Picture+7.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-2554791934988696580</id><published>2008-09-19T12:49:00.000+02:00</published><updated>2008-09-23T15:42:01.594+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><title type='text'>OSGi i wielcy gracze</title><content type='html'>Przeglądając dzisiaj blogi natrafiłem na artykuł&lt;a href="http://blog.springsource.com/main/2008/09/17/springsource-and-other-top-vendors-leading-the-osgi-charge/"&gt; SpringSource Team Blog&lt;/a&gt;, w którym można było przeczytać, którzy wielcy gracze w dziale IT (SpringSource, IBM, Oracle, RedHat, Sun, SAP, ProSyst and Paremus) używają OSGi i jakie korzyści im to przyniosło. Więc nic więcej nie pozostało jak bliżej przyjrzeć się dokumentacji &lt;a href="http://www.osgi.org/Main/HomePage"&gt;OSGi&lt;/a&gt; i jakiś mały projekt zrobić, żeby zobaczyć jak to działa w praktyce:).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-2554791934988696580?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/2554791934988696580/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=2554791934988696580' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2554791934988696580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2554791934988696580'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/09/osgi-i-wielcy-gracze.html' title='OSGi i wielcy gracze'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8496205731428789963</id><published>2008-09-17T13:04:00.000+02:00</published><updated>2008-09-17T14:24:35.547+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Mule z JMS</title><content type='html'>Zadanie na dzisiaj odebrać z ftp plik o rozszerzeniu xml i na podstawie tego pliku stworzyć odpowiedni obiekt, który będzie wysłany do odpowiednich kolejek w &lt;a href="http://activemq.apache.org/"&gt;JMS (Apache activemq)&lt;/a&gt; (jak to zainstalować było opisane w &lt;a href="http://lukaszlipka.blogspot.com/2008/04/apache-activemq-instalacja.html"&gt;Apache ActiveMQ instalacja&lt;/a&gt; ).  Jak pobrać plik z ftp wiemy, należy tylko napisać komponent który po odberaniu pliku z serwisu ftp, będzie go w stanie sparsować. Sztuczka polega na tym, żeby nasz komponent implementował interfejs org.mule.api.lifecycle.Callable i po pobraniu pliku odpowiednio zaimplementować metodę onCall z interfejsu Callable. Więc tworzymy komponent RequestCreator który na podstawie pliku xml (a dokoładnie tagu &lt;name&gt; &lt;name&gt;) będzie tworzył &lt;name&gt;pdf&lt;/name&gt; -&gt;PdfRerquest albo &lt;name&gt;color&lt;/name&gt; -&gt; ColorProofingRequest. Przykładowy plik xml:&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;request&amp;gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;name&amp;gt;pdf&amp;lt;/name&amp;gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;paramter&amp;gt;300dpi&amp;lt;/paramter&amp;gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;/request&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Nasz klasa RequestCreator wygląda tak:&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;package com.itsilesia.jmsexample;&lt;br /&gt;&lt;br /&gt;import java.io.StringReader;&lt;br /&gt;&lt;br /&gt;import javax.xml.parsers.DocumentBuilder;&lt;br /&gt;import javax.xml.parsers.DocumentBuilderFactory;&lt;br /&gt;&lt;br /&gt;import org.mule.api.MuleEventContext;&lt;br /&gt;import org.mule.api.MuleMessage;&lt;br /&gt;import org.mule.api.lifecycle.Callable;&lt;br /&gt;import org.w3c.dom.Document;&lt;br /&gt;import org.w3c.dom.Element;&lt;br /&gt;import org.w3c.dom.Node;&lt;br /&gt;import org.w3c.dom.NodeList;&lt;br /&gt;import org.xml.sax.InputSource;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author lipka&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public class RequestCreator implements Callable {&lt;br /&gt;&lt;br /&gt;public Object onCall(MuleEventContext context) throws Exception {&lt;br /&gt;MuleMessage message = context.getMessage();&lt;br /&gt;String xmlFile = message.getPayloadAsString();&lt;br /&gt;try {&lt;br /&gt;    DocumentBuilder documnetBuilder = DocumentBuilderFactory&lt;br /&gt;            .newInstance().newDocumentBuilder();&lt;br /&gt;    Document document = documnetBuilder.parse(new InputSource(&lt;br /&gt;            new StringReader(xmlFile)));&lt;br /&gt;&lt;br /&gt;    document.getDocumentElement().normalize();&lt;br /&gt;&lt;br /&gt;    NodeList list = document.getElementsByTagName("request");&lt;br /&gt;&lt;br /&gt;    for (int i = 0; i &amp;lt; list.getLength(); i++) {&lt;br /&gt;        Node request = list.item(i);&lt;br /&gt;        if (request.getNodeType() == Node.ELEMENT_NODE) {&lt;br /&gt;            Element requestElement = (Element) request;&lt;br /&gt;            NodeList nameList = requestElement&lt;br /&gt;                    .getElementsByTagName("name");&lt;br /&gt;            Element nameElement = (Element) nameList.item(0);&lt;br /&gt;&lt;br /&gt;            NodeList textNameList = nameElement.getChildNodes();&lt;br /&gt;            String name = ((Node) textNameList.item(0)).getNodeValue().trim();&lt;br /&gt;            p(name);&lt;br /&gt;&lt;br /&gt;            NodeList paramterList = requestElement&lt;br /&gt;                    .getElementsByTagName("paramter");&lt;br /&gt;            Element paramterElement = (Element) paramterList.item(0);&lt;br /&gt;&lt;br /&gt;            NodeList textParamterList = paramterElement.getChildNodes();&lt;br /&gt;   &lt;br /&gt;            String parameters = ((Node) textParamterList.item(0)).getNodeValue().trim();&lt;br /&gt;            p(parameters);&lt;br /&gt;   &lt;br /&gt;            if(name.equals("pdf")){&lt;br /&gt;                PdfRequest pdfRequest = new PdfRequest();&lt;br /&gt;                pdfRequest.setParamters(parameters);&lt;br /&gt;                return pdfRequest;&lt;br /&gt;            }&lt;br /&gt;            if(name.equals("color")){&lt;br /&gt;                ColorProofingRequest colorProofingRequest = new ColorProofingRequest();&lt;br /&gt;                colorProofingRequest.setParamters(parameters);&lt;br /&gt;                return colorProofingRequest;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;} catch (Exception e2) {&lt;br /&gt;    p("exception");&lt;br /&gt;    e2.printStackTrace();&lt;br /&gt;}&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void p(String string) {&lt;br /&gt;System.out.println(string);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Więc mamy klasę która pobiera PayloadAsString czyli przerabia nasz plik xml w String potem jest parsowany i w zależności od nazwy tworzymy klasę PdfRequest albo ColorProofingRequest. Oby dwie klasy wyglądają identycznie, jedna dla przykładu:&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;package com.itsilesia.jmsexample;&lt;br /&gt;&lt;br /&gt;import java.io.Serializable;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author lipka&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public class PdfRequest implements Serializable{&lt;br /&gt;private String paramters;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @return the paramters&lt;br /&gt;*/&lt;br /&gt;public String getParamters() {&lt;br /&gt;return paramters;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @param paramters the paramters to set&lt;br /&gt;*/&lt;br /&gt;public void setParamters(String paramters) {&lt;br /&gt;this.paramters = paramters;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Teraz pozostaje nam podłączyć JMS do mule, musimy dodać więc kolejną linie do naszego pliku konfiguracyjnego:&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;jms:activemq-connector name="jmsCon"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;        brokerURL="tcp://localhost:61616" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;później trzeba zdefiniować transformacje, żeby stworzony przez nasz obiekt wsadzić do JMS:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;jms:object-to-jmsmessage-transformer name="ObjectToJMS" /&amp;gt;&lt;/span&gt;&lt;br /&gt;teraz pozostaje nam jeszcze w zależności od zwróconego przez RequestCreator klasy wrzucić dany obiekt do odpowiedniej kolejki, a w przypadku gdy żaden obiekt nie będzie pasował wrzucamy go do kolejki request.invalid, więc tak wygląda obsługa wrzucenie czegoś do kolejki:&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;forwarding-catch-all-strategy&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;     &amp;lt;jms:outbound-endpoint queue="request.invalid" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    &amp;lt;/forwarding-catch-all-strategy&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    &amp;lt;filtering-router&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;     &amp;lt;jms:outbound-endpoint queue="request.pdf" transformer-refs="ObjectToJMS"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;     &amp;lt;payload-type-filter expectedType="com.itsilesia.jmsexample.PdfRequest"/&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    &amp;lt;/filtering-router&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    &amp;lt;filtering-router&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;     &amp;lt;jms:outbound-endpoint&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      queue="request.colorproofing" transformer-refs="ObjectToJMS" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;      &amp;lt;payload-type-filter expectedType="com.itsilesia.jmsexample.ColorProofingRequest"/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    &amp;lt;/filtering-router&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;a cały plik konfiguracyjny wygląda tak:&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;mule xmlns="http://www.mulesource.org/schema/mule/core/2.0"&lt;br /&gt;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&lt;br /&gt;xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.0"&lt;br /&gt;xmlns:file="http://www.mulesource.org/schema/mule/file/2.0"&lt;br /&gt;xmlns:xm="http://www.mulesource.org/schema/mule/xml/2.0"&lt;br /&gt;xmlns:ftp="http://www.mulesource.org/schema/mule/ftp/2.0"&lt;br /&gt;xmlns:jms="http://www.mulesource.org/schema/mule/jms/2.0"&lt;br /&gt;xsi:schemaLocation="http://www.mulesource.org/schema/mule/core/2.0&lt;br /&gt;   http://www.mulesource.org/schema/mule/core/2.0/mule.xsd&lt;br /&gt;   http://www.mulesource.org/schema/mule/stdio/2.0&lt;br /&gt;   http://www.mulesource.org/schema/mule/stdio/2.0/mule-stdio.xsd&lt;br /&gt;   http://www.mulesource.org/schema/mule/file/2.0&lt;br /&gt;   http://www.mulesource.org/schema/mule/file/2.0/mule-file.xsd&lt;br /&gt;   http://www.mulesource.org/schema/mule/xml/2.0&lt;br /&gt;   http://www.mulesource.org/schema/mule/xml/2.0/mule-xml.xsd&lt;br /&gt;           http://www.mulesource.org/schema/mule/ftp/2.0&lt;br /&gt;           http://www.mulesource.org/schema/mule/ftp/2.0/mule-ftp.xsd&lt;br /&gt;           http://www.mulesource.org/schema/mule/jms/2.0 http://www.mulesource.org/schema/mule/jms/2.0/mule-jms.xsd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;description&amp;gt;JMS connector&amp;lt;/description&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;jms:activemq-connector name="jmsCon"&lt;br /&gt;    brokerURL="tcp://localhost:61616" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;jms:object-to-jmsmessage-transformer name="ObjectToJMS" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;model&amp;gt;&lt;br /&gt;    &amp;lt;service name="jmsService"&amp;gt;&lt;br /&gt;        &amp;lt;inbound&amp;gt;&lt;br /&gt;            &amp;lt;ftp:inbound-endpoint user="lipka" password="****"&lt;br /&gt;                host="localhost" port="21" path="/Users/lipka/in"&lt;br /&gt;                pollingFrequency="10000"&amp;gt;&lt;br /&gt;                &amp;lt;file:filename-wildcard-filter pattern="*.xml" /&amp;gt;&lt;br /&gt;            &amp;lt;/ftp:inbound-endpoint&amp;gt;&lt;br /&gt;        &amp;lt;/inbound&amp;gt;&lt;br /&gt;        &amp;lt;component class="com.itsilesia.jmsexample.RequestCreator" /&amp;gt;&lt;br /&gt;        &amp;lt;outbound&amp;gt;&lt;br /&gt;            &amp;lt;forwarding-catch-all-strategy&amp;gt;&lt;br /&gt;                &amp;lt;jms:outbound-endpoint queue="request.invalid" /&amp;gt;&lt;br /&gt;            &amp;lt;/forwarding-catch-all-strategy&amp;gt;&lt;br /&gt;            &amp;lt;filtering-router&amp;gt;&lt;br /&gt;                &amp;lt;jms:outbound-endpoint queue="request.pdf" transformer-refs="ObjectToJMS"/&amp;gt;&lt;br /&gt;                &amp;lt;payload-type-filter expectedType="com.itsilesia.jmsexample.PdfRequest"/&amp;gt;&lt;br /&gt;            &amp;lt;/filtering-router&amp;gt;&lt;br /&gt;            &amp;lt;filtering-router&amp;gt;&lt;br /&gt;                &amp;lt;jms:outbound-endpoint&lt;br /&gt;                    queue="request.colorproofing" transformer-refs="ObjectToJMS" /&amp;gt;&lt;br /&gt;                    &amp;lt;payload-type-filter expectedType="com.itsilesia.jmsexample.ColorProofingRequest"/&amp;gt;&lt;br /&gt;            &amp;lt;/filtering-router&amp;gt;&lt;br /&gt;        &amp;lt;/outbound&amp;gt;&lt;br /&gt;    &amp;lt;/service&amp;gt;&lt;br /&gt;&amp;lt;/model&amp;gt;&lt;br /&gt;&amp;lt;/mule&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;Uruchamiamy jconsole, żeby śledzić co się dzieje w Active MQ&lt;br /&gt;&lt;/name&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/SNDfrv9WY0I/AAAAAAAAAD0/6s1ME4WoTic/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/SNDfrv9WY0I/AAAAAAAAAD0/6s1ME4WoTic/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5246939508587782978" border="0" /&gt;&lt;/a&gt;uruchamiamy mule:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lukasz-lipkas-computer:~/Documents/workspace/JMSRequest lipka$ mule -config conf/jmsticket-config.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;name&gt;wrzucamy jakieś pliki xml, prawidłowy lub nie:) i patrzymy jak zapełniają się nasze kolejki w Apache Active MQ&lt;br /&gt;&lt;/name&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SNDoJuLoaKI/AAAAAAAAAD8/Eo2BmF5dl3M/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/SNDoJuLoaKI/AAAAAAAAAD8/Eo2BmF5dl3M/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5246948819599911074" border="0" /&gt;&lt;/a&gt;Mule:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/SNDpc_oxw2I/AAAAAAAAAEE/hPD3FtOmL4w/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/SNDpc_oxw2I/AAAAAAAAAEE/hPD3FtOmL4w/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5246950250214703970" border="0" /&gt;&lt;/a&gt;Jak widać nasz request zostały umieszczone w kolejkach:) Więc w następnym wpisie trzeba będzie je pobrać i na przykład przekazać jako parametry do jakiegoś programu, chyba, że ktoś ma jakiś inny pomysł:)każdy pomysł mile widziany:)&lt;br /&gt;&lt;br /&gt;&lt;/name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8496205731428789963?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8496205731428789963/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8496205731428789963' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8496205731428789963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8496205731428789963'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/09/mule-z-jms.html' title='Mule z JMS'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_MBa6gEugPjk/SNDfrv9WY0I/AAAAAAAAAD0/6s1ME4WoTic/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-2688188160130050392</id><published>2008-09-12T22:34:00.000+02:00</published><updated>2008-09-12T22:46:09.215+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Mule 2.0.0 i 2.0.2 ftp problem</title><content type='html'>niestety podczas dłuższego działania poprzednie przykładu &lt;a href="http://lukaszlipka.blogspot.com/2008/09/mule-ftp-bez-linijki-kodu.html"&gt;Mule ftp bez linijki kodu&lt;/a&gt;&lt;br /&gt; okazało się, że lecą jakieś dziwne wyjątki i aplikacja odmawia posłuszeństwa, w nieskończoność rzucając wyjątki. Znalazłem w Mule - JIRA zgłoszenie problemu i okazało się, że nie działa to na Linux'ie, Windows'ie i ja dodałem zgłoszenie, że również nie działa pod Mac OS X. Dla zainteresowanych rozwiązaniem tego problemu, polecam śledzienie wątku &lt;a href="http://mule.mulesource.org/jira/browse/MULE-3192"&gt;http://mule.mulesource.org/jira/browse/MULE-3192   &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-2688188160130050392?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/2688188160130050392/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=2688188160130050392' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2688188160130050392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2688188160130050392'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/09/mule-200-i-202-ftp-problem.html' title='Mule 2.0.0 i 2.0.2 ftp problem'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-4548233803153506707</id><published>2008-09-10T21:28:00.000+02:00</published><updated>2008-09-10T21:57:33.822+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silesia JUG'/><title type='text'>Wystartowała grupa Silesia JUG</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SMggz-IXtfI/AAAAAAAAADU/N-NWveRwgZs/s1600-h/P1010490.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/SMggz-IXtfI/AAAAAAAAADU/N-NWveRwgZs/s320/P1010490.jpg" alt="" id="BLOGGER_PHOTO_ID_5244477843296466418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;9.09.2008 odbyło się w Katowicach spotkanie miłośników Javy i nie tylko z Jackiem Laskowski, podzielił on się z nami swoim doświadczeniem jeśli chodzi o jego działalność leadera w JUG Warszawa. No i tak się zaczęło, mamy już teraz grupę dyskusyjną &lt;a href="http://groups.google.com/group/silesia-jug?hl=pl"&gt;Silesia JUG&lt;/a&gt;  zarejestrowanych już 24 członków i dostałem parę e-maili od ludzi którzy nie śmiało, ale chętnie mówią o tym, że jak będzie inicjatywa to z chęcią wpadną. Więc moi drodzy proszę wszystkich ze Śląska i nie tylko o opinie na grupie dyskusyjnej z czego byście chcieli wykłady/warsztaty.&lt;br /&gt;Dobra to na tyle, jeszcze tylko wspólne zdjęcie od prawej Damian Łukasik, Marcin Kołoczek, Michał Kroliczek, Łukasz Grzesik, Jacek i  ja (mocna ekipa:))&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MBa6gEugPjk/SMgj7FYA9_I/AAAAAAAAADc/tK2_RR1jMJo/s1600-h/P1010488.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_MBa6gEugPjk/SMgj7FYA9_I/AAAAAAAAADc/tK2_RR1jMJo/s320/P1010488.jpg" alt="" id="BLOGGER_PHOTO_ID_5244481264035100658" border="0" /&gt;&lt;/a&gt;gorąca dyskusja czy EJB3 już jest martwe, i jak Jacek wskazuje palcem, że nie:)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/SMgkdVumJgI/AAAAAAAAADk/0IqZdSziOKw/s1600-h/P1010485.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/SMgkdVumJgI/AAAAAAAAADk/0IqZdSziOKw/s320/P1010485.jpg" alt="" id="BLOGGER_PHOTO_ID_5244481852540331522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;i droga powrotna, zabawy z długim czasem naświetlania.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/SMglN_WLrlI/AAAAAAAAADs/RMu6jr_lQ_4/s1600-h/P1010489.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/SMglN_WLrlI/AAAAAAAAADs/RMu6jr_lQ_4/s320/P1010489.jpg" alt="" id="BLOGGER_PHOTO_ID_5244482688345943634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A teraz czas na powrót do Mule.&lt;br /&gt;PS. Może  ludzie z SILESIA JUG którzy jadą na &lt;a href="http://08.jdd.org.pl/agenda/?lp_lang_view=pl"&gt;JDD&lt;/a&gt; wspólnie się wybiorą do Krakowa?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-4548233803153506707?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/4548233803153506707/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=4548233803153506707' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4548233803153506707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4548233803153506707'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/09/wystartowaa-grupa-silesia-jug.html' title='Wystartowała grupa Silesia JUG'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MBa6gEugPjk/SMggz-IXtfI/AAAAAAAAADU/N-NWveRwgZs/s72-c/P1010490.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8538784266811142851</id><published>2008-09-08T20:44:00.000+02:00</published><updated>2008-09-08T20:53:34.297+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java konferencje'/><title type='text'>Dlaczego warto czytać blogi :)</title><content type='html'>Jakiś czas temu czytając wpis &lt;a href="http://grzegorzduda.blogspot.com/"&gt;Grzegorza Dudy &lt;/a&gt;o tytule &lt;a href="http://grzegorzduda.blogspot.com/2008/08/jdd-za-darmo.html"&gt;JDD za darmo&lt;/a&gt; . Odpowiedziałem na parę pytań na stronie konferencji &lt;a href="http://08.jdd.org.pl/"&gt;Java Developer Day 2008&lt;/a&gt;  i dzisiaj dostałem bardzo miłego e-maila o tytule "Wygrana w konkursie Java Developers' Day 2008!". Więc 16 października będę miał okazję wysłuchać wielu ciekawych prezentacji:)  Dzięki Grzesiek za wpis i za &lt;a href="http://www.javapassion.com/"&gt;javapassion&lt;/a&gt; z Sang Shin w Krakowie.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8538784266811142851?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8538784266811142851/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8538784266811142851' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8538784266811142851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8538784266811142851'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/09/dlaczego-warto-czyta-blogi.html' title='Dlaczego warto czytać blogi :)'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-7691871715010010550</id><published>2008-09-04T14:42:00.000+02:00</published><updated>2008-09-04T18:27:26.176+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Mule ftp bez linijki kodu</title><content type='html'>Zadanie na dzisiaj to pobieranie pliku o konkretnym rozszerzeniu "pdf" (przypuśćmy, że to będzie dokument pdf gotowy do wydruku) z serwera ftp i przekopiowanie go do jakiegoś konkretnego katalogu na dysku lokalnym, skąd będzie go można wydrukować. Całość zostanie napisane bez napisania linii kodu w Javie, sama edycja pliku konfiguracyjnego. Więc zaczynamy, najpierw trzeba połączyć się z serwerem ftp:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;lt;ftp:inbound-endpoint user=&amp;quot;lipka&amp;quot; password=&amp;quot;******&amp;quot;&lt;br /&gt;                    host=&amp;quot;localhost&amp;quot; port=&amp;quot;21&amp;quot; path=&amp;quot;/Users/lipka/in&amp;quot; pollingFrequency=&amp;quot;10000&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;file:filename-wildcard-filter pattern=&amp;quot;*.pdf&amp;quot; /&amp;gt;&lt;br /&gt;                &amp;lt;/ftp:inbound-endpoint&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;tutaj chyba nie trzeba niczego tłumaczyć. A potem przesunąć to co przyniesie nam ftp do konkretnego katalogu:&lt;br /&gt;&lt;div&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &amp;lt;file:outbound-endpoint path=&amp;quot;/Users/lipka/out&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                        outputPattern=&amp;quot;${ORIGINALNAME}&amp;quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                    &amp;lt;/file:outbound-endpoint&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;skoro mamy już wszystko (&lt;span style="color: rgb(255, 0, 0);"&gt;${ORIGINALNAME} - oznacza że plik nie zmieni nazwy podczas przenoszenia&lt;/span&gt;):) to teraz całość wygląda tak:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;mule xmlns=&amp;quot;http://www.mulesource.org/schema/mule/core/2.0&amp;quot;&lt;br /&gt;    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;    xmlns:stdio=&amp;quot;http://www.mulesource.org/schema/mule/stdio/2.0&amp;quot;&lt;br /&gt;    xmlns:file=&amp;quot;http://www.mulesource.org/schema/mule/file/2.0&amp;quot;&lt;br /&gt;    xmlns:xm=&amp;quot;http://www.mulesource.org/schema/mule/xml/2.0&amp;quot;&lt;br /&gt;    xmlns:ftp=&amp;quot;http://www.mulesource.org/schema/mule/ftp/2.0&amp;quot;&lt;br /&gt;    xsi:schemaLocation=&amp;quot;http://www.mulesource.org/schema/mule/core/2.0&lt;br /&gt;       http://www.mulesource.org/schema/mule/core/2.0/mule.xsd&lt;br /&gt;       http://www.mulesource.org/schema/mule/stdio/2.0&lt;br /&gt;       http://www.mulesource.org/schema/mule/stdio/2.0/mule-stdio.xsd&lt;br /&gt;       http://www.mulesource.org/schema/mule/file/2.0&lt;br /&gt;       http://www.mulesource.org/schema/mule/file/2.0/mule-file.xsd&lt;br /&gt;       http://www.mulesource.org/schema/mule/xml/2.0&lt;br /&gt;       http://www.mulesource.org/schema/mule/xml/2.0/mule-xml.xsd&lt;br /&gt;               http://www.mulesource.org/schema/mule/ftp/2.0&lt;br /&gt;               http://www.mulesource.org/schema/mule/ftp/2.0/mule-ftp.xsd&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;description&amp;gt;FTP connector&amp;lt;/description&amp;gt;&lt;br /&gt;    &amp;lt;model&amp;gt;&lt;br /&gt;        &amp;lt;service name=&amp;quot;ftpService&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;inbound&amp;gt;&lt;br /&gt;                &amp;lt;ftp:inbound-endpoint user=&amp;quot;lipka&amp;quot; password=&amp;quot;****&amp;quot;&lt;br /&gt;                    host=&amp;quot;localhost&amp;quot; port=&amp;quot;21&amp;quot; path=&amp;quot;/Users/lipka/in&amp;quot; pollingFrequency=&amp;quot;10000&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;file:filename-wildcard-filter pattern=&amp;quot;*.pdf&amp;quot; /&amp;gt;&lt;br /&gt;                &amp;lt;/ftp:inbound-endpoint&amp;gt;&lt;br /&gt;            &amp;lt;/inbound&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;outbound&amp;gt;&lt;br /&gt;                &amp;lt;outbound-pass-through-router&amp;gt;&lt;br /&gt;                    &amp;lt;file:outbound-endpoint path=&amp;quot;/Users/lipka/out&amp;quot;&lt;br /&gt;                        outputPattern=&amp;quot;${ORIGINALNAME}&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;/file:outbound-endpoint&amp;gt;&lt;br /&gt;                &amp;lt;/outbound-pass-through-router&amp;gt;&lt;br /&gt;            &amp;lt;/outbound&amp;gt;&lt;br /&gt;        &amp;lt;/service&amp;gt;&lt;br /&gt;    &amp;lt;/model&amp;gt;&lt;br /&gt;&amp;lt;/mule&amp;gt;&lt;/span&gt;&lt;br /&gt;Po uruchomieniu mule:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lukasz-lipkas-computer:~/Documents/workspace/FtpConnector lipka$ mule -config conf/mule-config.xml&lt;/span&gt;&lt;br /&gt;wrzucamy do ustalonego folderu na ftp plik o rozszerzeniu .pdf i patrzymy co się dzieje:&lt;br /&gt; INFO  2008-09-04 16:19:21,454 [connector.file.0.dispatcher.1] org.mule.transport.file.FileMessageDispatcher: Connected: FileMessageDispatcher{this=63b8c1, endpoint=file:///Users/lipka/out, disposed=false}&lt;br /&gt;INFO  2008-09-04 16:19:21,456 [connector.file.0.dispatcher.1] org.mule.transport.file.FileConnector: Writing file to: /Users/lipka/out/invoice113397.pdf&lt;br /&gt;&lt;br /&gt;Jak widać wszystko działa tak jak chcemy:) można też spróbować wrzucić pliki o innym rozszerzeniu do podanego folderu i zobaczyć co się stanie, w naszym przypadku nic się nie powinno dziać.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-7691871715010010550?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/7691871715010010550/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=7691871715010010550' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7691871715010010550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7691871715010010550'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/09/mule-ftp-bez-linijki-kodu.html' title='Mule ftp bez linijki kodu'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-4656261366125809017</id><published>2008-08-31T13:02:00.000+02:00</published><updated>2008-09-04T18:15:29.971+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Mule "echo" przykład</title><content type='html'>Po długim okresie nie pisanie czas wrócić do ESB w szczególności Mule 2.0,  od czasu mojego ostatniego wpisu na temat instalacji Mule, na stronie projektu ukazała się ogromna ilość dokumentacji :) &lt;a href="http://www.mulesource.org/display/MULE2USER/Home"&gt;www.mulesource.org&lt;/a&gt; . Więc startujemy tworzymy nowy Mule 2.0 projekt:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SLqJUmPht7I/AAAAAAAAAC8/FGDH3gevkjI/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SLqJUmPht7I/AAAAAAAAAC8/FGDH3gevkjI/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5240652103355054002" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/SLqJphiFebI/AAAAAAAAADE/hSiR4HkG_TE/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/SLqJphiFebI/AAAAAAAAADE/hSiR4HkG_TE/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5240652462867970482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Klikamy "Finish" i już mamy projekt stworzony:) Więc tak pierwsze zadanie to stworzyć klasę która będzie sprawdzała czy przekazana wartość z standardowego wejścia to "lukasz" jeśli tak to wypisze przywitanie w innym wypadku rzuci wyjątek.&lt;br /&gt;Więc postępując zgodnie z dobrymi praktykami programistycznymi stworzymy interfejs:&lt;br /&gt;package com.itsilesia;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author lipka&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public interface Echo {&lt;br /&gt;  String echoMessage(String echo);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;teraz implementujemy nasz interfejs:&lt;br /&gt;package com.itsilesia;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author lipka&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public class EchoUMOComponent implements Echo {&lt;br /&gt;&lt;br /&gt;  public String echoMessage(String echo) {&lt;br /&gt;      if(echo.equals("lukasz")){&lt;br /&gt;          return "Witaj "+echo;&lt;br /&gt;      }else{&lt;br /&gt;          throw new IllegalArgumentException("Zle dane");&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;skoro już mamy klasę, zostało nam tylko teraz napisać odpowiedni plik konfiguracyjny który przeczyta coś ze standardowego wyjścia prześle do naszego komponentu EchoUMOComponent a w razie nie powodzenia będzie w stanie obsłużyć wyjątek (w naszym wypadku wypisać na konsole).&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;mule xmlns=&amp;quot;http://www.mulesource.org/schema/mule/core/2.0&amp;quot;&lt;br /&gt;    xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;    xmlns:spring=&amp;quot;http://www.springframework.org/schema/beans&amp;quot;&lt;br /&gt;    xmlns:stdio=&amp;quot;http://www.mulesource.org/schema/mule/stdio/2.0&amp;quot;&lt;br /&gt;    xmlns:vm=&amp;quot;http://www.mulesource.org/schema/mule/vm/2.0&amp;quot;&lt;br /&gt;    xsi:schemaLocation=&amp;quot;&lt;br /&gt;       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd&lt;br /&gt;       http://www.mulesource.org/schema/mule/core/2.0 http://www.mulesource.org/schema/mule/core/2.0/mule.xsd&lt;br /&gt;       http://www.mulesource.org/schema/mule/stdio/2.0 http://www.mulesource.org/schema/mule/stdio/2.0/mule-stdio.xsd&lt;br /&gt;       http://www.mulesource.org/schema/mule/vm/2.0 http://www.mulesource.org/schema/mule/vm/2.0/mule-vm.xsd&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;description&amp;gt;Very simple echo example.&amp;lt;/description&amp;gt;&lt;br /&gt;    &amp;lt;stdio:connector name=&amp;quot;SystemStreamConnector&amp;quot;&lt;br /&gt;        promptMessage=&amp;quot;Wpisz czarodziejskie slowo: &amp;quot; messageDelayTime=&amp;quot;1000&amp;quot; /&amp;gt;&lt;br /&gt;    &amp;lt;model name=&amp;quot;echo&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;service name=&amp;quot;displayingMessage&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;inbound&amp;gt;&lt;br /&gt;                &amp;lt;stdio:inbound-endpoint system=&amp;quot;IN&amp;quot; /&amp;gt;&lt;br /&gt;            &amp;lt;/inbound&amp;gt;&lt;br /&gt;            &amp;lt;component class=&amp;quot;com.itsilesia.EchoUMOComponent&amp;quot; /&amp;gt;&lt;br /&gt;            &amp;lt;outbound&amp;gt;&lt;br /&gt;                &amp;lt;outbound-pass-through-router&amp;gt;&lt;br /&gt;                    &amp;lt;stdio:outbound-endpoint system=&amp;quot;OUT&amp;quot; /&amp;gt;&lt;br /&gt;                &amp;lt;/outbound-pass-through-router&amp;gt;&lt;br /&gt;            &amp;lt;/outbound&amp;gt;&lt;br /&gt;            &amp;lt;default-service-exception-strategy&amp;gt;&lt;br /&gt;                &amp;lt;stdio:outbound-endpoint system=&amp;quot;OUT&amp;quot; /&amp;gt;&lt;br /&gt;            &amp;lt;/default-service-exception-strategy&amp;gt;&lt;br /&gt;        &amp;lt;/service&amp;gt;&lt;br /&gt;    &amp;lt;/model&amp;gt;&lt;br /&gt;&amp;lt;/mule&amp;gt;&lt;/span&gt;&lt;mule xmlns="http://www.mulesource.org/schema/mule/core/2.0" xsi="http://www.w3.org/2001/XMLSchema-instance" spring="http://www.springframework.org/schema/beans" stdio="http://www.mulesource.org/schema/mule/stdio/2.0" vm="http://www.mulesource.org/schema/mule/vm/2.0" schemalocation="        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd        http://www.mulesource.org/schema/mule/core/2.0 http://www.mulesource.org/schema/mule/core/2.0/mule.xsd        http://www.mulesource.org/schema/mule/stdio/2.0 http://www.mulesource.org/schema/mule/stdio/2.0/mule-stdio.xsd        http://www.mulesource.org/schema/mule/vm/2.0 http://www.mulesource.org/schema/mule/vm/2.0/mule-vm.xsd"&gt;&lt;stdio:connector name="SystemStreamConnector" promptmessage="Wpisz czarodziejskie slowo: " messagedelaytime="1000"&gt;&lt;model name="echo"&gt;&lt;service name="displayingMessage"&gt;&lt;inbound&gt;&lt;br /&gt;Krótki opis tego tagów z pliku myecho-config.xml:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  &lt;span style="font-weight: bold;"&gt;xsi:schemaLocation&lt;/span&gt;="http://www.springframework.org/schema/.. -importujemy niezbędną przestrzeń nazw do dalszej konfiguracji Mule&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;stdio:connector&lt;/span&gt; - definiujemy konektor który czyta z standardowego wejścia czyli konsoli i do tego wypisuje nam komunikat zachęcający do wpisanie czegoś&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;model&lt;/span&gt; nazwa przez nas stworzonego modelu przetwarzania informacji&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;service name="displayingMessage" &lt;span style="font-weight: normal;"&gt;tworzenie naszego serwisu&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;inbound &lt;span style="font-weight: normal;"&gt;określenie danych wejściowych, na które ma reagować nasz model, w naszym przypadku reaguje on na wpisanie wyrazu i wciśnięcie klawisza ENTER&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;component class="com.itsilesia.EchoUMOComponent" &lt;span style="font-weight: normal;"&gt;po przejściu przez &lt;span style="font-weight: bold;"&gt;inbound&lt;/span&gt; informacja jest przekazywana do naszego komponentu, gdzie następuje przetwarzanie odebranej informacji&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;outbound  i  outbound-pass-through-router &lt;span style="font-weight: normal;"&gt;wyłapują informacje po przejściu przez nasz komponent i w naszym wypadku wypisują przetworzoną informacje na standardowe wyście&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;default-service-exception-strategy &lt;span style="font-weight: normal;"&gt;ten element wyłapuje wyjątki lecące w aplikacji i wypisuje je na standardowe wyjście  &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Więc wszytko gotowe teraz tylko uruchomić:&lt;br /&gt;&lt;br /&gt;********************************************************************************&lt;br /&gt;* A Fatal error has occurred while the server was running:                     *&lt;br /&gt;* com.itsilesia.EchoUMOComponent (java.lang.ClassNotFoundException)            *&lt;br /&gt;*                                                                              *&lt;br /&gt;* The error is fatal, the system must shutdown                                 *&lt;br /&gt;* Server started: 01.01.70 01:00                                               *&lt;br /&gt;* Server shutdown: 31.08.08 14:27                                              *&lt;br /&gt;********************************************************************************&lt;br /&gt;&lt;br /&gt;niestety Mule nie mogło znaleźć naszej klasy, musimy ja tam skopiować, najszybciej po prostu zrobić jara za pomocą Eclipse export i potem skopiować go do katalogu gdzie zainstalowaliśmy Mule a dokładni do katalogu lib/user/&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/SLqQbelYpkI/AAAAAAAAADM/g8yhnarLNLY/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/SLqQbelYpkI/AAAAAAAAADM/g8yhnarLNLY/s320/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5240659918139729474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Uruchamiamy nasz przykład:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lukasz-lipkas-computer:~/Documents/workspace/MyEcho lipka$ mule -config conf/myecho-config.xml &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Wpisz czarodziejskie slowo:&lt;br /&gt;lukasz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;INFO  2008-08-31 15:09:23,509 [SystemStreamConnector.dispatcher.1] org.mule.transport.stdio.StdioMessageDispatcher: Connected: StdioMessageDispatcher{this=7d08eb, endpoint=stdio://system.out, disposed=false}&lt;br /&gt;Witaj lukasz&lt;br /&gt;&lt;br /&gt;Wpisz czarodziejskie slowo:&lt;br /&gt;lipka&lt;br /&gt;ERROR 2008-08-31 15:09:26,291 [displayingMessage.3] org.mule.service.DefaultServiceExceptionStrategy:&lt;br /&gt;********************************************************************************&lt;br /&gt;Message               : Component that caused exception is: displayingMessage. Message payload is of type: String&lt;br /&gt;Type                  : org.mule.api.service.ServiceException&lt;br /&gt;Code                  : MULE_ERROR--2&lt;br /&gt;JavaDoc               : http://mule.mulesource.org/docs/apidocs/org/mule/api/service/ServiceException.html&lt;br /&gt;Payload               : lipka&lt;br /&gt;********************************************************************************&lt;br /&gt;Exception stack is:&lt;br /&gt;1. Zle dane (java.lang.IllegalArgumentException)&lt;br /&gt; com.itsilesia.EchoUMOComponent:16 (http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalArgumentException.html)&lt;br /&gt;2. Component that caused exception is: displayingMessage. Message payload is of type: String (org.mule.api.service.ServiceException)&lt;br /&gt; org.mule.component.DefaultLifecycleAdapter:214 (http://mule.mulesource.org/docs/apidocs/org/mule/api/service/ServiceException.html)&lt;br /&gt;********************************************************************************&lt;br /&gt;Root Exception stack trace:&lt;br /&gt;java.lang.IllegalArgumentException: Zle dane&lt;br /&gt;       at com.itsilesia.EchoUMOComponent.echoMessage(EchoUMOComponent.java:16)&lt;br /&gt;       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br /&gt;       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;br /&gt;       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;br /&gt;       at java.lang.reflect.Method.invoke(Method.java:585)&lt;br /&gt;       at org.mule.model.resolvers.AbstractEntryPointResolver.invokeMethod(AbstractEntryPointResolver.java:147)&lt;br /&gt;       at org.mule.model.resolvers.ReflectionEntryPointResolver.invoke(ReflectionEntryPointResolver.java:127)&lt;br /&gt;       at org.mule.model.resolvers.DefaultEntryPointResolverSet.invoke(DefaultEntryPointResolverSet.java:50)&lt;br /&gt;       at org.mule.component.DefaultLifecycleAdapter.intercept(DefaultLifecycleAdapter.java:202)&lt;br /&gt;       at org.mule.component.AbstractJavaComponent.invokeComponentInstance(AbstractJavaComponent.java:82)&lt;br /&gt;       at org.mule.component.AbstractJavaComponent.doOnCall(AbstractJavaComponent.java:73)&lt;br /&gt;       at org.mule.component.AbstractComponent.onCall(AbstractComponent.java:87)&lt;br /&gt;       at org.mule.model.seda.SedaService$ComponentStageWorker.run(SedaService.java:533)&lt;br /&gt;       at org.mule.work.WorkerContext.run(WorkerContext.java:310)&lt;br /&gt;       at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)&lt;br /&gt;       at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)&lt;br /&gt;       at java.lang.Thread.run(Thread.java:613)&lt;br /&gt;&lt;br /&gt;********************************************************************************&lt;br /&gt;&lt;br /&gt;ERROR 2008-08-31 15:09:26,292 [displayingMessage.3] org.mule.service.DefaultServiceExceptionStrategy: Message being processed is: org.mule.transport.DefaultMessageAdapter/org.mule.transport.DefaultMessageAdapter@2ed6f9{id=099b0bf3-775e-11dd-a41e-b944827db778, payload=java.lang.String, correlationId=null, correlationGroup=-1, correlationSeq=-1, encoding=UTF-8, exceptionPayload=org.mule.message.DefaultExceptionPayload@237817}&lt;br /&gt;ExceptionMessage{message=lipka, context={MULE_ORIGINATING_ENDPOINT=endpoint.stdio.system.in}exception=org.mule.api.service.ServiceException: Component that caused exception is: displayingMessage. Message payload is of type: String, componentName='displayingMessage', endpointUri=stdio://system.in, timeStamp=Sun Aug 31 15:09:26 CEST 2008}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Wszystko działa więc teraz trzeba będzie to trochę skomplikować i w następnym wpisie połączyć to z jakimś serwerem ftp i jms.&lt;/inbound&gt;&lt;/service&gt;&lt;/model&gt;&lt;/stdio:connector&gt;&lt;/mule&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-4656261366125809017?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/4656261366125809017/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=4656261366125809017' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4656261366125809017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4656261366125809017'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/08/mule-echo-przykad.html' title='Mule &quot;echo&quot; przykład'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/SLqJUmPht7I/AAAAAAAAAC8/FGDH3gevkjI/s72-c/Picture+2.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8067973609568682880</id><published>2008-05-28T22:22:00.001+02:00</published><updated>2008-05-28T22:42:04.068+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java konferencje'/><title type='text'>Świetna Javowa konferencja JAVArsovia II</title><content type='html'>31 maja w Warszawie dobędzie się największa polska  konferencja  o tematyce Javy.  Warto wspomnieć, że konferencja jest za darmo. Więc warto się zarejestrować i kto może to w sobotę do Warszawy. A ci co nie dają rady się tam pojawić mogą tylko liczyć na to, że organizatorzy udostępnią materiały:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8067973609568682880?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8067973609568682880/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8067973609568682880' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8067973609568682880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8067973609568682880'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/05/blog-post.html' title='Świetna Javowa konferencja JAVArsovia II'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-7732614314764764817</id><published>2008-05-07T11:18:00.000+02:00</published><updated>2008-05-07T11:33:15.663+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libre Graphics Meeting'/><title type='text'>Ciekawa konferencja</title><content type='html'>Osoby zainteresowane takimi programami jak Scribus, Krita, Inkscape, Gimp, Blender oraz grafiką szeroko pojętą, mogą się udać do Wrocławia na darmową konferencję, więcej informacji na stronie organizatorów  &lt;a href="http://www.libregraphicsmeeting.org/2008/index.php?lang=en"&gt;Libre Graphics  Meeting 2008&lt;/a&gt;&lt;br /&gt;Może ktoś z okolic Rybnika się tam wybiera?&lt;br /&gt;&lt;a href="http://www.libregraphicsmeeting.org/2008/index.php?lang=en"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-7732614314764764817?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/7732614314764764817/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=7732614314764764817' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7732614314764764817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/7732614314764764817'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/05/ciekawa-konferencja.html' title='Ciekawa konferencja'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-6766798757808413734</id><published>2008-04-25T13:44:00.000+02:00</published><updated>2008-04-29T12:48:18.914+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>Organizacja repozytorium</title><content type='html'>Dzisiejszym zadaniem jest zorganizowanie struktury repozytorium pod główny projekt w  repozytorium &lt;a href="http://subversion.tigris.org/"&gt;subversion&lt;/a&gt;.  Podstawowe informacje jak uruchomić svn można przeczytać w wpisie &lt;a href="http://www.mariuszlipinski.pl/2007/05/repozytorium-plikw-svn-z-klientem.html"&gt;Mariusza Lipińskiego&lt;/a&gt;. Dobra a teraz do dzieła tworzymy trzy główne katalogi:&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;trunk&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;branches&lt;/span&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;tags&lt;/span&gt;&lt;br /&gt;W &lt;span style="font-weight: bold;"&gt;trunk&lt;/span&gt; trzymamy główną część projektu (najbardziej rozwojowa gałąź), &lt;span style="font-weight: bold;"&gt;branches&lt;/span&gt; przeznaczamy na poprawianie błędów i  na eksperymentowanie  developerów,  jako ostatni został nam katalog &lt;span style="font-weight: bold;"&gt;tags&lt;/span&gt; gdzie zamrażamy konkretne wydania naszego projektu, jakieś ważne wydarzenie z cyklu życia naszego projektu (z reguły koresponduje on do konkretnego podkatalogu &lt;span style="font-weight: bold;"&gt;branches&lt;/span&gt;). Dobrze jest zrobić katalog &lt;span style="font-weight: bold;"&gt;tags&lt;/span&gt; jak katalog tylko do odczytu. Hmm chyba wszystko na początek jakieś uwagi?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-6766798757808413734?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/6766798757808413734/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=6766798757808413734' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6766798757808413734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/6766798757808413734'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/04/organizacja-repozytorium.html' title='Organizacja repozytorium'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-1421030338687888310</id><published>2008-04-07T18:48:00.000+02:00</published><updated>2008-12-09T01:15:13.346+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Eclipse Mule IDE</title><content type='html'>Dodajemy teraz możliwość tworzenia Mule projektów w Eclipse postępujemy z godnie z instrukcja &lt;a href="http://www.mulesource.org/display/IDE/Mule+IDE+2.0+User+Guide"&gt;Mule IDE 2.0 Pre-release User Guide&lt;/a&gt; Instalujemy niezbędne komponenty do Eclipse 3.3&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/R_pYfGr5kRI/AAAAAAAAABc/vXPPpLdp7Bs/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/R_pYfGr5kRI/AAAAAAAAABc/vXPPpLdp7Bs/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5186555212264476946" border="0" /&gt;&lt;/a&gt;No i na koniec sama wtyczka z Mule IDE. Dodajemy nowe URL do  Software Updates http://dist.muleforge.org/mule-ide/updates-2.0.0/ . Restartujemy Eclipse i tworzymy nowy Mule Project.&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_MBa6gEugPjk/R_uvPWr5kSI/AAAAAAAAABk/D2oaNOrjj2U/s320/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5186932074169864482" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" /&gt;Potem musimy jeszcze skonfigurować domyślne ustawienia dla Mule.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238);"&gt;&lt;img src="http://4.bp.blogspot.com/_MBa6gEugPjk/R_uw4Wr5kTI/AAAAAAAAABs/jTQNLrei67M/s320/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5186933878056128818" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" border="0" /&gt;&lt;/span&gt;Teraz jeszcze tworzymy plik konfiguracyjny za pomocą IDE&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/R_u2vmr5kUI/AAAAAAAAAB0/rYpbywFs9hQ/s1600-h/Picture+8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/R_u2vmr5kUI/AAAAAAAAAB0/rYpbywFs9hQ/s320/Picture+8.png" alt="" id="BLOGGER_PHOTO_ID_5186940324802040130" border="0" /&gt;&lt;/a&gt;Nasz Eclipse IDE zostało przystosowane do pracy z Mule:) W następnym wpisie stworzymy najprostszy działający projekt z użyciem  Mule, FTP i mavena.&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-1421030338687888310?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/1421030338687888310/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=1421030338687888310' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1421030338687888310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1421030338687888310'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/04/eclipse-mule-ide.html' title='Eclipse Mule IDE'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MBa6gEugPjk/R_pYfGr5kRI/AAAAAAAAABc/vXPPpLdp7Bs/s72-c/Picture+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-4597875426502426130</id><published>2008-04-07T17:01:00.000+02:00</published><updated>2008-12-09T01:15:13.614+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache ActiveMQ'/><title type='text'>Apache ActiveMQ instalacja</title><content type='html'>Instalacja ApacheMQ tak zwanego Message Broker sprowadza się do &lt;a href="http://activemq.apache.org/download.html"&gt;ściągnięcia&lt;/a&gt; źródeł i ich rozpakowania, korzystamy z  &lt;a href="http://activemq.apache.org/activemq-500-release.html" title="ActiveMQ 5.0.0 Release"&gt;ActiveMQ 5.0.0 Release&lt;/a&gt;.  Uruchomianie samego serwisu bez jakiej kol wiek konfiguracji z naszej strony, sprowadza się do przejścia do rozpakowanego katalogu, później podkatalog bin i uruchomienie skryptu  uruchamiającego.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lukasz-lipkas-computer:~/Library/apache-activemq-5.0.0/bin lipka$ ./activemq&lt;/span&gt;&lt;br /&gt;Na kosoli  po chwili można zobaczyć następujące logi:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:78%;" &gt;Loading message broker from: xbean:activemq.xml&lt;br /&gt;INFO  BrokerService                  - Using Persistence Adapter: AMQPersistenceAdapter(/Users/lipka/Library/apache-activemq-5.0.0/data/localhost)&lt;br /&gt;INFO  BrokerService                  - ActiveMQ 5.0.0 JMS Message Broker (localhost) is starting&lt;br /&gt;INFO  BrokerService                  - For help or more information please see: http://activemq.apache.org/&lt;br /&gt;INFO  AMQPersistenceAdapter          - AMQStore starting using directory: /Users/lipka/Library/apache-activemq-5.0.0/data/localhost&lt;br /&gt;INFO  KahaStore                      - Kaha Store using data directory /Users/lipka/Library/apache-activemq-5.0.0/data/localhost/kr-store/state&lt;br /&gt;INFO  ManagementContext              - JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi&lt;br /&gt;INFO  AMQPersistenceAdapter          - Active data files: []&lt;br /&gt;INFO  KahaStore                      - Kaha Store using data directory /Users/lipka/Library/apache-activemq-5.0.0/data/localhost/kr-store/data&lt;br /&gt;INFO  TransportServerThreadSupport   - Listening for connections at: tcp://lukasz-lipkas-computer.local:61616&lt;br /&gt;INFO  TransportConnector             - Connector openwire Started&lt;br /&gt;INFO  TransportServerThreadSupport   - Listening for connections at: ssl://lukasz-lipkas-computer.local:61617&lt;br /&gt;INFO  TransportConnector             - Connector ssl Started&lt;br /&gt;INFO  TransportServerThreadSupport   - Listening for connections at: stomp://lukasz-lipkas-computer.local:61613&lt;br /&gt;INFO  TransportConnector             - Connector stomp Started&lt;br /&gt;INFO  TransportServerThreadSupport   - Listening for connections at: xmpp://lukasz-lipkas-computer.local:61222&lt;br /&gt;INFO  TransportConnector             - Connector xmpp Started&lt;br /&gt;INFO  NetworkConnector               - Network Connector org.apache.activemq.transport.discovery.multicast.MulticastDiscoveryAgent@28bdf4 Started&lt;br /&gt;INFO  BrokerService                  - ActiveMQ JMS Message Broker (localhost, ID:lukasz-lipkas-computer.local-50886-1207581085279-0:0) started&lt;br /&gt;INFO  TransportConnector             - Connector vm://localhost Started&lt;br /&gt;INFO  log                            - Logging to org.slf4j.impl.JCLLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog&lt;br /&gt;INFO  log                            - jetty-6.1.4&lt;br /&gt;INFO  WebConsoleStarter              - ActiveMQ WebConsole initialized.&lt;br /&gt;INFO  /admin                         - Initializing Spring FrameworkServlet 'dispatcher'&lt;br /&gt;INFO  log                            - ActiveMQ Console at http://0.0.0.0:8161/admin&lt;br /&gt;INFO  log                            - ActiveMQ Web Demos at http://0.0.0.0:8161/demo&lt;br /&gt;INFO  log                            - Started SelectChannelConnector@0.0.0.0:8161&lt;/span&gt;&lt;br /&gt;Żeby sprawdzić czy działa otwieramy przeglądarkę i sprawdzamy adres &lt;span style="color: rgb(0, 0, 0);font-size:78%;" &gt;http://0.0.0.0:8161/admin&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MBa6gEugPjk/R_pGCGr5kPI/AAAAAAAAABM/g2drPWUYPsk/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_MBa6gEugPjk/R_pGCGr5kPI/AAAAAAAAABM/g2drPWUYPsk/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5186534922838970610" border="0" /&gt;&lt;/a&gt;Ostatni test czy wszystko działa poprawnie uruchamiamy przykład dostarczony przez dystrybutora (typowy przykład klient (czeka na 10 wiadomość) producent (produkuje 10 wiadomości)). Do uruchomienia przykładu musimy mieć zainstalowanego Anta. W katalogu gdzie rozpakowaliśmy źródła przechodzimy do pod katalogu examples  i w jednej konsoli uruchamiamy klienta w drugiej producenta.&lt;br /&gt;Klient:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lukasz-lipkas-computer:~/Library/apache-activemq-5.0.0/example lipka$ ant consumer&lt;/span&gt;&lt;br /&gt;Producent:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lukasz-lipkas-computer:~/Library/apache-activemq-5.0.0/example lipka$ ant producer&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/R_pIhmr5kQI/AAAAAAAAABU/-UIyAndefbk/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/R_pIhmr5kQI/AAAAAAAAABU/-UIyAndefbk/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5186537663028105474" border="0" /&gt;&lt;/a&gt;Wszystko działa:) Teraz już tylko połączyć to z Mule:)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:78%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://activemq.apache.org/activemq-500-release.html" title="ActiveMQ 5.0.0 Release"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt; &lt;span class="nobr"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-4597875426502426130?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/4597875426502426130/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=4597875426502426130' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4597875426502426130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/4597875426502426130'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/04/apache-activemq-instalacja.html' title='Apache ActiveMQ instalacja'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MBa6gEugPjk/R_pGCGr5kPI/AAAAAAAAABM/g2drPWUYPsk/s72-c/Picture+1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-1031480097369912134</id><published>2008-04-07T11:52:00.000+02:00</published><updated>2008-04-07T16:54:35.727+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ESB Mule'/><title type='text'>Mule instalacja</title><content type='html'>Dzisiaj czas zacząć przygodę z jednym z najbardziej popularnych, darmowych &lt;a href="http://en.wikipedia.org/wiki/Enterprise_service_bus"&gt;ESB&lt;/a&gt; &lt;a href="http://mule.mulesource.org/"&gt;MULE&lt;/a&gt;. Nie będę robił wprowadzenia do ESB,  napiszę w skrócie do czego może się przydać.&lt;br /&gt;Moja definicja ESB to:&lt;br /&gt;- szyna umożliwiająca komunikacje pomiędzy różnymi serwisami,  jej główne założenie to uproszczenie tworzenia architektury &lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;SOA&lt;/a&gt;(&lt;b&gt;&lt;/b&gt;Service Oriented Architecture)  (architektura zorientowana na usługi).&lt;br /&gt;Dobra zobaczymy jak to działa w praktyce, pojawiła się nowa wersja Mule 2.o.o idziemy do &lt;a href="http://mule.mulesource.org/display/MULE/Download"&gt;Download &lt;/a&gt;  ściągamy źródła i je rozpakowujemy. Zerkamy jeszcze co nowego w &lt;a href="http://mule.mulesource.org/display/MULE/Whats+New+in+Mule+2.0"&gt;wersji 2.0.0&lt;/a&gt; z ciekawych rzeczy widzę, że w następnych wersjach ma być wsparcie dla OSGi.&lt;br /&gt;The Registry architecture will continue to evolve a bit in future releases and will form the basis of OSGi support in Mule.&lt;br /&gt;Wracając do Mule przed rozpoczęciem całej zabawy należy zainstalować niezbędne oprogramowanie(&lt;a href="http://mule.mulesource.org/display/MULE/Installation+Guide#InstallationGuide-Prerequisites"&gt;jvm, maven, ...&lt;/a&gt;). Po ściągnięciu i rozpakowaniu , czytamy INSTALL.txt, i wykonujemy następujące polecenia (w zależności od systemu operacyjnego, u mnie mac):&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;export MULE_HOME=/Users/lipka/Library/mule-2.0.0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;export PATH=$PATH:$MULE_HOME/bin&lt;/span&gt;&lt;br /&gt;Potem w konsoli piszemy:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;mule&lt;br /&gt;&lt;/span&gt;podczas pierwszego uruchomienia musimy zaakceptować licencje.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Do you accept the terms and conditions of this license agreement [y/n]?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;y&lt;/span&gt;&lt;br /&gt;i potem widzimy (maven ściągą niezbędne jary) i na końcu:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:78%;" &gt;Starting the Mule Server...&lt;br /&gt;Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org&lt;br /&gt;  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.&lt;br /&gt;&lt;br /&gt;WARN  2008-04-07 13:57:39,559 [WrapperListener_start_runner] org.mule.MuleServer: A configuration file was not set, using default: mule-config.xml&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*******************************************************************************&lt;br /&gt;No config file specified and no config by the name of mule-config.xml&lt;br /&gt;found on the classpath.&lt;br /&gt;&lt;br /&gt;Usage: mule -config &lt;mule-configuration&gt; [-builder &lt;config-builder&gt;] [-debug] [-version]&lt;br /&gt;&lt;br /&gt;   mule-configuration - a URL for the Mule Config XML to use,&lt;br /&gt;                        if not specified the config will be loaded from&lt;br /&gt;                        the classpath&lt;br /&gt;&lt;br /&gt;   config-builder     - a fully qualified class name of the builder to use&lt;br /&gt;                        to configure Mule.&lt;br /&gt;&lt;br /&gt;   debug              - configure Mule for JPDA remote debugging.&lt;br /&gt;                        Customize settings by editing a JPDA_OPTS variable&lt;br /&gt;                        in the mule startup script&lt;br /&gt;&lt;br /&gt;   version            - print full product information&lt;br /&gt;*******************************************************************************&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;INFO  2008-04-07 13:57:39,594 [Thread-0] org.mule.MuleServer: Mule server shutting down due to normal shutdown request&lt;br /&gt;INFO  2008-04-07 13:57:39,603 [Thread-0] org.mule.MuleServer:&lt;br /&gt;**************************************************************************************&lt;br /&gt;* The server is shutting down due to normal shutdown request                         *&lt;br /&gt;* Server shutdown: 07.04.08 13:57                                                    *&lt;br /&gt;**************************************************************************************&lt;br /&gt;&lt;-- Wrapper Stopped&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Teraz jak już wszystko działa, można uruchomić najprostszy przykład, dostarczony z dystrybucją, w naszym wypadku to będzie &lt;a href="http://mule.mulesource.org/display/MULE/Echo+Example"&gt;Echo Example&lt;/a&gt;.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lukasz-lipkas-computer:~/Library/mule-2.0.0 lipka$ cd examples/echo/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;lukasz-lipkas-computer:~/Library/mule-2.0.0/examples/echo lipka$ mule -config conf/echo-config.xml&lt;br /&gt;&lt;/span&gt;Na konsoli powinna się pokazać możliwość wpisania jakiegoś przykładowego teksty (potem ENTER) i jeszcze raz go wyświetlenie, takie systemowe echo tylko za pomocą UMOComponentu:&lt;span style="font-size:78%;"&gt;&lt;br /&gt;**********************************************************************&lt;br /&gt;* Mule ESB and Integration Platform                                  *&lt;br /&gt;* Version: 2.0.0 Build: 11521                                        *&lt;br /&gt;* MuleSource, Inc.                                                   *&lt;br /&gt;* For more information go to http://mule.mulesource.org              *&lt;br /&gt;*                                                                    *&lt;br /&gt;* Server started: 01.01.70 01:00                                     *&lt;br /&gt;* Server ID: 8e67013c-049b-11dd-b60e-f34003987973                    *&lt;br /&gt;* JDK: 1.5.0_13 (mixed mode)                                         *&lt;br /&gt;* OS: Mac OS X (10.4.11, i386)                                       *&lt;br /&gt;* Host: lukasz-lipkas-computer.local (192.168.123.3)                 *&lt;br /&gt;*                                                                    *&lt;br /&gt;* Agents Running: None                                               *&lt;br /&gt;**********************************************************************&lt;br /&gt;&lt;br /&gt;Please enter something:&lt;br /&gt;helloWorld :)&lt;br /&gt;INFO  2008-04-07 14:10:17,896 [EchoUMO.2] org.mule.component.simple.LogComponent:&lt;br /&gt;********************************************************************************&lt;br /&gt;* Message received in service: EchoUMO. Content is: 'helloWorld :)'            *&lt;br /&gt;********************************************************************************&lt;br /&gt;INFO  2008-04-07 14:10:17,911 [SystemStreamConnector.dispatcher.1] org.mule.transport.stdio.StdioMessageDispatcher: Connected: StdioMessageDispatcher{this=185633, endpoint=stdio://system.out, disposed=false}&lt;br /&gt;helloWorld :)&lt;br /&gt;&lt;br /&gt;Please enter something: &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;Mule już działa więc teraz trzeba będzie się przyjrzeć jak można go zastosować w projektach informatycznych.&lt;br /&gt;PS. dla tych co mają maci, krótkie wprowadzenie do &lt;a href="http://aplawrence.com/MacOSX/macosxshell.html"&gt;shella  pod mac OS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="" href="http://mule.mulesource.org/display/MULE/Whats+New+in+Mule+2.0"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-1031480097369912134?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/1031480097369912134/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=1031480097369912134' title='Komentarze (7)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1031480097369912134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1031480097369912134'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/04/mule-instalacja.html' title='Mule instalacja'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-5865877055373842371</id><published>2008-04-01T09:35:00.000+02:00</published><updated>2008-04-01T23:54:31.861+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Managment'/><title type='text'>Zarządzanie grupą rozproszonych programistów</title><content type='html'>Rozpoczynam temat z myślą, że jakieś bardziej doświadczone osoby pomogą mi w doborze jak najlepszych praktyk pracy zdalnej grupy programistów.&lt;br /&gt;Z tego co mi się wydaje jedną z ważniejszych rzeczy w udanym projekcie informatycznym jest komunikacja w zespole. Do jak najlepszej komunikacji jak na razie został wybrany skype (nie ma problemu z tworzeniem konferencji paro osobowych).&lt;br /&gt;Skype w praktyce (jeśli zespół jest rozproszony wtedy może zastępować codziennie spotkania w pracy):&lt;br /&gt;- codziennie ta sama godzina konferencji, na której każdy z programistów opisuje co zrobił wczoraj i co planuje na dzisiaj (maksymalny czas na osobę nie powinien przekroczyć 3 -4 min).&lt;br /&gt;Jak jest zaleta tej technologi ? Każdy z programistów wie co dzieje się w projekcie i do kogo się można zwrócić w razie wystąpienia jakiegoś problemu.&lt;br /&gt;W jaki sposób zorganizować programowanie w parach (XP)? W tym wypadku przychodzi nam z pomocą &lt;a href="http://www.nomachine.com/"&gt;NX&lt;/a&gt; dzięki któremu możemy współdzielić ekran, myszkę i klawiaturę z osobą po drugiej stronie globu.&lt;br /&gt;Co do innych narzędzi usprawniających pracę programistów to zastanawiam się nad:&lt;br /&gt;- &lt;a href="http://cruisecontrol.sourceforge.net/"&gt;cruise control&lt;/a&gt; (zautomatyzowane budowanie całego projektu uwzględniające junit i generujące raporty o aktualnym stanie projektu)&lt;a style="" href="http://cruisecontrol.sourceforge.net/"&gt;&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://trac.edgewall.org/"&gt;trac&lt;/a&gt; + &lt;a href="http://www.eclipse.org/mylyn/"&gt;mylyn&lt;/a&gt; (jako w tyczka do Eclipse) (organizacja zadań z priorytetami)&lt;br /&gt;- do tworzenia dokumentacji jakieś wiki (osobiście polecam jedno z prostszych &lt;a href="http://wiki.splitbrain.org/wiki:dokuwiki"&gt;dokuwiki&lt;/a&gt;)&lt;br /&gt;- maven  + svn (tutaj chyba nic nie muszę pisać:))&lt;br /&gt;Jeżeli już ktoś pracował w rozproszonym środowisku programistów, proszę o wskazówki jak można usprawnić pracę i komunikację w takim zespole (i jakie narzędzia, praktyki były stosowane).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-5865877055373842371?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/5865877055373842371/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=5865877055373842371' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5865877055373842371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/5865877055373842371'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/04/zarzdzanie-grup-rozproszonych.html' title='Zarządzanie grupą rozproszonych programistów'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-1255782350563022678</id><published>2008-03-28T11:32:00.000+01:00</published><updated>2008-12-09T01:15:13.933+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AOP'/><title type='text'>AspectJ wprowadzenie część 2</title><content type='html'>Po przeczytaniu &lt;a href="http://jlaskowski.blogspot.com/2008/03/ajdt-aspectj-w-eclipse-za-ukaszem.html"&gt;artykułu Jacka  Laskowskiego&lt;/a&gt; postanowiłem raz jeszcze przetestować Eclipse 3.4M na Mac OS (niestety już nie pamiętam dlaczego, ale jakiś czas temu zainstalowałem, ale coś mi nie działało tak jak miało i wróciłem do 3.3). Więc zaczynamy Eclipse 3.4M się już ściągnęło teraz &lt;span style="font-weight: bold;"&gt;Help-&gt;Software  Updates&lt;/span&gt; dodajemy  &lt;span style="font-weight: bold;"&gt;http://download.eclipse.org/tools/ajdt/34/dev/update . &lt;/span&gt;I podczas ściągania wtyczki jeszcze szybkie zerknięcie na &lt;span style="font-weight: bold;"&gt;Help-&gt;Tips and Tricks... &lt;/span&gt;tam zawsze warto zerknąć choćby żeby przypomnieć sobie skróty:) Refactor &gt; Rename (Alt+Shift+R) i dla tych co pracują nad więcej niż jednym projektem, bardzo miłe udogodnienie &lt;b&gt;Assign working sets.&lt;br /&gt;&lt;/b&gt;Od razu stworzyłem sobie working set dla projektów aspektowych:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/R-z6jGr5kNI/AAAAAAAAAA8/tf6CpQNnH4Q/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/R-z6jGr5kNI/AAAAAAAAAA8/tf6CpQNnH4Q/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5182792752193704146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Dobra czas teraz wrócić do programowania aspektowego,  przypuśćmy, że nasza klasa Graphic będzie tworzona przez jakąś fabrykę (która będzie pobierać dane z jakiegoś CMS). Każdy obiekt Graphic będzie zawierał informacje, czy można nim poruszać czy nie. Nasze zdanie polega na tym, żeby tak zdefiniować aspekt, że jeżeli obiekt będzie miał możliwość poruszania się to należy wykonać ciało metody move() w innym wypadku je pominąć.  Rady przed (before) i po (after) metodzie były zawsze wykorzystywane przed i po wywołaniu metody, którą przecinały. Szybkie spojrzenie do &lt;a href="http://www.eclipse.org/aspectj/doc/released/progguide/language-advice.html"&gt;dokumentacji&lt;/a&gt; i kogoś nam jeszcze brakuje :) rady dookoła (around), która umożliwia sprawdzenie czegoś przed wykonaniem i po, ale ma ten plus, że można w niej zdefiniować czy punkt przecięcia ma pozwolić na wykonanie ciała metody, którą przecina.  Dobra zobaczmy jak to teraz wygląda w kodzie, najpierw klasa Graphic.java&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:78%;" &gt;public class Graphic{&lt;br /&gt;private boolean isMovable = false;&lt;br /&gt;&lt;br /&gt;public void move(){&lt;br /&gt;    System.out.println("Moving");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;    Graphic graphic = new Graphic();&lt;br /&gt;    System.out.println("Before moving");&lt;br /&gt;    graphic.move();&lt;br /&gt;    System.out.println("Change graphic to movable true");&lt;br /&gt;    graphic.setMovable(true);&lt;br /&gt;    graphic.move();&lt;br /&gt;&lt;br /&gt;    System.out.println("End");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void setMovable(boolean isMovable) {&lt;br /&gt;    this.isMovable = isMovable;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public boolean isMovable() {&lt;br /&gt;    return isMovable;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;         &lt;br /&gt;&lt;br /&gt;Teraz definiujemy nasz aspekt Secure.aj:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:78%;" &gt;package com.itsilesia.aspects;&lt;br /&gt;&lt;br /&gt;public aspect Secure {&lt;br /&gt; pointcut checkSecure(com.itsilesia.Graphic graphic):target(graphic) &amp;amp;&amp;amp; execution(* com.itsilesia.Graphic.mo*(..));&lt;br /&gt;&lt;br /&gt; void around(com.itsilesia.Graphic graphic) : checkSecure(graphic) {&lt;br /&gt;     if(graphic.isMovable()){&lt;br /&gt;         proceed(graphic);&lt;br /&gt;     }else{&lt;br /&gt;         System.out.println("Can't move graphic");&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;Co tutaj mamy, najpierw definiujemy punkt przecięcia, który będzie uwzględniał wszystkie metody klasy Graphic które są (* com.itsilesia.Graphic.mo*(..))&lt;br /&gt;- * oznacza zasięg, w naszym przypadku możemy mieć (public, private, protected i paczkowy)&lt;br /&gt;- com.itsilesia.Graphic.mo*(..)  punkt przecięcia nastąpi podczas uruchamiania obiektów klasy Graphic których metody zaczynają się od mo, i mogą ale nie muszą pobierać parametry&lt;br /&gt;- target(graphic) definiuje, że nasz obiekt docelowy ma być typu Graphic.&lt;br /&gt;Później jest nasza rada (advice) dookoła (around) która sprawdza czy dany obiekt graficzny może być poruszony. Jeśli tak  to wtedy pozwala na wykonanie ciała metody którą przecina, za pomocą proceed(obiekt), w przeciwnym wypadku wypisuje komunikat o nie możliwości  poruszanie obiektu. W Eclipse 3.4M uruchamiamy naszą aplikacje za pomocą &lt;span style="font-weight: bold;"&gt;Run us-&gt;Java Application &lt;/span&gt;rezultat poniżej:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:78%;" &gt;Before moving&lt;br /&gt;Can't move graphic&lt;br /&gt;Change graphic to movable true&lt;br /&gt;Moving&lt;br /&gt;End&lt;br /&gt;&lt;/span&gt;Teraz można sobie jeszcze wyświetlić Visualiser - AspectJ Provider &lt;span style="font-weight: bold;"&gt;Window-&gt;Open Perspective-&gt;Other...-&gt;Aspect Visualization.&lt;br /&gt;&lt;/span&gt;Na koniec skoro jak już używa Eclipse 3.4M to dorzucam moją ulubioną wtyczkę &lt;a href="http://www.eclipse.org/mylyn/"&gt;Mylyn&lt;/a&gt; (&lt;b&gt;download.eclipse.org/tools/mylyn/update/e3.4&lt;/b&gt; )(na pewno poświecę jej jeden wpis:) )&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/R-15NGr5kOI/AAAAAAAAABE/MjnPmPSC320/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/R-15NGr5kOI/AAAAAAAAABE/MjnPmPSC320/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5182932012213309666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Plan przygotowany:)&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-1255782350563022678?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/1255782350563022678/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=1255782350563022678' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1255782350563022678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/1255782350563022678'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/03/aspectj-wprowadzenie-cz-2.html' title='AspectJ wprowadzenie część 2'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MBa6gEugPjk/R-z6jGr5kNI/AAAAAAAAAA8/tf6CpQNnH4Q/s72-c/Picture+1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-8700757458973825558</id><published>2008-03-25T11:34:00.000+01:00</published><updated>2008-12-09T01:15:14.353+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AOP'/><title type='text'>AspectJ wprowadzenie</title><content type='html'>Szybki start z AspectJ najpierw ściągamy wtyczkę do Eclipse 3.3 za pomocą Help-&gt;Software Updates-&gt;Find and Install.. dodajemy nowy adres http://download.eclipse.org/tools/ajdt/33/update . Potem jeszcze zapoznanie się z wprowadzającym &lt;a href="http://www.eclipse.org/articles/Article-Introducing-AJDT/article.html"&gt;artykułem&lt;/a&gt; do    The AspectJ Development Tools (&lt;a href="http://eclipse.org/ajdt"&gt;AJDT&lt;/a&gt;). W Eclipse tworzymy projekt aspektowy i klikamy Finish:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/R-jx1Wr5kII/AAAAAAAAAAU/1EVWQGDYvcQ/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/R-jx1Wr5kII/AAAAAAAAAAU/1EVWQGDYvcQ/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5181657270214824066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Teraz stworzymy nową klasę(ctrl + n) Graphic.java&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.itsilesia;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public class Graphic {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    public void draw(){&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        System.out.println("Painting");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    public static void main(String[] args) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        Graphic graphic = new Graphic();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        graphic.draw();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Teraz piszemy nasz pierwszy aspekt(ctrl +n AspectJ-&gt; Aspect):&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:78%;" &gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.itsilesia.aspects;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public aspect Secure {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    pointcut checkSecure():execution(* com.itsilesia.Graphic.draw());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    before() : checkSecure() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        System.out.println("Checking dependencies before painting");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    after() returning : checkSecure() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        System.out.println("Exiting painting");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Najpierw zdefiniowałem punkt przecięcia (pointcut) która ma zostać użyty podczas wywołania metody draw() z klasy Graphic, później stworzyłem radę(advice) która ma się wykonać przed(before) i po(after) trafieniu na punkt przecięcia.&lt;br /&gt;Teraz uruchamiamy nasz program (Run as -&gt; AspectJ/Java Application):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Checking dependencies before painting&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Painting&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Exiting painting&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Program zadzialal wedlug naszych oczekiwań:)&lt;br /&gt;Zobaczmy co jeszcze oferuje nam Eclipse w przypadku AOP, Cross References:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MBa6gEugPjk/R-j2uGr5kJI/AAAAAAAAAAc/43i0Fb8gRwE/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MBa6gEugPjk/R-j2uGr5kJI/AAAAAAAAAAc/43i0Fb8gRwE/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5181662643218911378" border="0" /&gt;&lt;/a&gt;można zobaczyć gdzie w naszej klasie jest użyte programowanie aspektowe i jakie rady są wywoływane. Istnieje też, cała perspektywa w Eclipse do AOP (Aspect Visualization) pokazująca powiązanie pomiędzy naszymi klasami a aspektami:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MBa6gEugPjk/R-j4uWr5kKI/AAAAAAAAAAk/A-e_YMHd9jc/s1600-h/Picture+3.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_MBa6gEugPjk/R-j4uWr5kKI/AAAAAAAAAAk/A-e_YMHd9jc/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5181664846537134242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;A teraz co mi daje zastosowanie AOP w tym przypadku:&lt;br /&gt;- przede wszystkim odizolowanie różnych  modułów  (budowanie aplikacji graficznej od jej zabezpieczenia)&lt;br /&gt;- bez problemowa wymiana systemu zabezpieczeń, gdyż nigdzie nie jest ona uwzględniona w kodzie obsługi obiektów graficznych&lt;br /&gt;- z punktu widzenia programisty jeden drugiemu nie uprzykrza pracy dopisując jakiś niepotrzebnych linii kodu&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-8700757458973825558?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/8700757458973825558/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=8700757458973825558' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8700757458973825558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/8700757458973825558'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/03/apectj-wprowadzenie.html' title='AspectJ wprowadzenie'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MBa6gEugPjk/R-jx1Wr5kII/AAAAAAAAAAU/1EVWQGDYvcQ/s72-c/Picture+1.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3218663144896214273.post-2578145307206350080</id><published>2008-03-18T15:42:00.000+01:00</published><updated>2008-03-21T17:08:16.871+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AOP'/><title type='text'>AOP wstęp</title><content type='html'>Zainspirowany blogiem &lt;a href="http://jlaskowski.blogspot.com/"&gt;Jacka Laskowskiego&lt;/a&gt; postanowiłem zacząć opisywać moje doświadczenia związane z Java i różnymi jej aspektami. Ostatnio trafiło mi się zdanie zmodyfikowania systemu uprawnień do aplikacje do tworzenia grafiki (plakatów, ulotek, automatyzacji całego procesu drukwoania). Po krótkiej rozmowie z osobą która stworzyła już pierwszą wersje pseudo działających systemu uprawnień, okazało się, że powstało on w ciągu jednego dnia przed jakaś prezentacja produktu. A rozwiązanie polegało na tym, że wszędzie w kodzie odpowiedzialnym za wyświetlanie modelu było wstawiane&lt;br /&gt;if(masz_dostep()){&lt;br /&gt;rysuj();&lt;br /&gt;}&lt;br /&gt;niestety jak to często bywa system zaczął się rozrastać i coraz większe narzekanie na dodawanie jakiś if() . Po krótkim namyślę, postanowiłem na nowo napisać system uprawnień przy użyciu AOP.&lt;br /&gt;A więc zaczynamy, definicja według Wikipedii:&lt;br /&gt;Programowanie aspektowe (aspect-oriented programming, AOP) to paradygmat tworzenia programów komputerowych wspomagający separację zagadnień i rozdzielenie programu na części w jak największym stopniu niezwiązane funkcjonalnie.&lt;br /&gt;W czym AOP powinno nam pomóc:&lt;br /&gt;- zagadnienia przenikające ( crosscutting concerns)&lt;br /&gt;- ograniczeniu powielaniu kodu&lt;br /&gt;- wprowadzeniem dodatkowych zachowań za pomocą tak zwanych przecięć (pointcuts)&lt;br /&gt;- możliwość sprawdzenia pewnych warunków przed wywołaniem metody jak i po, oraz przechwycenie wyjątku jeśli takowy metoda rzuca&lt;br /&gt;Najważniejsze pojęcia z AOP a później już tyko praktyka (AspectJ):&lt;br /&gt;- przecięcia (pointcuts) określają punkty złączeń dla których należy stosować poszczególne rady (advices)&lt;br /&gt;- rada (advice) określa co należy zrobić w punkcie złączenia, rada jest z reguły definiowana w obiektach przechwytujących metody (method interception)&lt;br /&gt;- inter-type declarations - pozwalają programiście na zmianę  statycznej struktury i relacji pomiędzy klasami&lt;br /&gt;- aspects - jednostka modularyzacji dla zagadnień przenikających&lt;br /&gt;Po krótkim wstępie w następnej części już praktyka na podstawie &lt;a href="http://www.eclipse.org/aspectj/"&gt;AspectJ&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3218663144896214273-2578145307206350080?l=lukaszlipka.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszlipka.blogspot.com/feeds/2578145307206350080/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3218663144896214273&amp;postID=2578145307206350080' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2578145307206350080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3218663144896214273/posts/default/2578145307206350080'/><link rel='alternate' type='text/html' href='http://lukaszlipka.blogspot.com/2008/03/aop-wstp.html' title='AOP wstęp'/><author><name>Łukasz Lipka</name><uri>http://www.blogger.com/profile/13268170853082489960</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_MBa6gEugPjk/SjgOd9UjxWI/AAAAAAAAAMU/ap5KQVLtyfk/S220/ja.jpg'/></author><thr:total>2</thr:total></entry></feed>
