Ist es möglich, eine Java-EE-Anwendung (IST-Datei) in einem anderen einschließen / einbinden?

StackOverflow https://stackoverflow.com/questions/178554

  •  05-07-2019
  •  | 
  •  

Frage

Ich habe eine Anwendung, die eine Portalanwendung ist, und ich mag andere Benutzer ermöglichen, ihre Anwendungen hinzufügen. Um dies zu tun, muss ich einen Weg, um ihre Anwendungen in der Mine zuzugreifen. Ist das möglich?

War es hilfreich?

Lösung

Sie können nicht WARs innerhalb anderer WARs setzen. Sie benötigen eine EAR-Datei WARs zu enthalten, EJBs usw. Eine Möglichkeit, Zwischenkriegs Kommunikation zu implementieren, wird diese Logik direkt in der EAR zu verpacken. Es hängt alles davon ab, was Sie versuchen zu tun.

Andere Tipps

die Art und Weise inter .WAR Kommunikation zu tun ist durch das Verfahren http: / /java.sun.com/j2ee/1.4/docs/api/javax/servlet/ServletContext.html#getContext(java.lang.String)

ServletContext.getContext (URIOfOtherWAR_resource)

Ich habe diese erfolgreich verwendet zu tun, was Sie reden.

Vielleicht benötigen Sie ein Plugin-System oder Portlet, so dass Ihre Benutzer nicht einen Krieg Anwendung entwickeln, sondern umfassen ihre Portlet in Ihrer Anwendung (Krieg). Es gibt einen Standard: JSR 168 und mehrere Implementierungen: http://developers.sun.com/portalserver/reference/techart/jsr168/

Wie andere haben darauf hingewiesen, ist WARs innerhalb WARs Einbettung keine Option. Allerdings kann ich eine Lösung für Sie haben.

Die meist Web-Container Ich bin vertraut mit einer „Testbereitstellung / Auto Deploy“ -Modus / Fähigkeit, wo sie eine Anwendung automatisch bereitstellen, wenn der Krieg in das richtige Verzeichnis kopiert wird.

Ihre Portalanwendung könnte sicherlich das Hochladen WARs erlauben, und es könnte den hochgeladenen Bytes in einem bestimmten Verzeichnis unter einem bestimmten Dateinamen zu speichern. Ihre Web-Container könnten den Rest. Sie könnten dann von Ihrem Portal der neuen Anwendung verknüpfen, oder was auch immer. All dies ist relativ einfach zu tun.

Allerdings wird darauf hingewiesen, dass dies eine schreckliche Idee ist, was auch immer, wenn es irgendein Sicherheitsproblem. Ermöglichen Sie es im Wesentlichen die Benutzer beliebigen Code auf dem Server auszuführen. Es sei denn, Sie vollständig alle potentiellen Anwender vertrauen sowohl nicht-bösartige und perfekt kompetent zu sein (man denke Endlosschleifen), sind Sie hier für eine Menge Ärger zu fragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top