Announcement

Collapse
No announcement yet.

Zugriff auf externe Sourcen via Tomcat?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriff auf externe Sourcen via Tomcat?

    Hallo zusammen,

    ich habe eine kurze Frage und ich hoffe, dass hier jemand eine Antwort weiss:

    Ich bastel gerade an einem Webfrontend, das den Zustand eines in Java implementierten Systems darstellen soll. Das Frontend läuft in einem Tomcat-Server und das System unabhängig davon. Um nun mit der Webapp auf die Schnittstellen zum System zugreifen zu können, muss ich dem Tomcat irgendwie sagen, wo er die class-Files des Systems finden kann. Wie oder wo stelle ich es also an, dass ich ein Tomcat-fremdes class-Verzeichnis für den Tomcat *sichtbar* mache?

    Danke schon mal im voraus

    JSP-Ritter

  • #2
    <p>Hallo,</p>
    <p>Wenn ich Dich richtig verstehe, läuft das System in einer eigenen, d. h. vom <i>Tomcat</i> unabhängigen JVM. Wenn dem so ist, so haben Web-Applikationen im Tomcat keinen direkten Zugriff auf die fremde Applikation.</p>
    <p>Selbst wenn Du die Klassen verfügbar machst, kannst Du immer noch nicht auf statische Variablen etc. der fremden Anwendung zugreifen.</p>
    <p>In einem solchen Szenario muss man andere Kommunikationswege einschlagen, z. B. RMI oder Web Services, CORBA, Socket Kommunikation oder File-Transfer.</p>
    <p>Wenn aber beide Applikationen in derselben JVM laufen, dann kann man z. B. folgendes machen:<p>
    <ol>
    <li> Die Klassendateien im <i>Classpath</i> des Tomcat angeben</i>
    <li> oder in das WEB-INF/lib Verzeichnis Deiner Web-Applikation kopieren</li>
    <li> oder in das Verzeichnis $CATALINA_HOME/common/lib bzw. $CATALINA_HOME/common/classes kopieren</li>
    </ol>
    <p>Ich hoffe, das hilft Dir!</p>
    <p>Gruß, Jörg</p&gt

    Comment


    • #3
      Hi Jörg,

      danke für die rasche antwort. Es ist für die Zukunft so geplant, dass das System auf einer anderen JVM laufen soll, dann werde auch auch nicht mehr um RMI-Technologien rum kommen. Aber bisher teilen sich beide eine JVM und das System läuft im shared-Verzeichnis des Tomcat.

      Deinen Lösungsvorschlag 1 "Die Klassendateien im Classpath des Tomcat angeben" finde ich interessant. Wo kann ich denn sowas einstellen?

      grüße

      JSP-Ritte

      Comment


      • #4
        <p>Hallo,</p>
        <p>
        Entweder setzt Du den System-weiten Klassenpfad (also die Umgebungsvariable $CLASSPATH) oder Du passt die Datei <i>catalina.sh</i> (bzw. <i>catalina.bat</i>) im <i>bin</i>-Verzeichnis des Tomcat an. Man muss nur aufpassen, dass sich in diesem externen Verzeichnis nicht irgendwelche Bibliotheken befinden, die auch vom Tomcat verwendet werden. Sonst kann es u. U. zu Versionskonflikten kommen.
        </p>
        <p>Ich persönlich bevorzuge allerdings die Variante, bei der man die Klassendateien bzw. JAR-Bibliotheken in das <i>WEB-INF/lib</i> Verzeichnis kopiert. Dann kann man relativ einfach ein WAR-Archiv generieren und die Web-Applikation einfacher auf anderen Server installieren.
        </p>
        <p>Ich hoffe, dass mein Tip bei Dir funktioniert!</p>
        <p>Gruß, Jörg</p&gt

        Comment


        • #5
          Hi Jörg,

          alles klar, so funzt das auch

          Das mit dem WAR-Archiv generieren hatte ich noch gar nicht bedacht. Dann macht natürlich doch ein Belassen der Sourcen im Webapp-Verzeichnis Sinn. Mal gucken.. wer die Wahl hat

          Danke

          JSP-Ritte

          Comment

          Working...
          X