2016-05-05 8 views

Antwort

0

Es wird dringend empfohlen, dass wenn Sie Service.xml erstellen, mindestens eine Entität vorhanden sein sollte. Ansonsten muss diese Konfiguration nicht hinzugefügt werden.

+1

Diese Antwort ist * fast * korrekt. Nur die Eröffnung "Nein" ist falsch. Sie benötigen eine Entität, benötigen jedoch keine Persistenz. –

2

Ja, und es ist ganz einfach. Während Sie noch eine Entität benötigen (die den Namen für Ihren Service bereitstellt), können Sie diese Entitätsdefinition leer lassen.

Dies erstellt den Dienst (lokal oder remote, wie in der Entität konfiguriert), aber kein Modell, keine Persistenz und keine Datenbanktabelle.

Eine der Situationen, in denen dies wirklich nützlich ist, ist, wenn Sie eine andere Methode zu einem vorhandenen Dienst hinzufügen möchten (was Sie nicht können) - Sie erstellen einen neuen Dienst mit Ihren benutzerdefinierten Methoden und delegieren an den ursprünglichen Dienst .

+0

ein Problem besteht darin, dass wir in solchen Fällen keine eigene Klasse als Rückgabetyp neu definierter Methoden in Service-Impl-Klassen haben können. Wie in einem vorherigen Szenario habe ich JSONArray, JSONObject oder irgendeine Klasse verwendet, die im Liferay-Paket vorhanden ist. Wenn Sie 'Build-Services' ausführen, erhalten Sie dieses Klasse-in-Service-Projekt. Aber wenn Sie Rückgabetyp als Klasse 'Student' (definiert in Portlet-Projekt), aber es ist nicht sichtbar, um Projekt zu warten. Gibt es einen anderen Weg, es zu tun? –

0

Ich stimme @Olaf Kock answare in dem sagen, dass es möglich ist, ein leeres Modell mit Service Builder haben. Darüber hinaus haben Sie eine leere Entität, von der Sie profitieren können, wenn Sie den gleichen Transaktionskontext Ihres Portals haben und von der Clusterverwaltung und dem Vorteil einer vollständigen Integration mit dem Portal profitieren.

Wenn Sie die gleiche transaktionale Umgebung des Portals haben, können Sie einen Dienst erstellen, der nativen liferay-Dienst aggregiert, und Sie erhalten die Gewissheit, dass der Transaktionskontext derselbe wie der des Portals ist.

Ich hop, dass diese Reflexion Wert hinzufügen kann.

Verwandte Themen