Seit Java 1.4 gibt es die Möglichkeit, die AWT-Klassen auch ohne laufendem X-Server zu nutzen. Es reicht, beim Aufruf des Programms den Schalter „/…/jre/bin/java -Djava.awt.headless=true“ zu setzen.
Kategorie: Java
velocity.log im „aktuellen“ Verzeichnis
Beim Einsatz von Velocity in Spring Projekten kannes vorkommen, dass Velocity im „aktuellen“ Verzeichnis loggen will. Jedoch kann Velocity auch ein existierendes Commons Logging / Log4j mit nutzen, indem man im classpath eine velocity.properties-Datei anlegt:
#runtime.log.logsystem.class=org.apache.velocity.runtime.log.SimpleLog4JLogSystem
runtime.log.logsystem.class=org.apache.velocity.tools.generic.log.CommonsLogLogSystem
runtime.log.logsystem.log4j.category=velocity
Java: rn durch ersetzen
Da jedes String-Objekt eine replace-Methode besitzt, dei in der Lage ist, reguläre Ausdrücke zu verarbeiten, bietet sind folgendes an:
newString = myString.replaceAll("(rn|r|n|nr)", "<br>");
Jeder Zeilenumbruch – egal ob die Eingabe von einem Windows-, Linux oder Mac stammt, wird nun html-Konform mit br-Tags umgewandelt.
Link: Hibernate conf via Spring
Hibernate conf via Spring
URL: mysql.com/doc
C3P0 implements Connection and Statement Pooling
c3p0 is an easy-to-use library for augmenting traditional (DriverManager-based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 std extension.
Link: ehcache – chache sql requests
Ehcache is a widely used java distributed cache for general purpose caching, Java EE and light-weight containers.
It features memory and disk stores, replicate by copy and invalidate, listeners, cache loaders, cache extensions, cache exception handlers, a gzip caching servlet filter and much more…
Ehcache is available under an Apache open source license and is actively developed, maintained and supported.
Link: ehcache.sourceforge.net
Spring: Properties für applicationContext.xml (key / value)
Spring bietet mit dem Application Context eine mächtige Varante, um Applikationen zu konfigurieren. Manchmal benötigt man aber z.B. zwischen Developer-Rechner und Live-Server nur eine kleine Änderung – die man dann aber in der oder den Context-Dateien suchen und anpassen müsste. Oder man hat Values, die sich häufig wiederholen….
Spring löst dies durch einen Mechanismus, mittels dem man Variablen als key/value-Paare in einer Properties-Dateu ablegen und dann in den Context-Dateien zugreifen kann.
Der erste Eintrag in der applicationContext.xml – Datei könnte somit folgendermaßen aussehen:
<bean id=“placeholderConfig“ class=“org.springframework.beans.factory.config.PropertyPlaceholderConfigurer“>
<property name=“location“ value=“/WEB-INF/developer.properties“ />
<property name=“ignoreResourceNotFound“ value=“false“ />
<property name=“ignoreUnresolvablePlaceholders“ value=“false“ />
<property name=“searchSystemEnvironment“ value=“false“ />
</bean>
Hiermit wird die Datei /WEB-INF/developer.properties eingebunden, die aus simplen Key-Value-Zeilen besteht. Ab sofort kann in der aktuellen und in jeder per „import resource“ eingebundenen context.xml auf diese Werte zugegriffen werden:
<;bean id=“meineBeanId“ class=“de.snad.meineBean“>
<property name=“myProperty“ value=“${variable}“>
</bean>
Siehe
- „Spring 2.0 im Einsatz“, G. Schmutz, P. Welkenbach, entwickler.press; Chapter 3 „Spring Konfiguration“
- www.thearcmind.com/confluence/display/SpringFramework, Abschnitt „Making your Application Context easy to Configure“
Hibernate: one to many w/ unique entries
Hibernate legt Mappingtabellen ohne primary Key an. Wenn dennoch jeder Entry nur ein mal vorkommen soll, macht es Sinn, als Datentyp keine List oder Collection sondern ein Set zu deklarieren.
Siehe Hibernate Manual: 2.2.5.3. Collections
EXIF Daten via Java auslesen
link hint: drewnoakes.com
Wie man Java 1.6 auf Debian Etch Stable installiert (How to install Java 1.6 on Debian Etch Stable)
„Pocket Dope“ beschreibt auf pocketdope.blogspot.com einen interessante Weg, ein aktuelles Java auf Debian Etch zu bekommen.
Nachdem Java 1.6 auch auf „backports“ verfügbar ist, reicht allerdings auch ein Hinzufügen der Zeile
deb http://www.backports.org/debian etch-backports main contrib non-free
zu der Datei /etc/apt/sources.list.
Die Installation Erfolgt dann einfach über
aptitude update
aptitude -t etch-backports install sun-java6-jdk
Anschließend noch schnell die Default-Version auswählen:
update-alternatives –config java