Ich möchte Sie einladen an der offenen Beta von PortfolioComfort, dem mobilen Tool zur ETF Porfolioverwaltung, teilzunehmen.
Kategorie: blog
Java SE 11 zertifiziert
Ich bin nun auch auf der aktuellen long-term support Java SE 11 Version von Oracle zertifiziert.
Herbstferien 2020
Ich mache vom 12. bis 16 Oktober Ferien und bin nur in dringenden Fällen erreichbar.
Ich wünsche allen schöne Herbstferien!
EclipseCon 2020
Ab Montag den 19.10.2020 startet die vituelle EclipseCon. Die Teilnahme/Registrierung ist kostenlos.
Urlaub Oktober
In der ersten Ferienwoche im Oktober bin ich im Urlaub und nur in dringenden Fällen für Sie verfügbar.
Education Rabatt 2019
Bei Oracle Education gibt es aktuell einen kräftigen Rabatt von 25% auf Learning Subscriptions aus dem Programm ‚User Group Champions‘ heraus. Dieser kann auf Neubestellungen auf http://education.oracle.com verwendet werden.
Hier der Link zum Programm: https://education.oracle.com/usergroupchampions
Der Rabatt ist noch bis Ende 2019 gültig.
Devoxx UK 2019, Early Birds
Ich werde dieses Jahr wieder auf der Devoxx UK in London vom 08-10 Mai sein. Es gibt sicherlich wieder ein tolles Lineup an internationalen Speakern. Es gibt noch bis zum 15. Januar Early Bird Tickets.
Update Verfügbarkeit
Ich bin wieder auf der Suche nach neuen Projekten.
Ich führe gerne Ihre Projekte ab Januar 2019 durch.
Auf Anfrage sende ich Ihnen gerne meinen aktuellen CV.
Urlaub Juli 2018
Ich bin vom 28. Juni bis 15. July nicht verfügbar. Für Anfragen kontaktieren Sie mich bitte über freelancer@joerndettmer.de. Vielen Dank und auch Ihnen einen schönen Urlaub!
RT @PacktPub: It’s here. Tell your friends, colleagues, family, that e
January 3, 2018, 3:34 pm
RT @PacktPub: It’s here. Tell your friends, colleagues, family, that every Packt eBook and every Packt video is $5. visit https://t.co/VAwv…
JavaLand 2018: Frühbucherrabatt bis 18. Januar | heise Developer
January 2, 2018, 10:15 am
JavaLand 2018: Frühbucherrabatt bis 18. Januar | heise Developer https://t.co/MJJ4dpELdL
Java-Champions reagieren auf Spekulationen über das Eintreiben von Ja
December 31, 2016, 9:08 am
Java-Champions reagieren auf Spekulationen über das Eintreiben von Java-SE-Lizenzgebühren – heise Developer https://t.co/EGN68S2hgA
Oracle gibt Roadmap für Java EE 8 bekannt | heise online h
December 23, 2016, 12:45 pm
Oracle gibt Roadmap für Java EE 8 bekannt | heise online https://t.co/6QsT7V1MPM
URL to tweet
MicroProfile-Projekt wandert zu Eclipse – heise Developer ht
December 22, 2016, 12:39 pm
MicroProfile-Projekt wandert zu Eclipse – heise Developer https://t.co/4aNhzMuVUY
URL to tweet
MakerCon: Bis zum Jahresende gilt der Frühbucherrabatt – he
December 22, 2016, 12:36 pm
MakerCon: Bis zum Jahresende gilt der Frühbucherrabatt – heise Developer https://t.co/eZ8IPsAyl8
URL to tweet
RT @DevoxxUS: Over 150 expert speakers are attending #Devoxx
December 22, 2016, 11:53 am
RT @DevoxxUS: Over 150 expert speakers are attending #DevoxxUS. Register today & get $120 off! https://t.co/hP6F2nuwjf https://t.co/SZT8pAJ…
https://twitter.com/JoernDettmer/status/811902515436548096
http://pbs.twimg.com/profile_images/588431888873840642/KlpM7Geg_normal.jpg
RT @CNBC: Bitcoin passes the $800 mark https://t.co/klW6kGVX
December 22, 2016, 11:48 am
RT @CNBC: Bitcoin passes the $800 mark https://t.co/klW6kGVXl8
https://twitter.com/JoernDettmer/status/811901130863218688
http://pbs.twimg.com/profile_images/588431888873840642/KlpM7Geg_normal.jpg
https://t.co/HTvjzT1qjx
December 22, 2016, 10:27 am
https://t.co/HTvjzT1qjx
https://twitter.com/JoernDettmer/status/811880823800680448
http://pbs.twimg.com/profile_images/588431888873840642/KlpM7Geg_normal.jpg
Is #bmps bailout the start for an eu wide bank bailout?
December 22, 2016, 10:24 am
Is #bmps bailout the start for an eu wide bank bailout?
https://twitter.com/JoernDettmer/status/811879966988238850
http://pbs.twimg.com/profile_images/588431888873840642/KlpM7Geg_normal.jpg
Homepage ist nun überarbeitet und auf HTTPS umgestellt.
Homepage ist nun überarbeitet und auf HTTPS umgestellt.
Tweet from JoernDettmer
Nachdem Strato voraussichtlich nächstes Jahr von 1und1 geschluckt wird, habe ich meinen Blog vorauseilend zum neuen Besitzer gewechselt ;-).
Tweet: Ups, this is the correct URL http://t.co/U4bLCMdk5…
Ups, this is the correct URL ow.ly/LF5ID
Tweet: Check Out the tips ’n tricks for the current eclip…
Check Out the tips ’n tricks for the current eclipse lunar Release: ow.ly/LF4TI
I will be at the #DevoxxUK2015 from 16th till 20th…
I will be at the #DevoxxUK2015 from 16th till 20th of june.
Tweet:
Tweet: Started reading books Effective Java (Second Editi…
Started reading books Effective Java (Second Edition) by Bloch, Java EE 7 by Goncales and Domain Driven Design by Evans.
Fast ssl certificate for tomcat development (windows)
If you need a fast ssl certificate for your tomcat, go into your home directory:
open a windows cmd
keytool -genkey -keyalg RSA -alias selfsigned -storepass changeit -validity 360 -keysize 2048
Add the following connector to your Tomcats server.xml:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
Your default non-https connector should have a redirect on the ssl port (f.i. here 8443).
This should look like this:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />
To verify your settings create a class named AuthenticationServlet:
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.HttpConstraint; import javax.servlet.annotation.ServletSecurity; import javax.servlet.annotation.ServletSecurity.TransportGuarantee; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class AuthenticationServlet */ @ServletSecurity(@HttpConstraint(rolesAllowed="joern", transportGuarantee=TransportGuarantee.CONFIDENTIAL)) @WebServlet("/AuthenticationServlet") public class AuthenticationServlet extends HttpServlet { private static final long serialVersionUID = 1L; public AuthenticationServlet() { super(); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter writer = null; try{ writer = response.getWriter(); writer.write("You are now on a secured connection, well done!"); writer.flush(); }finally{ if(writer!=null){ writer.close(); } } } }
You will get something like this if you try to browse your ssl secured website. Don’t mind it’s just because of your new self signed certificate.
And if you didn’t somehow defined the role (f.i. here joern) you will see the following 403 error:
Nice Servlet 2.5 API class diagram
Here is the link: www.codejava.net/java-ee/servlet/servlet-api-overview
And also a JSP API overview available: http://www.codejava.net/java-ee/jsp/jsp-api-overview-uml-class-diagram
Tweet: Connected twitter account to my #WordPress blog.
Connected twitter account to my #WordPress blog.
Jetty 9 @ javaone
Jetty 9 supports Servlet 3.0 and 9.1 will support for 3.1
Jetty has a new protocol named speedy which will be, perhaps, the next standard for the http 2.0 . At this point not supported by all browsers but even microsoft works on a solution for IE 11.
Slides will be available asap.
windows azure @ javaone
Microsoft showed the creation of a program running Windows Azure and Glassfish Server in the cloud. Windows Azure has eclipse support, therefor it’s really easy to publish into the cloud.
But didn’t see anything special other componies don’t support. In the end all cloud providers try to sell their datacenter capabilities which originally were planed to be used for other services (ie Bing, Google Search, Amazon store).
One thing to mention, the microsoft guy showed some sort of network authentication. They said that this is a security layer so that in conclusion the developer don’t has to care for his appliacation security. I think this is a really wrong approach I would never give the security in other hands, and never directly in the hands of the microsoft cloud. In my opinion this is more network authentication which can be used in addition to programmtic security (equal to radius).
Link to the slides will be available asap.
Restful webservices @javaone
Jax-RS was one of the most mentioned topics in the java one session. Now everyone tries to use jersey +json to develop new applications. I believe, that this is more than a hype, because json and restful were used by other languages for years. But it will depend on your use case whether to take soap or rs ws. I will still stay with soap in terms of application communication because of the easy creation of stubs and even other features (f.i. security) matter. The overhead of soap is, as discussed a lot, not really a big problem. It’s more the ease for use, for f.i. frontend developers, that matter.
Search trek – the next generation @ javaone
Well, this is the first time I understand how search engines work. Thank you for that – please read the slides.
Will add the link to the slides asap.
JavaOne 2013 is done
The trip to usa for the java one was really a good one. Met a lot of interessting people, saw many good sessions. Big topics were (beside Java EE 7, SE 8) Jax-RS/JSON, Javascript and frameworks, embedded Java (ie Raspberry/Freescale at keynote) and big data.
Practical Restful Persistence
* Eclipse Link MOXy enables easy JAXB binding of pojos with JSON (Jax-RS) with integration of JPA.
* easyily supports http (get, put, delete..) methods for objects
* just add jpa_rs library to your project, dependcies on eclipse link and jersey
* not useable with hibernate yet
* partial loading not support yet
* will work with tomcat should work with other container/application server (only with eclipseLink)
more information here moxy website
Keynotes
Yesterday (Sunday) the java one started with a very nice introduction/keynote. It’s topics was mainly the newly introduced Java EE 7 and a perspective for Java 8 (and a few on Java 9).
To sum it up in short here a my most interesting points on this keynote:
* Freely available Java EE Webprofile appliction server from IBM available
* packaged hashmaps can reduce heap size usage and improve speed, realy check this out if you’re working with big data
* Lambda will be introduced by the available rc of java se 8. It’s now available.
* Netbeans has build in support for java scripting (incl. debugging) especially for the following frameworks: angular.js,
knockout.js, jquery
Funny, while demonstating Netbeans crashed. 🙂 Everybody knows, than can happen.
* The newly introduced websockets in java ee 7 are very impressive I hope I will find the time to develop some on my own.
* JSON support was added by Java EE 7
* jAVA ME 8 is available for testing and should be a real performance boost (works even on raspberry pi fluently)
* Java 9 will use GPUs
Java EE6 / @MultipartConfig
The Multipart annotation, introduced by EE 6, is very helpful to create a multipart upload.
First you need to create an upload form with method „post“ and enctype „multipart“.
fileupload.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Fileuploads</title> </head> <body> <form action="/OCEJWCD/fileupload" method="POST" enctype="multipart/form-data"> <input type="file" name="name"> <input type="submit" value="POST"> </form> </body> </html>
Next you can easily annotate your request accecpting servlet class with @WebServlet and @MultipartConfig. The MultipartConfig tells the servlet that there will be an incoming multipart upload and you’ll be able to access these parts via the HttServletRequest object.
FileUpload.java
package de.joerndettmer; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Collection; import javax.servlet.ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; @WebServlet(urlPatterns = "/fileupload", name = "fileuploadServlet") @MultipartConfig public class FileUpload extends HttpServlet { private static final long serialVersionUID = 2575996974446997345L; @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Collection<Part> filePart = req.getParts(); FileOutputStream fos = new FileOutputStream(new File("fileupload.txt")); for (Part part : filePart) { int read = 0; InputStream filecontent = part.getInputStream(); final byte[] bytes = new byte[1024]; while ((read = filecontent.read(bytes)) != -1) { fos.write(bytes, 0, read); } } fos.flush(); fos.close(); } }
For further information see: MultipartConfig Link
Joined DACH iJug
I joined the german iJug. Membership costs only 10 Euro a year and you’ll receive four Java magazines/year.
For more information see ijug-homepage
San Francisco Oracle Open World
From September 22 to 26, 2013, I will be at JavaOne in San Francisco, checking out the latest product and technology demos, meeting with fellow developers and industry experts, and learning about all things Java. I will blog my impressions. Perhaps you are going to join me. Ok, it’s a 12000 km trip from germany to usa but in my opinion it’s really cheap (in contrast to german it training).
JRebel
Wow, I finally bought JRebel for my Java development. It’s realy a boost for development if you need to restart your app server often. In my case I save 20 minutes every day, because of the hot deployment features of JRebel. I heard that some people use JRebel in production environments. I’d like to see this in real life, but I can’t imagine that it wouldn’t lead into troubles.
If you want to try JRebel, a 30 day trial is available on their website.
JSP is dead – long live JSP
Yes jsp is not longer the basis for JSF. But it’s still part of EE 6 and will be updated to v.2.2 in EE 7. In my opionion it’s still one of the most implemented Frameworks and because of that JSP will be never (or at least not for the next 10 years) removed from the ee distribution.
Attached the link for the ee 7 draft:
Pro JSP 2 — Now for only 0.39 EUR
You can buy the digital edition of „Pro JSP 2“ at „Weltbild – Verlag“ for only 0.39 EUR.
http://www.weltbild.de/3/16799180-1/ebook/pro-jsp-2.html?wea=8002019
Normally you pay something around fourty eur for this book.
This book is not longer available.
Installieren von Quality Plugins Netbeans
Es gibt Probleme mit dem Standard URL für SQE in Netbeans. Um FindBugs, Checkstyle, PMD etc. zu installieren bitte unter Tools>Plugins>Settings> Add
Name:SQE
URL: http://deadlock.netbeans.org/hudson/job/sqe/lastStableBuild/artifact/build/full-sqe-updatecenter/updates.xml
eintragen. Et voilá alles ist da (unter Plugins, test Checkstyle)
Viel Spaß damit.
Oracle Java Magazine
Oracle bietet inzwischen ein kostenloses Java Magazine an. Es erscheint kostenlos. Ich finde die Aufmachung gelungen, inhaltlich gibt es noch nicht so viel (54 Seiten).
Folgend die Ankündigung von Heise Dev. und der Registrierungslink.
Witzig, zum Thema BPM
Icon Sets
Icon Sets sind Sinnvoll um ein konsistentes Layout für eine Applikation zu erreichen. Ich benutze gerne die freien Icons von famfamfam oder von Sun/Oracle. Beide kannst du auf den folgenden Links finden:
NoSQL in vernünftig
Nachdem es einige NoSQL Datenbanken schafften nur sehr performant zu sein, gibt es inzwischen wirklich ernst zunehmende Vertreter. Warum? Weil Prinzipien wie ACID, Transaktionen, Hochverfügbarkeit und konkurrierende Zugriffe aus der realen Welt nicht wegzudenken sind. neo4j ist so ein Vertreter. Ich hoffe das ich in der Zukunft die Möglichkeit habe auch einmal von der Relationalen DB auf so eine DB setzten zu dürfen. Damit wäre das Objektrelationale Mapping überflüssig, und ich könnte viel mehr Zeit mit sinnvollen Dingen verbringen.
Scala zum Ausprobieren…
… findet man unter www.simplyscala.com . Dort gibt es zu den Tutorials auch gleich einen Online Scala Compiler (wie das Eclipse Scratch Pad) mit dem die Beispiele direkt ausgeführt werden können.
Buchemfpehlung zu Java EE 6 Stack
Aus einem vorhergehenden Projekt durfte ich mich mit dem aktuellen Java EE 6 Stack auseinandersetzen. Das Buch „Beginning Java EE 6 mit Glassfish“ hat mir dabei sehr geholfen. Es umschreibt kurz viele der JSR aus dem EE Full Profile. Dem Titel folgend wird zudem kurz auf die EInrichtung von Glassfish wie auf dessen Verwendung eingegangen. Bitte nicht von der einen schlechten Rezession auf Amazon abschrecken lassen .
Schnelle Dokumentation unter Windows 7
Wenn schnell eine kurze bebilderte Anleitung / How-To erstellt werden soll, gibt es unter Windows 7 ein nützliches Tool. Die Problemaufzeichnung erfasst zu jeder Aktion auf dem Bildschirm eine Aufnahme. Es wird der ausgewählte Bereich automatisch markiert und es gibt eine Kommentarfunktion. Zum Starten der Problemaufzeichnung einfach unter Windows 7 Start > Programme/Dateien durchsuchen > psr.exe .
Blueprint CSS Framework
Blueprint ist ein CSS Framework welches die Anordnung von Elementen auf einem Raster (Z.B. 12er) erlaubt. Hierdurch können sehr schnell sehenswerte Ergebnisse erzielt werden. Ich schreib nochmal ausführlich darüber wenn ich Zeit habe.
http://www.blueprintcss.org/
Übrigens, es gibt eine menge von diesen CSS Frameworks. Anschauen lohnt sich.
Murach’s Java Servlets and JSP
Ist ein klar strukturiertes Buch und eine zusätzliche Vorbereitung für den SCWCD. Für alle die Head First Titel zu chaotisch finden, gibt es hier übersichtliche Kapitel die beim Aufsetzen von Tomcat beginnen und dann über den Netbeans IDE zu den eigentlichen Inhalten JSPs und Servlets kommen. Es gibt immer vollständige Code Beispiele und es gibt weiterführende Download Materialien.
On the road again…
Ich bin ab 01.10.2012 wieder als Freelancer unterwegs. Ich hoffe das ich dann die Zeit finde, endlich dieses Blog mit wertvollen Inhalten zu füllen.
Jenkins O’Reily Buch
Es gibt ein interessantes Jenkins Buch von O’Reily zum kostenlosen Download:
Besonders die Konzepte zum Continious Delivery (Ich glaube Kap. 12) sind mir neu.