GWT 1.5 fertig
0 Comments Published by Christian Ullenboom on Sonntag, August 31, 2008 at Sonntag, August 31, 2008.Unter http://www.theserverside.com/news/thread.tss?thread_id=50498 ging gerade die Nachricht rein, dass GWT 1.5 nun final ist.
- GWT Home: http://code.google.com/webtoolkit/
- Download: http://code.google.com/webtoolkit/download.html
- Announcement: http://googlewebtoolkit.blogspot.com/2008/08/gwt-15-now-available.html
Labels: Open Source
HOWTO Build a REST-Application with Jersey and Jetty
0 Comments Published by Christian Ullenboom on Dienstag, August 26, 2008 at Dienstag, August 26, 2008.Resource first:
package com.tutego.traida.server;
import javax.ws.rs.*;
@Path( "/" )
public class GreetingResource
{
@GET @ProduceMime("text/plain")
public String get()
{
return "Yea!";
}
}
Bring it to Jetty
package com.tutego.traida.server;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.ServletHolder;
import com.sun.jersey.spi.container.servlet.ServletContainer;
public class Application
{
public static void main( String[] args ) throws Exception
{
ServletHolder sh = new ServletHolder( ServletContainer.class );
sh.setInitParameter( "com.sun.jersey.config.property.resourceConfigClass",
"com.sun.jersey.api.core.PackagesResourceConfig" );
sh.setInitParameter( "com.sun.jersey.config.property.packages", "com.tutego.traida.server" );
Server server = new Server( 9999 );
Context context = new Context( server, "/", Context.SESSIONS );
context.addServlet( sh, "/*" );
server.start();
}
}
To use REST-parameters
@Path( "/edit-customer/{customerid}" )
public class EditCustomerResource
{
@GET @ProduceMime("text/plain")
public String editUser( @PathParam("customerid") String customerId )
{
....
}
}
HOWTO Add a JDBC DataSource/JNDI to GlassFish
0 Comments Published by Christian Ullenboom on Sonntag, August 24, 2008 at Sonntag, August 24, 2008.Use asadmin with option create-jdbc-connection-pool first:
asadmin create-jdbc-connection-pool --datasourceclassname org.apache.derby.jdbc.EmbeddedDataSource --property databaseName=\$\{com.sun.aas.instanceRoot\}/databases/tutegodb:connectionAttributes=\;create\=true tutegoPoolUse asadmin again to install the actual JNDI name:
asadmin create-jdbc-resource --connectionpoolid=tutegoPool jdbc/tutego
To remove the pool and all attached JNDI names:
asadmin delete-jdbc-connection-pool --cascade tutegoPool
Labels: Java EE
DZone-Interview mit Sacha Labourey über JBoss AS 5
0 Comments Published by Christian Ullenboom on at Sonntag, August 24, 2008.Gibt es unter http://java.dzone.com/videos/tech-chat-sacha-labourey-jboss.
Natürlich galt es im Interview zu klären, warum man auf JBoss 5 so lange warten muss. Fertig ist er aber immer noch nicht!
We are very close to GA.
Warum noch immer nicht soweit? Weil der JBoss einen ganz neuen Microcontainer bekommt und weil unter anderem die Messaging-Lösung (JBoss Messaging) neu entwickelt wurde und JBoss 5 einen neuen Transaktions-Monitor bekommt. Einen Lacher erntet er bei mir aber mit:
Intuitively people usually think that it is an issue with the J2EE spec and how much time it took us to implement this pretty significant update of the J2EE spec.
JBoss war immerhin einer der ersten Container, die EJB 3 unterstützten. Aber Web-Services machen den JBoss 4 immer etwas Probleme, was auch an der Integration von Axis lag.
Ich sehe eher weniger gute Zukunfsaussichten für JBoss. Mit der wachsenden Popularität von GlassFish und Geronimo wird JBoss 5 zu kämpfen haben. GlassFish und Geronimo/IBM WASCE sowie WebLogic Server v10.0, SAP NetWeaver 7.1, Apusic Application Server, TmaxSoft JEUS 6, NEC WebOTX 8.1 sind (zum Teil schon sehr lange) Java EE 5 zertifiziert (http://java.sun.com/javaee/overview/compatibility.jsp) und JBoss 5 hat das auch noch vor sich.
Weiterhin glaube ich in der Java-Community einen Trend in Richtung der Sun-Implementierungen erkennen zu können, was zum Beispiel die RI für JavaServer Faces, aber auch etwa JAX-WS für Web-Services angeht. Interessant ist auch, dass GlassFish die JSP-Servlet-Übersetzung optimiert über JSR 199 regelt, eine Entwicklung, die eben nicht von Tomcat ausgeht. So nutzt auch Jetty das. (Schon 2006 war zu lesen: "patch to allow Jetty to use JSP2.1 from Glassfish instead of Jasper from Tomcat"). Von GlassFish geht im Moment ein sehr starker Zug aus und es bleibt sehr spannend.
Labels: Java EE, Open Source
MouseScrollableUI für JXLayer
0 Comments Published by Christian Ullenboom on at Sonntag, August 24, 2008.Browser haben mich zum ersten Mal auf ein Gui-Feature aufmerksam gemacht, das folgender Screenshot am Besten erklärt:
In der Tabelle erkennt man ein Symbol, mit dem sich leicht durch große Views scrollen lässt. Aktiviert wird diese Möglichkeit über die mittlere Maustaste.
Nun ist so etwas auch einfach für Swing über einen Dekorator möglich:JScrollPane sp = JScrollPane( table );
JXLayer<JScrollPane> lsp = new JXLayer<JScrollPane>( sp, new MouseScrollableUI() );
container.add( lsp );
Labels: Swing
Thema der Woche: Refactoring
0 Comments Published by Christian Ullenboom on at Sonntag, August 24, 2008.Refactoring von Code ist eine wichtige Aufgabe von Entwicklern neben der Neuentwicklung von Programmcode. Die Pflege und Aufarbeitung darf natürlich nicht zum Selbstzweck werden, aber langlebige Software muss zwingend für immer die Kriterien Wartbarkeit und Erweiterbarkeit bewahren und gut dokumentiert und verständlich sein.
Den größten Einfluss auf das Thema Refactoring hat das Refactoring-Buch von Martin Fowler, der auf seiner Webseite das Prinzip Refactoring, Refactoring-Tools und News auflistet.
Martin Fowler hat mir erlaubt, seinen Refactoring-Katalog auf Deutsch zu übersetzen: http://www.tutego.com/java/refactoring/catalog/. Gehe kurz über alle Refactorings.
Moderne IDEs erlauben von Haus aus das Refactoring von Code. Im Fall von Eclipse finde zu jedem unterstützten Refactoring ein Beispiel und lasse es von Eclipse umbauen:
- http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/ref-java-editor-quickassist.htm
- http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/ref-menu-refactor.htm
Labels: Die wöchentliche Dosis Java
GWT 1.5 RC2
0 Comments Published by Christian Ullenboom on Samstag, August 16, 2008 at Samstag, August 16, 2008.- Java 1.5 Support
- Compiler Enhancements to Improve Application Speed
- UI Library Additions: Widget Animations, Visual Themes
- DOM API for simplified DOM Programming
- Internationalization Improvements: Bi-di, Pluralization
- Accessibility Support
- Enhancements to the JRE Emulation Library
Labels: Open Source, Web Frameworks
Seit dem 8.8. ist nicht nur Olympia, sondern es es gibt auch den ersten Milestone von 3.5. Die Neuerungen sind aber seeehr mager und bis zur endgültigen Version ist ja auch noch viel Zeit. Bei NetBeans tut sich zur Zeit mehr.
Plugin-News:
- WindowBuilder ist ein WYSIWYG-Gui-Builder für Swing, SWT und auch GWT.
- PyDev. Von der Pyhthon-IDE gibt es ebenfalls Neues. Ältere Screenshots:
- ANTLR IDE

Labels: Eclipse
NetBeans IDE 6.5 Beta
0 Comments Published by Christian Ullenboom on Donnerstag, August 14, 2008 at Donnerstag, August 14, 2008.Es ist wieder soweit. Sun aktualisiert ihre IDE. Es gibt interessante Neuigkeiten unter http://wiki.netbeans.org/NewAndNoteWorthy zu lesen. Spannender ist:
Compile on Save. Where is the Build action? It is not needed any more. The Compile on Save feature does a build for you automatically. Run/debug/test actions are now available immediately. Modify a method body while running the debugger and save - the changes will be reloaded in the running application. Compilation errors inside a method don't stop you from running your program; if you debug, the debugger will halt if program execution hits that point.
Code completion has been added to the SQL editor, making it easier to insert schema, table and column names.
Hibernate is now part of the standard distribution. No need to install the plug-in anymore. Hibernate Reverse Engineering File Editor Support
JSF CRUD Generator
Property Values Code Completion und Property Values Error Checking
Sonst: JavaScript-Debugger, Überarbeitung vom UML-Tool, SVG für Java ME, Remote Profiling. Sehr hübsch.
Erster Java Closures Prototype im openjdk
0 Comments Published by Christian Ullenboom on Sonntag, August 10, 2008 at Sonntag, August 10, 2008.Von http://gafter.blogspot.com/2008/08/java-closures-prototype-feature.html:
The complete source code, released under GPLv2, is in the project's openjdk repository. A binary build, suitable for use with an existing JDK6, is at http://www.javac.info/closures.tar.gz. Other related documents are on the website http://www.javac.info/
Neu sind Method references aus dem FCM proposal:
{ String => int } parseInt = Integer#parseInt(String);
int x = parseInt.invoke("42");Damit wird es immer wahrscheinlicher, dass es Closures in Java 7 gibt, obwohl Zeitpunkt und Inhalte immer noch nicht feststehen.
Labels: Java 7
Generics zum Verstecken von Exceptions
0 Comments Published by Christian Ullenboom on Dienstag, August 05, 2008 at Dienstag, August 05, 2008.Im Blog http://nat.truemesh.com/archives/000738.html schreibt Nat über eine interessante Anwendung von Generics zur Vermeidung von lästigen throws im Fall von RuntimeExceptions.
Der Ampel-Bär
0 Comments Published by Christian Ullenboom on Montag, August 04, 2008 at Montag, August 04, 2008.http://hudson.gotdns.com/wiki/pages/viewpage.action?pageId=20250625. Gefunden unter http://blog.last.fm/2008/08/01/quality-control




