ManagedBean URL Parameter lesen

Vor kurzem musste ich mich fragen wie man ein paar einfache URL Parameter ausgelesen bekommt. Das ganze in der ManagedBean. Eigentlich ist die Lösung einfach wenn man einmal begriffen hat wozu ManagedProperties gedacht sind. Das schöne ist das es über eine einfach Annotation geht und in der faces-config.xml nur eine Kleinigkeit hinzugefügt werden muss.

In unserem fall ist es z.B. /faces/test/test.xhtml?test1=hurz&test2=gurz

 


    bean
    com.example.Bean
    request
    
        test1
        #{param.test1}
    
    
        test2
        #{param.test2}
    

Wichtig hierbei ist die Scope. Falls ihr die Scope auf Session belasst werdet ihr ein Instanziierungsproblem bekommen. Da der URL Aufruf wie der Name schon sagt ein einfacher und nur für den Moment geltender Aufruf ist ist der Scope ganz wichtig bei der Sache das auch die Parameter korrekt gelesen werden können. Somit achtet darauf das die Scope auf alle Fälle REQUEST enthält.

Anschließend könnt ihr in eurer ManagedProperty die zwei Parameter auslesen:

@ManagedProperty ("{test1}")
private String test1;
@ManagedProperty ("{test2}")
private String test2;

public void setTest1(String test1) {
 this.test1 = test1;
}
public void setTest2(String test2) {
 this.test2 = test2;
}

Da muss man einfach durch …

Nachdem mich das Fieber gepackt hat, und ich deute dem dieses mal einen positiven Aspekt zu war ich am Samsatg dem 2.3.13 mit meinen Arbeitskollegen beim Wolfsman Training. Angemeldet über facebook, scheint also doch noch zu was gut zu sein und schon die ersten Kommentare durchgelesen. Penetriert von meinem Arbeitskollegen Roland mich endlich anzumelden und den Willen im Rücken das auch durchzuziehen habe ich mich nach nur 5 Minuten wiederständigem Bitten dazu durchgerungen.

Ach ja Rücken, da war ja was. Freitag ging es erstmal zum Hausarzt. Gefühlte 30 Minuten im Wartezimmer, ich denke realistisch geschätzt waren es nur zehn ging es zur Fr. Dr. Rasch ins Behandlungszimmer. Wie immer eine ganz flotte und durchaus vertretbare Diagnose. Natürlich habe ich mein Leiden vorher schon etwas gegooglet. Eine ISG Blockade im Rücken. Na Klasse dachte ich mir. Sechs mal soll ich jetzt zur Krankengymnastik. Aber vorher geht’s dann doch noch mal nach Nürnberg zum Laufen.

Am Samstag um 12:30Uhr, alles war gepackt und abfahrbereit. Jedes Teil erneut kontrolliert die Tasche verschlossen Getränke und Essen im Kofferaum gelagert und ab ging die Lutzi bis zum Volkspark in Nürnberg. Strahlendes Wetter und super nette, durchgeknallte und leicht angespannt und konzentrierte Menschen fand ich vor Ort vor. Es soll ein Technik training sein. Kurz nachm umkleiden ging es los, Berg rauf Berg runter bei jedem Pfiff 10 Liegestützen. Soweit so gut. Aber das Ganze 15 mal war schon recht happig. Ach ja Liegestütze – jetzt weiß ich auch wieder was ich vergessen hatte. Handschuhe, gut das die Sonne geschienen hat und durch die ständige Bewegung das warme Blut durch den Körper schoss.

Danach ging es zum Trimmdichpfad. 3 schöne Runden. Egal ob hangeln, klättern oder springen alles ging relativ einfach von statten und in einem angenehmen Tempo konnten wir uns über die Strecke quälen. Aber das soll nicht alles gewesen sein.

Um wieder richtig Kreislauf zu bekommen ging es an Strecksprüngen und ein paar Sprints. Da dampft der Kessel wieder und die gesamte Rotte bewegt sich weiter. Unter den ersten Blicken zweifelnder Pärchen und Hundebesitzer ging es quer über die Straße wieder zurück in den Park und siehe da, ein See. Ach wie schön ach wie herrlich, leicht vereist und die ersten schon startklar. Egal ob Oberkörperfrei oder im Neoprenhöschen ging es ab in den zugefrorenen Tümpel.

72344_483556825038722_972339933_n 420341_483551395039265_1350365868_n 485096_483551275039277_416069205_n 522523_483556868372051_753003286_n

 

 

 

 

 

 

 

 

 

Leicht angefrohrene Füße, nasse Klamotten und erleichtert dieses Hindernis hinter sich gebracht zu haben ging es freudig zurück zum Parkplatz. Nach knapp 2 – 2,5 Stunden ging es Freudestrahlend zurück. Auf einmal öffneten sich alle Tore und Türen und das große Picknick konnte beginnen. Egal ob Brezen, Obst, Würstchen, Vollkornkekse oder sogar glutenfreie Verkostung wurde geboten. Heißer Tee mit oder ohne Schuss ein kühles Blondes oder Büffelschnaps … Alles war da und so zog sich der späte Nachmittag noch etwas hin bis es wieder zurück ging.

IMAG0266IMAG0267 IMAG0268 IMAG0269

 

 

 

 

 

 

 

 

 

 

Ich bedanke mich bei allen die mitgemacht haben. Für den Zusammenhalt in der Gruppe dem gegenseitigen motivieren beim Laufen und auch den netten Gesprächen nach dem Training. Ich freue mich schon wenn der nächste Termin steht und werde, wenn es mir möglich ist auf jeden Fall teilnehmen. Ich freue mich jetzt schon wie ein Schnitzel. 🙂

Umpf Rücken…

Kaum ist die Schnupfen und Grippewelle vorüber schon konnte ich mit dem Training beginnen. So weit so gut.

Am Dienstag ging es wieder 1,5 Stunden zum Fussball. Dieses mal motiviert und mit viel Einsatz bei der Sache brannte nach der Zeit die Oberschänkel und ich konnte zufrieden in mein Bett sacken.

Der Mittwoch war super. Kein Muskelkater aber immer noch fertig vom Fussball. Gegen Abend war alles in Ordnung ab 19:30Uhr packte mich der Elan und ich ging in meinen Keller. 30 Minuten intensive Crossfit Einheit mit Kettlebell Swings, Deadlifts und Co. Leider  ist mein Rücken noch nicht fit genug gewesen für die Übungen. Seit gestern Abend schmerzen die unteren Lendenwirbel wieder und somit wird es mich dann doch mal zum Arzt ziehen um zu sehen was genau nicht passt. Parallel dazu habe ich mir noch einen Gewichthebergürtel bestellt – natürlich per Amazon Prime – um schnellstmöglich wieder trainieren zu können.

Hoffen wir mal das alles gut geht und ich zum Samstag am Wolfsman Training teilhaben kann. Ich freu mich schon – auf die Kälte?! 😛

Nischenprodukt Phablet, Trendprodukt Tablet

Phablets

Der Trend zum Mix aus Tablet und Smarphone ist angelaufen. Ich gehe davon aus das es ein Nischenprodukt wird wenn es nicht bald die passenden Gadget dazu gibt. Zum einen ist ein Phablet nicht nur störend im Transport so ist es auch wirklich umständlich damit zu telefonieren. Oder sollte ich sagen, noch zu telefonieren?

Bei Apple wird auf eine Smartwatch getippt die ein Kommunikationsgadget zwischen Smartphone und Uhr sein soll. Ein Informationstool um nicht alle 10Minuten in seiner Hosentasche zu wühlen oder die Handtasche nach dem Smartphone zu durchforsten.

Auch andere Startups die auf Kickstarter finanziert wurden sind mittlerweile in Serienproduktion gegangen. z.b. Projekt Pebble. Eine Smartwatch die als Allround Gadget angeboten wird. Sie ist wasser- und kratzfest und wird per Bluetooth ans Smartphone gekoppelt.

Mit einer Smartwatch am Handgelenk und der Kombination zum Phablet wäre es ganz interessant ein leistungsstarkes Smartphone mit großem und hochauflösendem Display in  der Tasche zu tragen. Somit hätte ich nur ein Gerät am Mann zum lesen und kommunizieren und ein, nicht störendes Gadget am Handgelenk das die meisten ohnehin in analoger Form tragen.

Fazit meinerseits. Phablet, kann ein tolles Produkt werden und seine Nische finden wenn man die passenden Gadget dazu entwickelt und das Produkt nicht alleine sterben lässt. Ich würde dem ganzen noch 1-2 Generationen Zeit lassen bis passende Komponenten dafür entwickelt wurden und auch die Technik der 5-7 Zoll Geräte ausgereifter ist. Was bei mir zum größten Teil vor allem mit Akkulaufzeit und Gesamtgewicht zu tun hat.

 

Tablets

werden mehr und mehr zum Massenprodukt. Immer mehr löst das schlanke, meistens langlaufende Gerät den heimischen Desktop oder sogar schon das Notebook ab. Spielekonsolen werden immer nebensächlicher zugunsten der Gelegenheitsspiele die man auch auf dem Tablet tätigen kann und auch als Secondscreengerät wird das Tablet immer interessanter.

Social Communities scheren derzeit Unmengen Nutzer um sich. Egal ob es um Bewertungen von TV Shows geht oder um ChekIns zu Fernsehprogrammen. Kleine Apps wie waydoo oder getglue die ein Secondscreen Erlebnis Realtime publizieren. Egal zu welchem Ereignis oder welcher Sendung kann ich meine Meinung auf Waydoo kundtun und mit den Mitgliedern der Community kommunizieren. Das ganze zumeist Realtime auf der Couch während die Sendung läuft.

Der klassische Reader für Ebooks mit EInk Oberfläche wird sich zwar halten aber immer mehr Nutzer laden sich parallel auch auf ihr Tablet die Amazon App um ihre Bücher unterwegs zu genießen. Oder im Dunklen 😉

Nachrichten, Kochen, Suchen, Shoppen und vieles mehr ist doch einfach schöner auf dem Tablet zu erledigen als am heimischen Notebook. Ich bin schneller, benötige weniger Platz fürs Gerät und kann das Tablet in der Kochnische noch zwischen den Zutaten platzieren ohne das ich lästigen Papiermüll produziere. Ist das nicht toll? … Ich denke schon und ich denke auch das es immer mehr geben wird die über die neuen Generationen der Tablets mit ankoppelbarer Tastatur und Co. nutzen werden als Multimediaplattform und das alte Notebook im Schrank verstauen werden.

Fazit. Nicht mal mehr eine Generation und die Tablets erfüllen endlich einen Zweck. Mit vernünftigen Apps können sie sowohl Multimediaspielzeug als auch Arbeitsmittel sein. Nicht nur für den alltäglichen nebensächlichen Mist den man fabriziert sondern auch für den Studenten der Informationen in der Cloud teilt oder dem externen Mitarbeiter der auf Kundenbesuche ist und ein Gerät benötigt mit mehr als nur 2h Akkulaufzeit um sich Präsentationen oder Arbeitsmaterial zu durchschauen und sich somit auf diverse Termine vorbereiten kann.

Liferay Soap Service 6.1.0 – JournalArticle

Es ist doch ein Graus. Seit nunmehr zweit Tagen habe ich Ursachenforschung betrieben. Warum zum Teufel funktioniert das Sichern von JournalArticles nicht. Langsam bin ich der Versuchung nahe zuerst die Liferay Issues zu durchforsten bevor ich Fehler im eigenen Quellcode suche. Dabei war es doch so einfach. Wenn man einen vernünftigen Fehler zurück bekommen würde.

Jeder der schon mal LiferayServices angezapft hat wird auch die ein oder andere weiße an seine oder liferay’s Grenzen stoßen. Ich stieß bei den JournalArticle an eine liferay Grenze. Stetige Erweiterungen und neue Funktionen in liferay führen leider auch dazu das ab und zu ein paar Sachen vergessen werden. So auch die SOAP Services und deren Funktionalität. Zugegeben ist es schon ein spezieller Fall den ich da anspreche. Es solle aber dennoch ein Artikel wert sein diesen Fehler zu dokumentieren.

Es handelt sich hierbei um folgenden Fehler der entgegenzunehmenden Schnittstelle und betrifft folgendes Versionen

  • 6.1.0 CE GA1
  • 6.1.10 EE GA1
  • 6.2.0 CE M2
15:04:40,009 ERROR [JournalArticleServiceSoap:110] java.lang.NullPointerException
java.lang.NullPointerException
	at com.liferay.portlet.journal.util.JournalUtil.getUrlTitle(JournalUtil.java:807)
	at com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.getUniqueUrlTitle(JournalArticleLocalServiceImpl.java:2993)
	at com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.addArticle(JournalArticleLocalServiceImpl.java:231)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:112)
	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108)
	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
	at $Proxy206.addArticle(Unknown Source)
	at com.liferay.portlet.journal.service.impl.JournalArticleServiceImpl.addArticle(JournalArticleServiceImpl.java:92)
	at sun.reflect.GeneratedMethodAccessor277.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:112)
	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:108)
	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
	at $Proxy207.addArticle(Unknown Source)
	at com.liferay.portlet.journal.service.JournalArticleServiceUtil.addArticle(JournalArticleServiceUtil.java:90)
	at com.liferay.portlet.journal.service.http.JournalArticleServiceSoap.addArticle(JournalArticleServiceSoap.java:96)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
	at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
	at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
	at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
	at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
	at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
	at com.liferay.util.axis.AxisServlet.service(AxisServlet.java:122)
	at com.liferay.portal.servlet.AxisServlet.service(AxisServlet.java:97)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
	at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:289)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
	at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
	at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:158)
	at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216)
	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:55)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:71)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

Für alle die es noch nicht wissen. Der Bugfix ist durchgeführt worden. Und der Fehler sollte sich erledigt haben. Hierzu benötigt ihr aber mindestens eine der folgenden Versionen:

  • 6.1.20 EE GA2, –Sprint 11/12,
  • 6.2.0 CE M2

HTC One – Meine Meinung

HTC One – Technische Daten

HTC bietet eine neue Generation Handy auf. Vor allen anderen Herstellern will es einen Fullmetal Body auf den Markt schmeißen. Schon mal nicht verkehrt. Auch das Display soll dank kräftigen Unterstützern in der Filmproduktion ein besseres Bild liefern und vor allem Fotos mit der neuen Mega… ach nein HTC UltraPixel Kamera.

An sich finde ich das Gerät richtig hübsch und auch schöner als Geräte von Samsung und Co. Aber es gibt wieder massive Kritikpunkte die mich stören. Der Akku. Ich finde es schade das es HTC nicht schafft einen vernünftigen Akku im System unterzubringen und sich, wenn ich dazu komme und es testen kann evtl. einen Kunden verspielt. Im Liveticker den ich gerade auf TechStage verfolgt habe wurde das auch sehr häufig erwähnt das die Akkulaufzeiten von HTC Geräten nicht gerade die Besten sind. Das spiegelt auch meine Wahrnehmung dar. Somit ist für mich ein massives Entscheidungskriterium die Akkulaufzeit, denn ich benötige auf keinen Fall ein Gerät das ich alle 8h – 10h – so wie mein One x bisher – wieder ans Netz hängen darf.

Das andere sind die Updatezyklen des Geräteherstellers. Da es von Grund auf schon nicht möglich ist ein Pure Android zu bekommen muss man sich mit der Sense Oberfläche zufrieden geben. Zugegeben, ich finde sie ansprechend und gut gemacht aber leider sind die Zyklen für Android Updates teilweise sehr nach hinten versetzt. So bekommt man, falls man Glück hat das Update für ein Gerät das gerade mal ein Jahr alt ist noch und wenn man Pech hat und sich leider einer günstigeren Modellreihe entschieden hat eben kein Update. Ist mir mittlerweile schon mit dem Desire und Desire HD passiert das leider die Update nicht geliefert wurden obwohl sie im Plan von HTC standen aber laut technischer Schwierigkeiten entfernt wurden. hm… Big Fail, sorry das sind Kriterien die man sich nicht mehr leisten sollte. Nicht umsonst hat man Absatzprobleme.

Alles in allem soll das neue Spitzenmodell etwas über 600€ kosten. Was ein ganz schöner Batzen ist. Wenn Google im März seine neue Wunderwaffe ankündigt bin ich sehr gespannt wie entweder der Preis des Gerätes in den Keller geht oder die Stückzahlen die erwartet werden einfach nicht verkauft werden.

Mein Fazit, Sorry HTC aber wirklich innovativ ist es nicht. Ich habe bisher wirklich viele Smartphones genutzt und dafür Software entwickelt. Bin am Ende auch bei HTC geblieben weil beim Samsung Kies benötigt wurde und das für Mac nicht verfügbar war, Motorola keine Innovation mehr hatte und Huawai bis dato noch nicht auf meinem Radar stand. Jetzt dreht sich das Rad ein ganzes Stück weiter und viel Neues wird von Google erwartet. Ich werde mich auf jeden Fall weiter am Markt umsehen und bis Juni warten. Denn Gründe ein HTC One zu kaufen liefert mir HTC einfach nicht außreichend.

Bildet euch eure eigene Meinung. Hier noch das Bewertungsvideo von TechStage:

Meine Challenge

Die Fitnessbranche bringt mittlerweile fast täglich neue Methoden auf den Markt um sich schlank, fit und vital zu fühlen. Zwei neue Workouttypen sind mir die letzen Wochen massiv aufgefallen. Nicht nur im Bereich von Kettlebell und stanard Trainingsmethoden springen immer mehr Trainer auf eine Methode auf die sich Hiit nennt. Es ist eine Möglichkeit sich auszupowern in relativ kurzer Zeit. Bodyrock.tv z.B. heißt mittlerweile sogar DailyHiit

Auch im Bereich Kettlebell ist der Trend auf dieses Hochintensivtraining übergesprungen. Ich finde es super und habe es auch einige Zeit ausprobiert. Leider war ich die letzen zwei Wochen nicht wirklich dazu in der Lage mir einen passenden Trainingsplan auszuarbeiten. Ich will nämlich auch eine andere Methode bzw. eine ähnliche Methode probieren. Das ganze schmipft sich Crossfit. Geprägt wurde der Begriff von Rebook und ist wahrscheinlich sogar Markenrechtlich geschützt 😉 … Rebook hat weltweit Crossfit Zentren aufgebaut in denen man in Kursen oder mit einem Personal Trainer sich selbst herausfordern kann.

rogue-fitness

Eine ähnliche Trainingseinheit absolvieren die Jungs von Rogue Fitness. Ein Fitnessgerätehersteller die eigene Athleten haben und ihr Team zu sportlichen Höchstleistungen anspornen. Meiner Meinung nach getreu dem Motto: „Gemeinsam trainiert es sich besser als Einsam“ … Eiserner Wille und anscheinend wirklich effektive Trainingsmethoden. 

Meine Challenge

Für mich werden die nächsten Wochen eine sportliche Herausforderung werden. Wenn alles klappt will ich mit meinen Arbeitskollegen auf jeden Fall den Wolfsman bestreiten. Und nicht nur das. Ich würde auch gerne wieder unter die 90 Kilo kommen und ein optimales BMI machen. Dabei werden die kommenden Wochen wirklich hart werden. Drückt mir die Daumen.

 

Primefaces – web.xml korrekt Konfigurieren

Für Glassfish sind ein paar mehr Einstellungen notwendig um Primefaces Push zu aktivieren und auch korrekt laufen zu lassen.

Im Webprojekt muss die web.xml folgendermaßen erweitert werden:

 

   
    Push Servlet
    org.primefaces.push.PushServlet
    
      org.atmosphere.cpr.sessionSupport
      true
    
    
      org.atmosphere.cpr.broadcasterCacheClass
      org.atmosphere.cache.SessionBroadcasterCache
    
    
      org.atmosphere.cpr.broadcastFilterClasses
      org.atmosphere.client.TrackMessageSizeFilter
    
    
      org.atmosphere.cpr.WebSocketProcessor
      org.atmosphere.cpr.HttpServletRequestWebSocketProcessor
    
    
      org.atmosphere.disableOnStateEvent
      true
    
    
      org.atmosphere.useNative
      true
    
    
      org.atmosphere.useWebSocket
      true
    
    
      org.atmosphere.websocket.maxTextMessageSize
      0
    
    1
    true
  

 

Aktivieren von Comet in Glassfish

Primefaces bietet in der aktuellen Version ein PrimePush an. Leider scheint das ganze nur zu funktionieren wenn diverse Konfigurationen abgestimmt sind. Derzeit läuft es bei mir noch nicht ganz stabil aber ein paar Tipps kann ich gerne schon mal geben.

Es gibt die Möglichkeit Comet, eine Pushvariante im Glassfish bzw. für Pushservices per Parameter zu aktivieren. Aufpassen! Diese Möglichkeit der klassischen Parameter ist tödlich für den Glassfish. Leider wird damit die Antwortzeit ins unermessliche gesteigert und nur schwer ein Aufruf möglich.

Die sichere Variante ist aktivieren von Comet per Administratorconsole und zwar in den einzelenen http-listenern. Anbei ein Screenshot der das Ganze zeigt.

comet_aktivierung

Erster Schnee am Klausenlift

Pünktlich zum Wochenende startete die neue Ski Saison. Auf auf die faulen Leiber und ab auf die Piste. Mein Motto zum Wochenende. Samstag Morgen Skier für die Piste vorbereitet. Alles zusammen gepackt was einen auf der Piste warm hält.

Mehlmeisel. Ab auf den Klausenlift. Kurze zeit später, gegen 15:00Uhr war ich am Klausenlift. Ganz schön was los gewesen für den zweiten offenen Tag. Die erste Abfahrt war natürlich wieder etwas wackeliger als der Rest. Nach dem Motto: Was man einmal gelernt hat vergisst man so schnell nicht – gingen die restlichen 2Stunden rum wie nichts.

Die Piste war gut präpariert. Schneekanonen sorgten zusätzlich für einen gut zu befahrenden Untergrund.