Maven 3.8.1 und http-Artifactories

Wenn ihr nen Update auf Maven 3.8.1 macht, dann werdet ihr keinen Zugriff mehr auf Artifactories via http haben. Maven hat auf https default umgestellt.

Lösbar ist das, indem ihr euren settings.xml (im .m2-Verzeichnis) folgendes hinzu fügt:

Beispiel für server „central“, den Namen habt ihr in der „servers“-Section definiert:

<mirrors>
    <mirror>
        <id>central</id>
        <name>central</name>
        <url>http://artifactory.dev5310.com:8081/artifactory/all-lib</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

damit sollte es dann wieder funktionieren.

Noch besser allerdings wäre es, das Artifactory via https zu verbinden.

Düsseldorf „Open Playground“ erfolgreich beendet

Düsseldorf Open Playground by Stöer
Düsseldorf Open Playground by Stöer

Neues von unserem #IoT-Projekt mit #Magnolia und Android:

„Der Open Playground hat gezeigt, dass von den durchschnittlich täglich 250.000 Bahnhofsbesuchern rund 40 Prozent Bluetooth aktiviert haben. Philips, Loreal, die Agentur t8y.com, die Sparkassen-Finanzportal GmbH und ein Softgetränkehersteller nutzten den Open Playground, um iBeacon Kampagnen in ihrer Zielgruppe zu testen.“

Tachty erhält den Ritterschlag zur Agentur 😉
Danke an Martin und Martin, es hat Spaß gemacht!

Düsseldorf „Open Playground“ erfolgreich beendet weiterlesen

Review: Magnolia Conference 2015 / Basel

Magnolia Conference 2015 is over – but you can relive the event with our videos and slides!

For videos, keep an eye on this playlist – you may find a talk with me speaking about the internet of things 😉
https://www.youtube.com/playlist/magnolia-congerence

For slides, search for mconf15 on SlideShare: http://www.slideshare.net/search/mconf15

Vaadin 6.6.0 is here (there)

… Based on this, we have mobile device support with native look-and-feel coming up a little later. The TouchKit Add-on v2 is on its way and will follow Vaadin 6.6 next month. This release will bring you widgets that fit seamlessly first to IPhone and later releases will then support iPad and Android devices….

URL’s for Vaadin 6.6.0 aka „San Francisco“:

java.sql.SQLException: ORA-01843: not a valid month

You think it is easy to insert a date into a database? Then you never tried it on an Oracle database! Today I spent some time on the „java.sql.SQLException: ORA-01843: not a valid month“ – exception. It was caused by the query

Query: UPDATE myTable SET dataSent=?, dataSentDate=? WHERE email=? Parameters: [Y, 2010-05-17 11:49:50, name@mydomain.com]>

… but the date looks good, or? Some documentation showing this notation. But Oracle (and the web) says it was caused by a date specified an invalid month. Valid months are: January-December, for format code MONTH, and Jan-Dec, for format code MON. Action: Enter a valid month value in the correct format. I tried to change my SimpleDateFormatter…

new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
new SimpleDateFormat("yyyy-MMMMM-dd hh:mm:ss").format(new Date());
new SimpleDateFormat("yyyy/MM/dd hh:mm:ss").format(new Date());

.. but nothing woked. Finally I found the solution: you have to tell Oracle the formatting of the date! So changing the insert statement like this…

update("UPDATE member SET dataSent=?, dataSentDate=to_date(?,'DD/MM/YYYY HH24:MI:SS') WHERE email=?", updateParams);

.. and of course change the SimpleDateFormatter to the same brings me to the solution!

Weblogic, sql-taglib and JNDI: DataSource invalid: No suitable driver found

On a Weblogic 10 environment, you may get an error like
javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: „java.sql.SQLException: No suitable driver found for jndi_ds
if you are using the sql-taglib to access your JNDI name from the Weblogic application server, configured via the Weblogic console.

The solution is quiet simple, but not that good documented. It is not possible to use the paramter „driver“ inside the sql:setDataSource – tag. You rather have to promote the JNDI name in your web.xml like this:

<resource-ref>
<res-ref-name>jndi_ds</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

Than you can set the dataSource with the sql:setDataSource – tag like this:

<sql:setDataSource dataSource="jndi_ds" />

and finally use the sql-taglib as you did in any other environment like Tomcat server and so on.

How to remove jsessionid from url / Weblogic server

On a Weblogic server, you don’t need a rewite rule or filter to get rid of this …;jsessionid… stuff on any URL build using the „c:url“ tag. You simply need to put one more line to your weblogic.xml:

<session-descriptor>
    <url-rewriting-enabled>false</url-rewriting-enabled>
</session-descriptor>

Apache Lucene 2.9 ist da!

Das beliebte Java-Sucheframework Apache Lucene ist in der Version 2.9 erschienen. Neben einem überarbeiteten Unicode-Support gibt es ein neues Query-Parser-Framework. Umsteiger von Version 2.8 sollten jedoch aufpassen, da sich die API zum Teil geändert hat. Auf JAXEnter wurde übrigens eine Artikelserie zum Thema Lucene eingerichtet.