Tomcat - Applications(Context) bekommen

Status
Nicht offen für weitere Antworten.

thE_29

Top Contributor
Ahoi!

Weiß jemand wie ich beim Tomcat (also wenn der läuft) auf andere Applications, bzw. deren ApplicationsContext zugreifen kann?

Habe 2 Anwendungen die untereinander kommunizieren sollen. Solange die auf getrennten Maschinen sind, funktioniert auch alles Tip Top!
Aber sobald die auf der gleichen Maschine sind bzw. Instanz, kriege ich ne Exception weil er zum Kommunizieren immer den gleichen Port belegt.

Also kann man da irgendwie drauf zugreifen?

mfg
 

Noctarius

Top Contributor
Sobald man sowas hat sollte man sich überlegen ob man nicht auf eine Enterprise Service Bus Archtiektur umsteigen mag
 

gex

Bekanntes Mitglied
Hehe, jep das isch schon so, hab die Sinnhaftigkeit nicht hinterfragen wollen.

Ob's dann gleich ein ESB sein muss sei mal dahingestellt - JMS dürfte bspw. für Vieles genügen.
 

Noctarius

Top Contributor
Nen vollständiger ESB muss es ja nicht sein. Wir arbeiten immer mit einem Apache ServiceMix 4 Kernel. Der hat das absolute Minimum dabei und alles Andere lässt sich relativ easy über nen feature installer direkt in der Konsole nachinstallieren. Das ist imho schneller, einfacher und fehlerunanfälliger als nen Tomcat selbst mit JMS aufzuwerten. Zusätrzlich bekommt man bei ASM 4 direkt OSGi frei Haus mitgeliefert :)
 

gex

Bekanntes Mitglied
Hab ich noch nie eingesetzt (bzw. können ;) ), sieht aber auch interessant aus. Ich denke es kommt dann halt darauf an, was man mit nem ESB macht, vielerorts wird dann ein riesiger Monolith hingestellt, und dann stolz verkündet: Wir haben auch einen ESB ;-)

Ich denke es kommt auch auf das vorhandene Know-How an, wenn gewisses Knowledge über JMS vorhanden ist, und die Zeit drängt und kein Bedarf für etwas umfangereicheres besteht, so lohnt es sich dabei zu bleiben.

Ist auf alle Fälle von Fall zu Fall zu entscheiden, wie bei allem, aber Cross Context würde ich auch nicht produktiv einsetzen (der Betrieb hat meist nicht so Freude an solchen Dingen...)
 

Noctarius

Top Contributor
Der Apache ServiceMix 4 Kernel hat das Bus Bundle selbst noch garnicht dabei, das muss man erst nachinstallieren :D Ich benutz anstatt des Busses immer JMS oder alternativ benutzen wir in der Firma intern nur CXF.
 

thE_29

Top Contributor
Najo, wir nutzen noch XFire (Vorgänger von CXF) und halt Tomcat!

Normalerweise laufen diese 2 WebApps auf 2 verschiedenen Servern, da sie sehr rechenlastig sind. Haben halt extremst viele DB Zugriffe, etc...
Bei uns zB läuft es auf einen 2x4Core mit 8GB RAM und selbst da in 2 VMWares (die halt die Resourcen aufgeteilt haben).

Aber ein Kunde will natürlich jetzt nur einen Tomcat Server haben und da kam eben dieser Fehler. Ich werde mal den XFire Source durchgucken wie er den den Port zum Lauschen aufmacht und das ggf. anpassen, da selbst mir das mit dem Context nicht so gefällt.
Ansonsten probiere ich mal das und wenn der Kunde dass dann wirklich auf einer Maschine fix haben will, gucke ich mir mal das von dir an.
Hast du da wo ne Doku zum Aufsetzen, konfigurieren und in welcher IDE kann ich da das am besten Testen?
 

Noctarius

Top Contributor
Findest du alles auf der Projektseite. Ansich alles sehr gut erklärt, bei Fragen scheu dich nicht, ich bin noch ein paar Minuten hier ;)
 

thE_29

Top Contributor
So, habe jetzt mal auf CXF und Spring 2.5.5 umgestellt!

Soweit sogut, nur jetzt können die Flex Leute damit nicht mehr arbeiten. In der WSDL vom WebService ist zwar der Service + Methoden genauso noch erklärt wie früher, aber zB Klassen werden nicht mehr "erklärt".

Er nutzt zwar Klassen, aber die sind nie wo in einer WSDL definiert. Muss ich da selbst noch was machen oder warum wird das nicht automatisch gemacht?
 

Noctarius

Top Contributor
Was meinst du mit Klassen? dein WSDL wird unter einer bestimmten URL zur Verfügung gestellt, genau wie der WebService
 

thE_29

Top Contributor
Naja, mein WSDL steht ja auch unter der URL zur Verfügung.

In der WSDL werden ja die Methodennamen und Klassen schön aufgelistet um diese zurückzubauen. Problem ist nun aber, dass die neue Version mir die Klassen (nenn sie halt Beans) nicht mehr aufgelistet werden.

Also der WebService an sich selbst ist schön in der WSDL erklärt. Also Methoden + Parameter + Rückgabe, etc..
Aber wenn ich zB bei einer Methode eine Klasse ABC erwarte, so war früher ABC am Anfang von der WSDL erklärt/beschrieben worden (also der Aufbau, Datentypen, etc..).
Das fehlt nun komplett. Ich habe nur den WebService und halt die Methoden, aber es werden keine eigenen Klassen mehr "erklärt".
 

Noctarius

Top Contributor
Das ist ja auch nicht zwangsläufig der Wunsch eines WebServices. Ein WebService ist in erster Linie Sprachenunabhängig. Sieh es als eine reine RemoteInvoncation Lösung, wie du die Daten auf beiden Seiten speicherst ist deine Sache.

Wenn Ihr das bisher so gemacht habt, dann mag das ganz nett sein aber normal macht man das nicht so :D
 

thE_29

Top Contributor
Naja, das war bis jetzt auch Sprachenunabghängig!

Jede Klasse kann nachgebaut werden, da jede Klasse früher oder später auf primitive Datentypen aufbaut!

Und laut WSDL Spec geht das auch so. Die Klasse wurde in der WSDL vom WebService am Anfang erklärt. Also deren Aufbau.

Weil die andere Schnittstelle kann ja mit int, string, float, etc.. umgehen (sonst könntest ja gar keine Methoden mit Paramtern aufrufen).
Und der Teil fehlt eben. Es werden die Klassen die drinnen verwendet werden (nenn sie Beans oder Managed beans) einfach nirgends mehr erklärt.
Dadurch kann natürlich die Endschnittstelle (bei uns Adobe Flex) natürlich mit der Klasse nix anfangen, weil der das ja nicht kennt...

Achja, das Backend war bis jetzt Java, C++ und Adobe Flex. Also konnten 2 verschiedene Sprachen mit der WSDL was anfangen (und da ja nicht ICH sondern das Framework die WSDL generiert/bereitstellt, haben wir da sicher nicht was eigenes gemacht gehabt).


Kleines Bsp
WebService Methode: Vector<String> listNames(); würde funktionieren
So, jetzt will der aber String + noch was, also mache ich ne Klasse die intern einen String + int hat!
Dann sieht das so aus: Vector<MyClass> listNames();

Mit XFire wurde in der WSDL jetzt MyClass aufgelistet und die Parameter der Klasse (String name, int id) beschrieben.
Dadurch konnten die anderen Endpunkte damit was anfangen. Und genau das fehlt mir jetzt :(
Er schreibt zwar in der WSDL Vector<MyClass> listNames() hin, aber dann regt sich Flex auf, dass der NameSpace MyClass nicht wirklich gefunden werden kann :(
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Hm kann man bestimmt irgendwo einstellen, haben wir noch nie benutzt, da wir keine eigenen Datentypen benutzen die sich nicht direkt in XML abbilden lassen.
Ansonsten gibt es auch XML Schemata die genau solche Dinge beschreiben.
 

thE_29

Top Contributor
Naja, eine Klasse lässt sich ja auch in XML abbilden. Früher oder später ist alles eine Zahl oder ein Buchstabe (was auch ne Zahl ist).

Die Frage ist halt, wo ich das einstellen kann, dass er mir die Klassennamespaces auch in der WSDL deployed..
 

thE_29

Top Contributor
Ahaaaaa :)
Das hat sich dort rein versteckt. Najo, hatten doch schon was relativ altes im Einsatz und anscheinend, haben die Adobe Flex Leute einen eigenen Parser gehabt.
Naja, jetzt habe ich keine Schuld mehr. Werde die Kollegen mal damit beauftragen :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
ruutaiokwu Servlet Tomcat Versionsproblem? Web Tier 4
I JSF JSF, Tomcat, Server Faces und maven Web Tier 3
feinperligekohlensaeure JSF JSF + Tomcat 9 | HTTP Status 404 |(com.sun.faces.config.ConfigureListener?) Web Tier 1
R Tomcat - java.lang.OutOfMemoryError: PermGen space Web Tier 0
puba mit JDev entwickelter WS auf Tomcat deployen Web Tier 2
R JSF Tomcat 7 & JSF - UnsupportedOperationException Web Tier 1
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
S Tomcat 8.0.9 logging Web Tier 0
S Servlet Tomcat 8.0.9 logging Web Tier 13
D JSP Anfängerfrage - Ändern von JSP / Tomcat Web Tier 4
R Tomcat 7 und SSL Web Tier 3
J JSP Web Applikation auf virtuellem Tomcat Server Web Tier 1
T JSF in Eclipse mit Tomcat Web Tier 0
S JSF Tomcat in Eclipse einbinden (JSF) Web Tier 0
G Magnolia CMS - jedes mal Tomcat restart Web Tier 7
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
M tomcat anwendungsabhängige konfigdateien Web Tier 6
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
C Tomcat wirft keine ViewExpiredException Web Tier 8
C Tomcat + Eclipselink = NotSerializable Exception? Web Tier 2
M JSP Problem beim deployen auf Tomcat Web Tier 2
A Servlet File Upload funktioniert nur lokal auf Entwicklungsrechner, nicht in Tomcat Web Tier 5
T Tomcat mit Servlets Problem Web Tier 7
B JSF JSF1.1 @Tomcat 5.5 für ein neues Projekt Web Tier 18
P JSF Umgebungsvariablen bei Tomcat-Start setzen Web Tier 4
D Tomcat/Struts2 Benutzer bestimmt Name der URL Web Tier 2
T Tomcat: Packete dynamisch auslesen und Klassen erzeugen Web Tier 3
S Servlet Problem mit Tomcat Web Tier 3
M Classpath für JPA in Tomcat Webapp: Wie konfigurieren? Web Tier 4
reibi Tomcat : Änderbare Config-Files Web Tier 5
reibi Servlet Tomcat : Display name und version setzen Web Tier 3
JCODA Tomcat ohne Fenster starten Web Tier 5
P Eclipse zeigt Errors an, die auf Tomcat nicht auftreten Web Tier 2
B Tomcat 6 ergibt Fehler - java.net.SocketException Web Tier 2
L Services in Tomcat einbinden? Web Tier 2
B JSF Tomcat Windows Linux equals Problem Web Tier 3
N JSP org.apache.tomcat cannot be resolved to a type InstanceManager cannot be resolved to a type Web Tier 4
S Tomcat 7, Struts, JPA baut keine Verbindung auf Web Tier 13
M Geschwindigkeit von Tomcat / JavaWebanwendungen Web Tier 3
D Probleme mit Tomcat Web Tier 3
M Tomcat 6 Umlaut Probleme Web Tier 2
F No Factories configured for this Application - Myfaces mit Tomcat Web Tier 1
T jsf Tobago in Tomcat classpath aufnehmen Web Tier 2
A Beispiel wirft Fehler. JSF 2.0 / Tomcat / Eclipse Web Tier 2
J Tomcat-Server mit JSF auf Eclipse einrichten Web Tier 7
F umzug von tomcat 4 auf tomcat 6 Web Tier 2
J tomcat webapp restarten Web Tier 2
ruutaiokwu tomcat autodeploy Web Tier 7
I Tomcat aktualisiert CSS - Datei nur ab und zu Web Tier 4
T Tomcat-Projektverzeichnis Web Tier 13
E JSF Applikation läuft nicht über Tomcat Web Tier 3
F JApplet in Tomcat-Umgebung funktioniert mal wieder nicht ... Web Tier 8
T Tomcat, JSP, UTF-8 und URL-Codierung Web Tier 4
A Hat Tomcat einen Cache? Web Tier 5
S Tomcat Heap Memory erhoehen..? Web Tier 4
I Rich Faces nur mit JBoss oder auch Tomcat? Web Tier 7
S Tomcat / Eclipse Probleme Web Tier 2
T Tomcat Projekt ohne Eclipse starten Web Tier 11
A Tomcat - JSP läuft nicht Web Tier 2
reibi access.log in Tomcat ... ist das möglich? Web Tier 2
R Fehler 1053 beim Beenden von Tomcat Web Tier 25
A Tomcat - JSP ausführen Web Tier 8
M Tomcat - Mehrere Verzeichnisse für die jsp Web Tier 12
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
T Hibernate, Debuggingparameter Tomcat Web Tier 3
A JDBC in Tomcat einbinden Web Tier 3
P Tomcat funktioniert nicht so wie er sollte Web Tier 11
C Tomcat total memory Web Tier 11
C Apache-Tomcat Web Tier 13
F ssl, tomcat und jsp anwendungen Web Tier 5
G Tomcat 4.1 Experimente 8) Web Tier 3
S Tomcat JSP context.xml - Standartpfad einstellen Web Tier 3
J Fehler Tomcat/JSP findet Methode nich Web Tier 3
jann Tomcat und Kompression Web Tier 9
Q tomcat konfiguration - rewrite Web Tier 3
A TomCat will nicht - Wieso? Web Tier 5
Q Auth. per Tomcat Web Tier 4
O kurze Frage zur Tomcat Installation Web Tier 2
G Probleme mit Tomcat Web Tier 14
G Tomcat findet angeblich die Datei nicht. Web Tier 8
J Tomcat - web.xml und package . Web Tier 4
L JSP Tomcat Login Web Tier 6
G SCHWERWIEGEND: NullPointerException bei Tomcat Web Tier 4
U Java Application auf Tomcat Web Tier 5
Y JSF - Exception bei Tomcat Start Web Tier 4
O Source-Code vom Tomcat kompilieren lassen Web Tier 6
M Dateien zwischen Web-Applications austauschen Web Tier 3
G JSF JSF 2.3 Converter injection/persistence context -> null Web Tier 2
snatkoeln Mehrere Dyn. Web Projekte im gleichem Context Root Web Tier 0
R com.sun.faces.context.SessionMap.put(key, value) Web Tier 2
M Einbindung der context.xml Web Tier 3
A Faces Context nicht mehr erreichbar nach Servlet Aufruf Web Tier 1
L Velocity Context Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben