Projewski’s Weblog

styczeń 11, 2008

Jak to odnawiałem starą gitarę akustyczną

Kategoria wpisu: Gitara — projewski @ 11:04 przed południem

To, co napiszę poniżej zawiera praktyki, które może nie powinny być stosowane ! Nie jestem lutnikiem, nie znam sie dobrze na temacie. Bynajmniej to co zrobiłem zadziałało i dlatego postanowiłem opisać co i jak.

Dawno dawno temu …. otrzymałem w prezencie używaną gitarę akustyczną (dokładniej klasyczną). Kiedy zacząłem się interesować tym, żeby nauczyś się grać odkryłem bolesną i straszliwą prawdę. Gitara posiadała na podstrunnicy złoża brudu. W pierwszym momenie pomyślałem, że wykonam czyszczenie metodą odkrywkową - poprzez powolne ścieranie tłustego brudu (co za ohyda !). Oczywiście, jak każdy się domyśla - skutkowało to żałosnym efektem i żmudną pracą. Trochę poszukałem po internecie i w rezultacie wymyśliłem sobie i zrealizowałem co następuje.

Zakupiłem nowy zestaw strun. Odkręciłem stare (i bardzo dobrze, bo były już na nich liczne ślady przetarć i spękań). Może teraz wydaje mi się to trochę śmieszne, ale wtedy pierwszy raz w życiu z wielkim zaaferowaniem odkręciłem struny (i potem je założyłem), więc mówię - nie ma w tym nic trudnego.

Następnym krokiem było zaopatrzenie się w miękką ścierkę z bawełnianego ciucha i denaturat. I tu jest ten krok, którego nie jestem pewien, czy był słuszny. Przeczyściłem podstrunnicę denaturatem. Nawet nie wyobrażajcie sobie co tam było ! Podstrunnica, ku mojemu wielkiemu zdziwieniu, zyskała nagle inny kolorek - czysty.

Ponieważ jednak byłem oczytany, to dowiedziałem się, że podstrunnica jest zazwyczaj wykonana z drewien miękkich i lekko wilgotnych (od olejków jakie zawierają). Po takiej zabawie denaturatem podstrunnica może była czysta, ale z pewnością była również sucha - co dało się zauważyć gołym okiem. Podejrzewając ów fakt zaopatrzyłem się w specyfik do pielęgnacji podstrunnic - tak zwany Lemon Oil. Nie mylić z cytrynowym olejem sprzedawanym w sklepach ! W taki specyfik należy się zaopatrzyć w sklepie muzycznym. Oczywiście z przyczyn marketingowym nie podaję ani producenta ani sklepu. Z preparatu jestem bardzo zadowolony i szczerze - korzystam z niego do dziś (z tej samej buteleczki). Jego niewielką ilość wsmarowywałem w ów biedną podstrunnicę. Po odczekaniu zrobiłem ponowne wcieranie i ścieranie nadmiaru specyfiku - zresztą zgodnie z instrukcją obsługi. W pokoju roztaczał się piękny zapach cytrynek, a podstrunnica zyskała cudowny soczysty kolorek.

Oczywiście pudło też zostało wyczyszczone. Do zabezpieczenia używam Pronto (sic! reklama) do drewnianych paneli. Nie znam innego równie skutecznego środka, stąd reklama. Oczywiście środek nanosi się na ściereczkę i naciera gitarę - a nie na gitarę i potem rozciera. Głównie po to, aby nie opryskać podstrunnicy. Środek jest o tyle dobry, że dość długo utrzymuje blak, chroni przed tłustymi paluchami i odpędza opadający kurz.

Końcowym etapem całości było naciągnięcie strun i nastrojenie. Po tym brzmiało jakoś o wiele cudowniej. Choć gitarka to noname z byłego RFN-u ;)

JBoss, EJB 3 i StreamCorruptedException

Kategoria wpisu: Java — projewski @ 10:36 przed południem

Ostatnio wykonywałem stawianie serwera JBoss 4.0.5 z pakietem patchującym jboss-EJB-3.0_RC9_Patch_1, który miał zapewnić mi rozszerzenie do funkcjonalności EJB 3. Uruchamiałem JBoss w konfiguracji default. Podczas uruchamiania otrzymałem komunikat, którego finałowym powodem był brak klasy org.jboss.cache.TreeCache. Klasę odnalazłem w pakiecie jboss-cache.jar znajdującą się w konfiguracji all. Poza tym jar’em okazało się również niezbędne dodanie jgroups.jar z podobnej konfiguracji. I teraz po uruchomieniu okazało się, że ustawicznie otrzymuje komunikat, wyglądający mniej więcej tak:

2007-05-29 19:31:15,453 WARN [org.jgroups.protocols.UDP] packet from /X.X.X.X :P has different version from ours
2007-05-29 19:31:27,671 ERROR [org.jgroups.protocols.UDP] exception=java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:764)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:277)
at org.jgroups.protocols.UDP.handleIncomingUdpPacket(UDP.java:670)
at org.jgroups.protocols.UDP.run(UDP.java:249)
at java.lang.Thread.run(Thread.java:595)

Podczas poszukiwań w internecie próbowałem ustalić “Skąd się to diabła bierze ??” oraz “Jak to wyłączyć ?”. Dowiedziałem się, że głównym sprawcą zamieszania jest opcja grupowania w klastry (group clustering). Opcja ta oczywiście dostępne jest wyłącznie w dystrybucji all. Moje przeniesienie plików jar, w celu zniwelowania problemu przyczyniły się do powstania tego kłopotu.

Tak więc postanowiłem wykonać operację w drugą stronę i dowiedzieć się, co spowodowało narodzenie się wymagania klas typu TreeCache i JGroups. Przyczyną był oczywiście ów patch, który rejestrował dwa serwisy, korzystające z tej usługi. Usunąłem więc pliki, które są odpowiedzialne za taki stan rzeczy: ejb3_clustered_sfsbcache_service.xml oraz ejb3_entity_cache_service.xml (znajdujące się w folderze deploy). Oczywiście nie zapomniałem również o pozbyciu się jgroups.jar oraz jboss-cache.jar (z folderu lib). Po tych czystkach wszystko poszło pięknie i bez problemów.

Oczywistym jest, że zacząłem się zastanawiać nad sposobami zniwelowania problemu w przypadku, kiedy posiadam zainstalowany clustering. Okazało się, że powodem jest istnienie innych serwerów w lokalnej sieci, które mają inną wersję JBoss’a, a które próbują utworzyć ze mną wspólną grupę. Każda z takich grup używa swoją prywatną nazwę oraz określenie adresu i portu dla multicastingu. Z pomocą nad rozwikładniem zagadki przyszły mi poniższe dwa artykuły:

http://docs.jboss.org/jbossas/jboss4guide/r4/html/jbosscache.chapt.html , który opisuje sposób konfigurowania JGroups (i tu mała uwaga, opcja discard_incompatible_packets w mojej wersji nazywa się discard_incompatibe_packets z powodu literówki, która została później poprawiona w JBoss)

http://wiki.jboss.org/wiki/Wiki.jsp?page=TwoClustersSameNetwork , który opisuje jak skonfigurować dwa odrębne klastry w tej samej sieci - co sprawdziłem i stwierdzam, że funkcjonuje to poprawnie (plik cluster-service.xml jest dostępny w konfiguracji all). Problemem, jaki należy później jeszcze rozwiązać jest skonfigurowanie plików EJB 3, które usuwałem, tak, aby nie kolidowały z odpowiednikami, jakie znajdują się w naszej sieci lokalnej.

Blog at WordPress.com.