Felix shell w Glassfish-u

Glassfish działa w oparciu o kontener OSGi Apache Felix. Standardowo jednak nie jest uruchamiany shell. Można w prosty sposób go włączyć dodając w domain.xml:

Glassfish 3.1.1 i wcześniejsze:

Dodać:

org.apache.felix.shell.remote,

do opcji:

-Dorg.glassfish.additionalOSGiBundlesToStart

Cała sekcja jvm-options powinna wyglądać tak:

<jvm-options>-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell.remote,org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.fileinstall</jvm-options> Glassfish 3.1.2: asadmin create-jvm-options -Dglassfish.osgi.start.level.final=3

Konsola OSGi jest dostępna na porcie 6666:

telnet localhost 6666 . . . → Read More: Felix shell w Glassfish-u

Pobieranie sekwencji w Hibernate

Wykorzystanie sekwencji w Hibernate sprowadza się najczęściej do zdefiniowania generatora dla encji i automatycznego pobierania wartości dla wybranego pola. Czasem jednak może zaistnieć konieczność pobrania wartości sekwencji przed zapisem encji lub zupełnie w oderwaniu od zagadnień persystencji. Hibernate nie oferuje wprost klasy realizującej to zadanie. Niezbędne jest wykonanie natywnego query. Wiąże to jednak kod z . . . → Read More: Pobieranie sekwencji w Hibernate

Wpływ adnotacji @Local/@Remote/@LocalBean na dostępność EJB 3.1

Przy okazji pewnego projektu, dokładając do już pokaźnego stadka ziarenek kolejne w postaci: komponent EJB + interfejs zdalny @Remote + interfejs lokalny @Local, przeszła mi przez głowę myśl, czy aby nie przepracowuję się za nadto bawiąc się w definiowanie interfejsów zarówno lokalnych jak i zdalnych. Przecież specyfikacja JavaEE 6 pozwala na bezpośrednie wykorzystywanie (dependency injection . . . → Read More: Wpływ adnotacji @Local/@Remote/@LocalBean na dostępność EJB 3.1

Integracja ActiveMQ 5.x z Glassfish 3.1

Integracja ActiveMQ z serwerem aplikacyjnym Glassfish dostarcza kilka ciekawych funkcjonalności, jak chociażby dostęp zdalny do kolejek czy bardzo rozbudowana konsola zarządzająca kolejkami.

Przedstawiony sposób opiera się głównie na tutorialu ze strony: http://javadude.wordpress.com/2011/07/21/glassfish-v3-1-running-embedded-activemq-for-jms-part-1/. Podobny opis można znaleźć w książce „Glassfish Administration” (http://www.packtpub.com/glassfish-administration/book).

Pewnego wyjaśnienia wymaga użyta wersja ActiveMQ 5.4.x. Niestety przy wersji 5.5.x pojawiał się problem . . . → Read More: Integracja ActiveMQ 5.x z Glassfish 3.1

Remote EJB – alternatywny sposób dostępu

Specyfikacja JavaEE przewiduje zdalny dostęp do ziaren EJB. Ziarna dostępne są oczywiście poprzez interfejs zdalny (@Remote), jednak w specyfikacji nie jest sprecyzowany protokół klient-serwer, co doprowadziło do powstania wielu implementacji. Implementacje te nie są ze sobą zgodne, co w konsekwencji prowadzi do mocnego powiązania klienta z serwerem. Nie jest to zawsze złe. Komunikację EJB można . . . → Read More: Remote EJB – alternatywny sposób dostępu

[GRAILS-6584] Poprawka „widmo” w wersji 1.3.6

W zamierzeniu w wersji Grails 1.3.6 znajdować się miała łatka GRAILS-6584 która pozwala na użycie constraints z klasy domenowej w obiektach command object. Okazuje się jednak, że na oficjalnej stronie listy poprawek i nowości wersji 1.3.6 feature jest wymieniony, nie ma go jednak w binarnej wersji ani kodzie źródłowym tej wersji. Jest za to w . . . → Read More: [GRAILS-6584] Poprawka „widmo” w wersji 1.3.6

Koncepcja optymalizacji procesu zmiany struktury bazy danych w projekcie

Nadszedł czas, aby trochę pomyśleć nad uporządkowaniem nieco warsztatu bazodanowego, a w szczególności wersjonowania zmian struktury bazy danych. Dotychczas nie korzystałem z dedykowanego narzędzia i wcale nie było najgorzej – przez lata wypracowane własne standardy całkiem nieźle się sprawdzały. W konfrontacji jednak z takimi narzędziami jak dbMaintain oraz Liquibase wypadają słabo. Brakuje rozbudowanej automatyzacji, walidacji, . . . → Read More: Koncepcja optymalizacji procesu zmiany struktury bazy danych w projekcie

Konwersja repo Mercurial-a do Git-a

Swoje przygody z rozproszonymi systemami kontroli wersji (DVCS) rozpocząłem z Mercurialem. Uważam, że jest świetny, w miarę szybki do przyswojenia dla „szarego zjadacza Subversiona” 😉 i ma dość szerokie wsparcie oprogramowania klienckiego pod wieloma platformami. Ostatnimi czasy dużo częściej jednak spotykam się z Git-em. Pojawiła się konieczność współpracy DVCS-a z SVN, gdzie porównując dostępne rozwiązania . . . → Read More: Konwersja repo Mercurial-a do Git-a

Aktualizacja pluginu Grass do współpracy z Compass 0.10.x

Zastanawiałem się ostatnio w jaki sposób można uporządkować nieco style CSS w aplikacji web-wej. Zabrałem się za refaktoring i rozdzielenie styli do oddzielnych plików CSS. W trakcie zdałem sobie jednak sprawę, że nie jest to pełnia szczęścia i niestety trzeba coś z tym więcej zrobić.

. . . → Read More: Aktualizacja pluginu Grass do współpracy z Compass 0.10.x

Przywracanie domyślnych paneli gnome-a w Ubuntu

Ostatnio udało mi się nieco zamieszać w konfiguracji paneli. Nie chciało mi się ręcznie tego przywracać, zarzuciłem zapytanie wujkowi G. i oto sposób:

user@computer:$ gconftool-2 –shutdownrm -rf .gconf/apps/panelpkill gnome-panel