Timeout für Jax-RPC WebService festlegen

Es gibt Fragen im Internet auf die es keine Antwort zu geben scheint es sei denn man stolpert glücklicherweise über selbige. Genau das ist mir heute passiert und damit es euch nicht ebenso geht, landet die Antwort natürlich direkt hier im Blog 🙂

Problem: Ihr wollt über JAX-RPC einen WebService aufrufen. Dieser ist nicht erreichbar und euer aufrufender Client dümpelt vor sich hin und arbeitet nicht weiter.

Ansatz: Man setzt einen Timeout den der aufrufende Client auf den WebService wartet.

Lösung: So unbekannt und doch so einfach:

HelloWorldServiceLocator hwsl = new HelloWorldServiceLocator();
HelloWorld hw = hwsl.getHelloWorld();
((Stub) hw).setTimeout(60000);
hw.sayHello();

Man ruft also den WebService über einen herkömmlichen WebService-Client auf (Dieser lässt sich in jeder guten IDE generieren) und castet das Service-Objekt auf ein Stub. Hier kann man nun einen Timeout in Millisekunden setzen. So einfach ist das!

Eine EJB aus einer Clientanwendung aufrufen

Enterprise Java Beans (EJB) sind für viele der Enterpriseanwendungsentwickler heutzutage nicht mehr wegzudenken. Wie es nun aber mal bei Java ist, kursieren im Internet 1000 Fragen auf eine Erklärung. Um die magere Quote von 1000:1 ein bisschen aufzuwerten möchte ich hier eine kurze Anleitung schreiben, wie man aus einer Client-Anwendung eine EJB auf einem Anwendungsserver auffindig macht um dann eine Methode daraus aufzurufen.

Schritt 1: Finde die Bohne und führe Methode aus

Eine EJB über das Java Naming and Directory Interface (JNDI) zu finden ist kein Hexenwerk. Das Aufrufen ist ebenso simpel. Bitte beachten, dass hier keine Exceptions gefangen werden!

public void callMyMethodFromEJB() {
Object object = null;
MyEJBHome ejbHome = null;
InitialContext ic = new InitialContext();
object = ic.lookup("/ejb/de/jofre/MyEJBHome");
ejbHome = (MyEJBHome) PortableRemoteObject.narrow(object, MyEJBHome.class);
MyEJBRemote ejbRemote = ejbHome.create();
ejbRemote.myMethod();
}

Continue reading “Eine EJB aus einer Clientanwendung aufrufen”

Android SDK installieren – JDK not found

Ich spiele gerade ein bisschen mit dem Android SDK rum und bin bei der Installation des SDKs auf einen witzigen Bug gestoßen. Installiert man das JDK (Java Development Kit) und dann das Android SDK kann es passieren, dass letzteres meckert, dass das JDK vorher installiert werden muss und dass der Installer sonst nicht weitermachen mag.

Lösung:

  1. Im Installer auf “Back” klicken wenn die Meldung angezeigt wird, dass das JDK nicht gefunden wird.
  2. Im Installer auf “Next” klicken. Voilà 🙂 So einfach ist das!

Das eigene Betriebssystem reloaded

Heute ist ein denkwürdiger Tag da ich bisher mein längstes aber dennoch längst nicht fertiges Tutorial veröffentlichen werde. Über 50 Seiten habe ich in den letzten Monaten zusammengeschrieben und zwar über das Thema “Wie baue ich mir mein eigenes Betriebssystem?”.

Nein es geht nicht darum sich ein OS mit Linuxkernel “zusammen zu klicken”. Wir fangen hier echt bei 0 an (Mit Ausnahme von GRUB). Ich hatte damals schon 1-2 Artikel veröffentlicht in denen ich ausschließlich mit Assembler gearbeitet habe. Dieses Tutorial konzentriert sich hauptsächlich auf die Sprache C und setzt nur genau dann auf Maschinencode wenn es nicht anders geht.

Leider hänge ich im Moment etwas an der virtuellen Speicherverwaltung (Paging, Heaps, Memory Allocation) und schreibe deswegen die nächste Zeit nicht weiter. Da ich euch die bisherige Arbeit nicht vorenthalten will biete ich sie heute als Beta-Version (0.3) zum Download an.

Das Tutorial ist in mehrere Schritt aufgeteilt. Jeder Schritt ist als Source Code Ordner in dem Zip-Paket enthalten, sodass ihr die Kapitel beliebig überspringen könnt.

Solltet ihr Gefallen an meinem Geschreibsel finden würde ich mich sehr über Feedback freuen 🙂 Und nun, viel Spaß beim Lesen.

Tutorial: WritingAnOs.zip

Video2Brain – Lernen in modern

Ich bin ja ein großer Fan von Youtube-Tutorials in denen einem von den Kunst Sushi zuzubereiten bis zum Bau eines Ubootes alles haarklein erklärt wird.

Allerdings gibt’s diese Tutorials auch in professionell, guter Qualität und zu vielen verschiedenen Themen (die sich dann aber doch alle auf die Arbeit am PC oder an der Kamera beschränken). Diese nennen sich dann Video2Brain und werden unter der selbigen eingetragenen Marke vertrieben.

Da ich ja wie viele andere zwischendurch an Langerweile leide habe ich mir mal einen Ruck gegeben und mir ein V2B über Java EE 6 gekauft. Das ganze kostet um die 50€ ABER es gibt durchaus Gründe die dafür sprechen das Geld auszugeben:

  • Man bekommt ~7 Stunden Video in dem einem die neuste Technologie von einem Zertifizierten Spezialisten erklärt wird.
  • Ein gleichwertiges Buch kostet genau so viel.
  • Eine gleichwertige Schulung kostet 20x mal so viel.
  • Man kann sich die Erklärung immer und immer wieder anhören und anschauen.
  • Last but not least: Man bekommt einige Kapitel anderer V2Bs umsonst dazu.

Nach den ersten 3 Stunden bin ich recht begeistert von der Präsentation und dem Inhalt. Wo man im Internet vertstreutes Halbwissen findet findet man im Video2Brain die Inhalte strukturiert vor und vorallem mit Erklärung warum sich welche Komponente so und so verhält. Das war mit Sicherheit nicht das letzte V2B das ich mir gekauft hab. Ich bin schon gespannt auf das erste Video über Android 3 🙂

Edit: Letztens bin ich über einen Kollegen auf ein sehr interessantes Video gestoßen in dem der mitlerweile doch recht bekannte Omnisoph Gunter Dueck unsere steinzeitlichen Lernmethoden anprangert und nach digitaler Unterstützung in der Schule und zuhause schreit. In meinen Augen sind qualitätsgeprüfte Videotutorials ein guter Schritt in die richtige Richtung.

[Gamestudio] WorldsEnd – Erstes Demo Video

Die meisten von euch kennen das Video bestimmt schon aus dem Gamestudio-Forum oder aus Facebook aber ich wollte es der Vollständigkeit halber nochmal hier posten.

Das ganze ist mit Lite-C und Gamestudio 8 gebaut. Verwendet werden Mystymood, Firoballs XML Headers und Modelle von Arterial3D.

Wenn das Level komplett designed ist, Sounds eingebunden sind, 3-4 Quests fertig sind und ein kleines Intro steht, dann werde ich mal eine spielbare Demo veröffentlichen. Also so in 1-2 Jahren 😉 Anyway, viel Spaß beim Gucken!

TLC5940 und das Arduino Mega

Seit einigen Wochen besitze ich ein Arduino Mega. Bei einem Arduino handelt es sich um ein Microcontroller Board das man ganz easy über USB mit Software versehen und steuern kann. Auf youtube gibt es 1000 Beispiele für die Verwendung des Bords:

Solar Detector – http://www.youtube.com/watch?v=ATnnMFO60y8

IPhone controlled tank – http://www.youtube.com/watch?v=RmLU4GS7zAI

Arduino Laser Project – http://www.youtube.com/watch?v=w5KdqRwMd1s

LED Cube – http://www.youtube.com/watch?v=iN8Cd0IH5D0

Continue reading “TLC5940 und das Arduino Mega”

IBM WebSphere Collector Tool unter Windows verwenden

Mal ein ganz anderes Thema, aber da man über das Tool wenig über Google findet dachte ich mir, dass ich mal ein kurzes Tutorial schreiben könnte.

Was ist das CollectorTool?
Das CollectorTool sammelt sämtliche Log-, Property- und Konfigurationsdateien die auf einem WebSphere Application Server (WAS) liegen. Dabei können die Dateigruppen auch spezifisch für einzelne Profile abgegriffen werden. Meistens dient das Sammeln dieser Daten dazu um den Support zu kontaktieren.

Vorgehen
Da das CollectorTool welches als “Collector.bat” vorliegt nicht einfach so in dem Verzeichnis ausgeführt werden darf in dem es liegt, bietet es sich an, einen eigenen Ordner dafür zu erstellen und es darin (mit Adminrechten) auszuführen.

  1. Löscht alle Traces und Logs die ihr nicht mehr braucht.
  2. Erstelle Order “C:collector”
  3. Erstelle Datei “collectIt.bat” in diesem Order und kopiere den Pfad zu “Collector.bat” hinein, meistens sowas wie:Inhalt
    C:ProgrammeIBMSDPruntimesbase_v7profilesprofile1bincollector.bat
  4. Speichert die Datei und öffnet eine Konsole über “Start->Ausführen->cmd” Wichtig: Als Admin ausführen, sonst habt ihr evtl keine Schreibrechte!
  5. Wechselt nun in das Verzeichnis “C:collector” und führt “collectIt.bat” aus.
  6. Nun sollte das Tool durchlaufen und euch unter “C:collector” eine JAR Datei erstellen. Diese enthält alle nötigen Infos.

Das war’s auch schon!

[Gamestudio] Einfaches Dialog System

In den letzten Tagen ist für mein aktuelles Spiel ein kleines Dialogsystem entstanden, das ich natürlich auch wieder frei zur Verfügung stellen möchte, gerade weil es für Lite-C immernoch keine vernünftige Lösung für Dialoge gibt. Das ganze ist in selbiger Sprache geschrieben und leicht erweiterbar.

Hier gehts zu den nötigen Files: DOWNLOAD ([downloadcounter(DialogSystem.zip)]x heruntergeladen)

Have fun 🙂