Archive for the ‘J2EE’ Category
« Older Entries Newer Entries »OutOfMemoryException (PermGenSpace) with Eclipse JEE
Sunday, April 13th, 2008
Posted in: J2EE, eclipse, java.
The Eclipse JEE distribution Europa Winter appears to have a memory issue with the default JVM memory settings, causing an OutOfMemoryException of the PermGenSpace which makes the IDE hang up and / or exit.
This issue appears to be subject of several bug reports and discussions (see for example this discussion at EclipseZone) .
In general, the fix or workaround for the problem is assigning more memory to the PermGenSpace while increasing the amount of heapspace.
The following entries in the eclipse.ini (located in the eclipse installation root folder) did it for me:
-Xms40m
-Xmx512m
-XX:MaxPermSize=96m
Not that this workaround will only work with sun’s Java distribution (which is the most common), but not with IBM’s, since the latter does not support setting the maxPermSize with -XX:MaxPermSize.
No CommentsWhy @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”
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 CommentsSpring-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 CommentsSpring-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 CommentsSpring-Context Konfiguration ohne Application Server
Tuesday, February 5th, 2008
Posted in: J2EE, System architecture, java, spring.
Auch ausserhalb eines Application Servers wie tomcat lässt sich ein spring context recht einfach konfigurieren.
Lediglich um den richtigen Zeitpunkt zum Starten und Stoppen des Kontexts muss man sich selbst kümmern.
Dazu verwendet man zumeist einen sog. Launcher, was lediglich eine Klasse bezeichnet, welche das Starten und Stoppen des Kontexts in entsprechenden Methoden kapselt.
Read the rest of “Spring-Context Konfiguration ohne Application Server”
Tomcat 5 und crosscontext-Konfiguration
Thursday, January 31st, 2008
Posted in: J2EE, System architecture, java, tomcat.
Manchmal ist es sinvoll, aus einem Context in Tomcat auf einen Anderen zuzugreifen. zum Beispiel dann, wenn eine CMS-Applikation getrennt von statischen, von Benutzern gepflegten Ressourcen gehalten werden soll.
Zugriff von einem Context auf einen anderen über die Servlet-API
Will man von einem anderen Context auf einen anderen zugreifen, lässt sich der gewünschte Context recht einfach aus dem ServletContext erhalten:
Read the rest of “Tomcat 5 und crosscontext-Konfiguration”
