28. srpna 2009

Java na Macu - ach jo

Kdykoliv přijedu na Java konferenci (spíše to tedy platí pro zahraničí), tak vidím samé přednášející s Mac notebooky. Člověk z toho nabude dojmu, že s Javou na Mac OS nejsou žádné problémy, že je to zaslíbený operační systém pro vývoj Java aplikací.

Po měsíci programování v Mac OS takový pocit bohužel nemám. Mám (měl jsem) dva základní problémy.

Dělám na velkém projektu (cca 30 tisíc tříd) a nejsem schopen tento projekt se standardní Javou na Macu (poslední dostupná verze je Java for Mac OS X 10.5 Update 4) vůbec zkompilovat kvůli nedostatku paměti. Mac OS je 64 bitový operační systém, Java na Macu také a mých 4GB paměti na to nestačí. Abych mohl zůstat na Macu, tak jsem musel začít používat SoyLatte - BSD Java port na Mac OS. S touto 32 bitovou verzí Javy už s kompilací není problém. Pak jsem ale musel ještě řešit problémy s tím, že na projektu používané JDK 6 má některé knihovny v trochu jiné verzi. Musel jsem do classpath podstrčit ty správné.
Po těchto peripetiích funguji bez problému, možná jsem i trochu získal tím, že náběh aplikace se mi zrychlil přibližně dvojnásobně. HotSwap a JavaRebel fungují bez problémů. Ale 100% náhrada to určitě není, protože SoyLatte některé části klasického JDK nemá, např. podporu Java Web Start.

Druhý problém je s Intellij IDEA. Sem tam (v průměru jednou denně) se mi IDEA z ničeho nic zavřela. To bych ještě přešel, jenže neočekávaným ukončením aplikace se zneplatní veškeré cache, takže pak musím čekát cca 20 minut než se mi celý projekt znovu natáhne a zkompiluje. Nejdříve jsem "nadával" na moje oblíbené IDE, a když už mi to fakt vadilo, tak jsem začal hledat příčinu - a našel. Problém je opět v Javě. Na uvedené stránce je nějaký workaround, který se zdá, že funguje. Nyní tedy čekám na novou verzi Javy pro Mac OS, kde by měla být chyba opravena.

Není to vždy jednoduché, když se člověk chce držet svého oblíbeného IDE a operačního systému ...

11. srpna 2009

VMware získal SpringSource

Dnes ráno jsem v mé RSS čtečce našel celkem (aspoň pro mě) překvapivou zprávu - společnost VMware získala společnost SpringSource.

Více o této akvizici lze dočíst na blogu Roda Johnsona nebo na blogu Steve Herroda (VMware CTO) a nebo si přečíst oficiální PR vyjádření.

Podle informací z těchto článků se SpringSource stane novou divizí Vmwaru, kterou bude i nadále vést Rod Johnson. Rod Johnson ubezpečuje, že se nic měnit nebude, že model fungování firmy, produktová řada, investice do open-source zůstanou beze změny. Je jasné, že hned na začátku nikdo nebude tvrdit, že se to celé změní, ale jak znám společnost VMware, tak mi to dává naději, že opravdu vše zůstane jako dříve a z mého pohledu (z pohledu vývojáře, který rád používá Spring produkty) se nic nezmění.

5. srpna 2009

Přechod z Acegi na Spring security - pokračování

O zkušenostech z upgradu Acegi security na Spring security jsem již jeden článek napsal. Teď jsem dělal upgrade podruhé a narazil jsem na dvě nekompatibilní změny v API.

Jedná se o tyto změny:


Ono těch změn bude asi více, ale bohužel jsem nikde nenašel jejich seznam.

Jaký build server používáte? - výsledky

V poslední anketě mě zajímalo, jaký build server nejčastěji používáte. Celkem vás hlasovalo 51 s následujícími výsledky:

  1. Hudson (52%)
  2. TeamCity (23%)
  3. CruiseControl a Apache Continuum (6%)
  4. Něco jiného (9%)
  5. Luntbuild (7%)
  6. Bamboo (3%)

Výsledky jsou dle mého očekávání, možná jen jsem nečekal, že tolik lidí bude používat TeamCity, protože se jedná o placené řešení.

Já sám jsem dlouho používal Hudson ke vší spokojenosti do doby, než jsem měl možnost se setkat s TeamCity. Možnosti tohoto řešení jsou opravdu veliké (přehled vlastností zde) a když k tomu připočtu pěkné uživatelské rozhraní a možnost propojení s IDE nástroji, tak pro mě je to nyní nástroj číslo jedna - i za cenu toho, že to není zadarmo.

Kromě uvedených nástrojů mám uložen ještě odkaz na tyto nástroje: Apache Gump a Gradle. Také se dá využít řešení od Microsoftu - Team Foundation Server (samotného by mě nenapadlo spojovat toto řešení s Javou, ale zrovna nedávno mi kamarád popisoval, jak celá firma funguje nad Microsoftem, tak TFS byla prý logická volba).

Nakonec přikládám odkaz na článek s radami k výběru open-source řešení.