Archive for the ‘java’ Category
« Older Entries Newer Entries »Why @Configurable and @Transactional don’t belong to into the same class
Wednesday, March 26th, 2008
Posted in: J2EE, JPA, System architecture, java, spring.
When using the Spring framework, one can still benefit from dependency injection etc. even if a bean is not obtained from a bean factory by using the @Configurable annotation, f.e.:
Read the rest of “Why @Configurable and @Transactional don’t belong to into the same class”
maven autocompletion für die shell (und windows)
Wednesday, March 26th, 2008
Posted in: System engineering, java, maven 2, ubuntu.
Beim Arbeiten mit maven stört die fehlende automatische Vervollständigung auf der Kommadozeile, insbesondere wenn man den Komfort einer ordentlichen unix-shell gewähnt ist. Doch dem kann abgeholfen werden. Aktuelle Linux-Distributionen (und unter Windows CYGWIN) besitzen mit bash-completion eine einfache Schnittstelle zum Erweitern der Autocompletion.
Read the rest of “maven autocompletion für die shell (und windows)”
ClassCastException, PersistentCollection, Hibernate & JPA
Tuesday, March 25th, 2008
Posted in: J2EE, JPA, System architecture, hibernate, java.
Verwendet man Hibernate (und JPA) kann es mitunter zu recht exotischen Fehlern kommen.
Ein Beispiel, zu dem ich bei google heute nicht einen einzigen Treffer gefunden habe ist folgende Exception:
...
Caused by: javax.persistence.RollbackException: Error while commiting the transaction
at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:71)
at org.springframework.orm.jpa.JpaTransactionManager.doCommit(
JpaTransactionManager.java:438)
... 55 more
Caused by: java.lang.ClassCastException: java.util.HashSet
cannot be cast to org.hibernate.collection.PersistentCollection
at org.hibernate.event.def.FlushVisitor.processCollection(FlushVisitor.java:34)
...
Read the rest of “ClassCastException, PersistentCollection, Hibernate & JPA”
Spring tools für eclipse
Tuesday, March 25th, 2008
Posted in: J2EE, eclipse, java, spring.
Wer mit dem spring framework entwickelt sollte das spring IDE Projekt nicht missen.
Die einfach zu installierenden Plugins erweitern unter anderem den XML-Editor um nützliche “content assists” für die spring Konfiguration.

Sehr nützlich!
No CommentsTypparameter einer generischen java-Klasse zur Laufzeit bestimmen
Tuesday, March 25th, 2008
Posted in: System architecture, generics, java.
Einer der etwas komplizierten Teile von Java generics ist der Umgang mit Typparametern zur Laufzeit.
Oftmals wird behauptet, dass es nicht möglich sei, den konkreten Typ eines Typ-Parameters zur Laufzeit zu erhalten. Das stimmt so aber nicht.
Read the rest of “Typparameter einer generischen java-Klasse zur Laufzeit bestimmen”
Spring-loaded
Saturday, March 22nd, 2008
Posted in: J2EE, System architecture, java, spring.
Craig Walls, einer der Autoren des famosen “Spring in action” Buches, schreibt in seinem Weblog vieles extrem Lesenswertes rund um Spring. Dank der zahlreichen Codebeispiele eine gute Quelle für best practice Spring – und natürlich sehr aktuell!
No CommentsSpring context, überall – auch mit openAMF
Wednesday, March 12th, 2008
Posted in: J2EE, System architecture, java, spring, tomcat.
Benutzt man zur Anbindung eines Flash-Frontends openAMF oder macht man irgend etwas Ähnliches, was am DispatcherServlet vorbei geht, muss man nicht auf die AOP basierten scopes verzichten. In diesem Fall stellt ein einfacher Filter in der web.xml die entsprechenden Scopes ur Verfügung:
<filter>
<filter-name>springContextFilter</filter-name>
<filter-class>org.springframework.web.filter.RequestContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>springContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Mehr dazu gibt’s natürlich in der spring-doku!
No CommentsTomcat mit der Apache Portable Runtime (APR)
Friday, February 15th, 2008
Posted in: J2EE, System architecture, java, tomcat.
Tomcat-Benutzer finden gelegentlich diese Fehlermeldung im catalina.out:
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: ...
Zumindest dann, wenn die APR-Komponente in der server.xml konfiguriert ist:
<Server port="..." shutdown="SHUTDOWN"> ... <Listener className="org.apache.catalina.core.AprLifecycleListener" /> ...
Dies liegt daran, dass diese Komponenten eine Abhängigkeit auf native Bibliotheken hat, welche auf dem System installiert sein müssen und deren Pfad in die java.library.path-Variable eingetragen sein sollte.
Das ist kein kritischer Fehler, aber es ist wahr, dass die APR auf Produktivsystemen einen spürbaren Vorteil bietet.
Im Javablog gibt es dazu zwei exzellente Beiträge:
Dieser Beitrag schildert die Installation der APR.
In dieser Beitrag wird der gemessene Performance-Gewinn durch APR gezeigt.
Beides sehr lesenswert!
No CommentsOutOfMemoryError, static, Collections
Wednesday, February 13th, 2008
Posted in: java.
Es ist zwar ein altbekanntes Problem, aber:
Ein immer wieder gern gemachte Fehler ist das Verwenden von statischen Collections, beispielsweise Maps.
Das führt schnell zu OutOfMemory-Fehlern – da man sich um das leeren einer statischen Map selber kümmern muss, wenn nicht sicher ist, dass die Elementanzahl begrenzt ist.
Read the rest of “OutOfMemoryError, static, Collections”
Spring-Konfiguration mit XML-imports
Tuesday, February 5th, 2008
Posted in: J2EE, System architecture, java, spring.
Statt den Spring-Context mit einer ganzen Menge von .xml-Ressourcen zu konfigurieren Kann man diese auch per import in eine Spring-Konfiguration includen.
eine Spring-context.xml kann zum Beispiel so aussehen:
< ?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
...
<import resource="eineWeitereKonfiguration.xml"/>
..
</beans>
Read the rest of “Spring-Konfiguration mit XML-imports”
No Comments « Older Entries Newer Entries »