środa, kwietnia 28, 2010

JRockit R28


Jest nowy JRockit, teraz z jeszcze lepszą diagnostyką. Oprócz tego ustandaryzowano (względem Sun JVM) opcje linii poleceń.

---
Przykład: aplikacja Grails udostępniająca m.in. WebService po SSL-u "przycina się"
JAVA_OPTS="-Xmanagement:ssl=false,authenticate=false,port=7091"



grails run-app -Ddisable.auto.recompile=true i mamy już tylko problemy z handshake-em SSL

Stack Trace
http-8443-1 [62] (RUNNABLE)
java.math.BigInteger.oddModPow line: 1821
java.math.BigInteger.modPow line: 1571
java.math.BigInteger.passesMillerRabin line: 884
java.math.BigInteger.primeToCertainty line: 730
java.math.BitSieve.retrieve line: 188
java.math.BigInteger.largePrime line: 606
java.math.BigInteger. line: 511
org.bouncycastle.crypto.generators.DHParametersHelper.generateSafePrimes line: not available
org.bouncycastle.crypto.generators.DHParametersGenerator.generateParameters line: not available
org.bouncycastle.jce.provider.JDKKeyPairGenerator$DH.generateKeyPair line: not available
com.sun.net.ssl.internal.ssl.DHCrypt. line: 76
com.sun.net.ssl.internal.ssl.ServerHandshaker.setupEphemeralDHKeys line: 797
com.sun.net.ssl.internal.ssl.ServerHandshaker.trySetCipherSuite line: 702
com.sun.net.ssl.internal.ssl.ServerHandshaker.chooseCipherSuite line: 633
com.sun.net.ssl.internal.ssl.ServerHandshaker.clientHello line: 425
com.sun.net.ssl.internal.ssl.ServerHandshaker.processMessage line: 139
com.sun.net.ssl.internal.ssl.Handshaker.processLoop line: 516
com.sun.net.ssl.internal.ssl.Handshaker.process_record line: 454
com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord line: 884
com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake line: 1112
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake line: 1139
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake line: 1123
org.apache.tomcat.util.net.jsse.JSSESocketFactory.handshake line: 160
org.apache.tomcat.util.net.JIoEndpoint.setSocketOptions line: 639
org.apache.tomcat.util.net.JIoEndpoint$Worker.run line: 454
java.lang.Thread.run line: 619
Handshake SSL potrzebuje dużej losowej liczby pierwszej i wisi na czytaniu z /dev/random - w systemie jest za mało entropii i operacja czytania jest blokująca. Workaround:
-Djava.security.egd=file:/dev/./urandom


W wirtualkach faktycznie cienko jest z entropią.

Workaround o zasięgu systemowym: instalujemy pakiet rng-tools i podajemy HRNGDEVICE=/dev/urandom


Rozwiązanie problemów przy używaniu SSL z Firefoksa: cd ~/.grails/1.2.2/projects/ecc/plugins/springws-0.5.0/lib; mv bcprov-jdk14-1.43.jar bcprov-jdk14-1.43.jar--



sobota, kwietnia 24, 2010

RedHat Enterprise Linux 6.0

Zapowiada się dobry system na lata. Głównym tematem jest wirtualizacja. KVM jest teraz na tyle sprytny, że potrafi współdzielić jeden taki sam obszar pamięci między wieloma maszynami wirtualnymi - można uruchomić więcej wirtualnych Windows 2003 niż mamy na to RAM-u, bez swapowania.



Nowy RedHat obsługuje jako technology preview system plików Btrfs. Podobnie jak w Solarisie z ZFS-em można tworzyć migawki systemu plików, niestety nie ma jeszcze integracji tej funkcjonalności z menedżerem pakietów (w OpenSolarisie update tworzy nową bootowalną migawkę).



Żeby uruchomić libvirtd należy dodać nazwę maszyny do /etc/hosts.







piątek, kwietnia 16, 2010

SoapUI i WS-Security



Certyfikat z kluczem prywatnym: PFX do JKS


Narzędzie ImportKey dostępne jest tutaj.

środa, kwietnia 14, 2010

OutOfMemory




Najlepszym narzędzie do rozwiązywania tego typu problemów pod Sun JVM jest YourKit Java Profiler i funkcja memory snapshot. Możemy przeglądać obiekt po obiekcie idąc za referencjami i znaleźć przyczynę zapychania pamięci.

sobota, kwietnia 10, 2010

Ubuntu 10.04

Nowe Ubuntu jest ładne i szybkie. Umieszczenie przycisków zamknij, maksymalizuj, minimalizuj okno w lewym górnym rogu i tonacja kolorystyczna tapety pulpitu nawiązują do systemu Mac OS X Leopard. Paski narzędzi mają ten sam ciemny kolor, co obramowani menedżera okien. Biorąc pod uwagę usuability jest to fajne. Cieszy fakt, że Gnome ma taki ładny i czysty antyaliasing domyślnych czcionek ekranowych.





OpenOffice jest już ze znaczkiem Oracle-a (OOO.o Oracle OpenOffice.org)...

niedziela, kwietnia 04, 2010

.NET 4.0 na wiele rdzeni



Operacje na ParalellArray w Javie można łączyć ze sobą, ale w .NET 4.0 jest obsługa domknięć (closures).

sobota, kwietnia 03, 2010

Java 7 na wiele rdzeni



Hitem Javy 7.0 będzie uaktualniony pakiet java.util.concurrent z klasą ParalellArray pozwalającą na proste pisanie kodu, który będzie wykonywał się automatycznie na wielu rdzeniach. Na obrazku proste szukanie liczb pierwszych.

Eclipse 3.6 Marketplace



W nowym wydaniu popularnego IDE będzie można zainstalować darmowe i płatne aplikacje ze sklepu z oprogramowaniem.

Solaris prstat


Zanim użyjemy dtrace-a można szybko zebrać ważne informacje o wątkach procesu.