ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
1053
1053
EMPFEHLEN
-
Hallo Leute,
ich versuche gerade eine JMS Verbindung über Android aufzubauen und bin über die Forensuche auf dieses HelloWorld-Tutorial gestoßen:
http://nareshyadav.blogspot.com/2009...llo-world.html
Ich habe den Code bisher in ein kleines Testprojekt gebastelt. Leider fehlt mir bei Android die javax.naming.* Library und ich bekomme folgenden Fehler:
"The type javax.naming.Referenceable cannot be resolved. It is indirectly referenced from required .class files" (bei QueueSender sender = session.createSender(queue); )
Ich habe nun schon versucht die fehlende Library (jndi.jar) einzubinden. Doch dann kommt leider der Fehler "Conversion to Dalvik format failed with error 1" - Google sagt mir, dass die Android Library sich mit der Java Core Library verhakt.
Das Ganze soll auf eine einfach Nachricht an einen openMQ hinauslaufen. Sitze jetzt schon gut 2 Tage daran, kriegs aber nicht hin.
Es reicht vermutlich auch, das javax.naming Package aus der Library zu exportieren um diese dann einzubinden. Habe mich auch schon an folgendem Tutorial versucht, kriegs aber leider nicht hin:
http://code.google.com/p/dalvik/wiki/JavaxPackages
Könnt ihr mir da helfen?
Danke und Gruß, flO
-
Hi,
ist ein interessantes Thema, aber ich schätze, das geht so einfach nicht, selbst wenn du die jars eingebunden bekommst.
Vielleicht hilft dir das weiter: http://www.softwired-inc.com/company/wjms.html
Grüße
Peter
-
Hm ja, die kommerzielle Lösung hatte ich auch schon ergoogelt, die haben auch reichlich die Foren mit ihrer Werbung zugestreut.
Da das ganze für meine Abschlussarbeit für die Uni ist, werd ich da kaum Geld investieren wollen/dürfen.
Warum denkst du, dass es mit dem einbinden der jars nicht funktionieren wird. Woran wird es hängen? Das Tut beschreibt wie es gehen soll:
http://code.google.com/p/dalvik/wiki/JavaxPackages
allerdings hänge ich an dem Punkt, an dem ich die Properties setzen muss, ich weiß nicht so recht was ich da in meinen Fall setzen muss?
-
21.12.10 21:18 #4
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
ich würde hier einfach einen Proxy dazwischen schalten. Deine Android App sendet eine Anfrage an den Proxy der wiederum eine JMS Nachricht an das gewünschte Ziel verfasst.
Deine Android app könnte mit dem Proxy beispielsweise über ein HTTP- / Rest interface oder direkt über Sockets kommunizieren.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
wie könnte ich so einen Proxy dann umsetzen? Wird dieser in Java geschrieben?
Hast du zufällig ein Tutorial dazu parat?
Danke dir!
-
22.12.10 09:44 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
eine einfache Variante:
Der Proxy als Java-Servlet das im Tomcat in einer kleinen Webapp läuft.
Der Android Client kommuniziert mit dem Servlet über HTTP. Das Servlet analysiert validiert den Request
und erstellt eine entsprechende JMS Message und sendet diese an die gewünschte Destination (dein JMS Ziel).
Wenn du noch eine Rückantwort brauchst kannst du das entweder direkt im Servlet tun... sprich du machst den
JMS Call in deiner doGet/doPost Methode und wartest synchron (mit einem Timeout) auf die JMS-Antwort. (1)
Die JMS Antwort verarbeitest du dann und schickst diese in umgewandelter Form (als Plain-Text, JSON oder XML)
mit dem HTTPResponse Body an deinen Android Client zurück.
(1) siehe auch :http://www.tutorials.de/enterprise-j...t-jbossmq.html
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Hi,
wie siehts denn mit XMPP aus, das ist soweit ich weiß ja in Android enthalten, und für ActiveMQ(openMQ kenn ich nicht) gibt es eine JMS/XMPP-Bridge.
Grüße
Peter
-
Hallo Thomas,
besten Dank für deinen Lösungsansatz, ich weiß nicht, ob die Lösung für mein kleines Programm nicht schon ein bisschen zu überladen ist. Ich habe noch nicht so viel mit Java (mit Servlets noch gar nichts) gemacht und werde da auch noch ne Menge Zeit investieren müssen.
@Peter
bei openMQ gibt es ein Beispiel für eine JMS Bridge, allerdings verbindet diese zwei MQ Broker miteinander:
"A JMS Bridge Example that Bridges Two MQ Brokers
------------------------------------------------
This example bridges a MQ broker running on localhost:7676 to another
MQ broker running on localhost:7677. It has 1 transacted link: ..."
Für was ist eine solche JMS Bridge denn vorgesehen?
-
Hi,
Kann ich dir nicht sagen, ich kenne openMQ nicht. Muss es denn unbedingt openMQ sein?Für was ist eine solche JMS Bridge denn vorgesehen?
Grüße
Peter
-
22.12.10 13:18 #10
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
OpenMQ hat scheinbar auch selbst schon ein REST orientiertes HTTP-Interface:
http://www.adam-bien.com/roller/abie...s_ajax_java_ee
http://mq.java.net/4.3-content/ums/examples/README.html
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Hi Thomas,
danke für die Hilfe. Sorry, das ich schon wieder nachfragen muss. Habe noch nicht wirklich Erfahrung damit.
Wie funktioniert das mit dem UMS genau? Muss ich diesen auf einen Webserver installieren oder ist das nur ein Skript, der die HTTP Requests dann an meinen openMQ Server weiterleitet?
Danke dir und Gruß, Florian
edit:
@Peter
ja, ich müsste das auf jeden Fall über openMQ realisieren, das ist vom Projekt meiner Uni so vorgegeben worden.Geändert von prophi (22.12.10 um 14:17 Uhr)
-
Das ist doch perfekt!
Das hab ich auf die Schnelle noch für die Clientseite gefunden ..
Grüße
Peter
Ähnliche Themen
-
javax.naming.NameNotFoundException: jdbc not bound
Von Oliver Gierke im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 03.04.09, 13:45 -
Exception javax.naming.CommunicationException
Von ChantalM im Forum JavaAntworten: 13Letzter Beitrag: 03.12.08, 15:00 -
javax.naming.NoInitialContextException
Von dodi2 im Forum JavaAntworten: 1Letzter Beitrag: 19.02.08, 15:06 -
ERROR: javax.naming.CommunicationException
Von turbowiesel im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 14.11.06, 14:52 -
javax.naming.NoInitialContextException
Von lernen.2007 im Forum JavaAntworten: 11Letzter Beitrag: 01.06.06, 13:56





Zitieren

Login





