Service Builder ProblemService Builder Problemhttps://liferay.dev/en/c/message_boards/find_thread?p_l_id=119785333&threadId=1004391032024-03-29T07:09:22Z2024-03-29T07:09:22ZRE: Service Builder ProblemRaid abuabeidhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1010555152017-12-17T17:47:11Z2017-12-17T17:47:11ZHallo Olaf,<br />danke für deine Antwort. <br />Ich habe mit deiner Lösung versucht, hat eben falls gleiche Fehler zurückgegeben.<br />Ich weiß nicht wo das Probelm war, jetzt läuft es: habe Liferay 7 <span style="color: #f60909">GA3</span> runtergeladen und mit eclipse neon 3 genau die gleiche Schritte, 1 zu 1, gemacht. lief ganz gut und ohne irgendwelche fehlermeldung. ich vermute es war einfach kompatibilitätsproblem.<br />also die Lösung:<br /><br />Liferay version:<br />https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.0.2%20GA3/liferay-ce-portal-tomcat-7.0-ga3-20160804222206210.zip/download<br /><br />Eclipse Neon.3 + Liferay IDE 3.1.2 GA3 (Windows 64-bit)<br />https://sourceforge.net/projects/lportal/files/Liferay%20IDE/3.1.2%20GA3/liferay-ide-eclipse-windows-x64-3.1.2-ga3-201709011126.zip/downloadRaid abuabeid2017-12-17T17:47:11ZRE: Service Builder ProblemOlaf Kockhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1005007212017-12-10T09:16:08Z2017-12-10T09:16:08Z<html><head></head><body><div class="quote-title">Raid abuabeid:</div><blockquote>6. hier kommt das Problem: ich versuch im letzten Portlet, innerhalb doView, mit out.print irgendwas von DB abrufen z.b<br>System.out.println(DatenbankLocalServiceUtil.getDatenbanksCount());<br> kommt immer immer immer wieder folgende fehlermeldung:</blockquote><br><br>Die *LocalServiceUtil Klassen sind eigentlich nur noch ein Überbleibsel aus der Vor-OSGi Zeit und sollten in OSGi Portlets nicht mehr verwendet werden. Stattdessen hilft eine explizite Abhängigkeit von den Services aus dem Portlet bzw. den verwendenden Komponenten:<br><br><pre><code>@Component(...)
class MyPortlet .... {
@Reference
private DatenbankLocalService datenbankLocalService;
doView(...) {
System.out.println( datenbankLocalService.doSomething() );
}
</code></pre><br><br>Durch diese Deklaration ist das Portlet ausdrücklich vom Service abhängig und steht erst zur Verfügung, wenn der LocalService auch zur Verfügung steht. Mit der *LocalServiceUtil Klasse wird diese Abhängigkeit versteckt - ich kann mir gut vorstellen, dass das zu den beschriebenen Problemen führt.</body></html>Olaf Kock2017-12-10T09:16:08ZService Builder ProblemRaid abuabeidhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1004391022017-12-08T16:59:34Z2017-12-08T16:59:34ZHallo zusammen,<br />ich bin Neuling hier und beschäftige mich erst seit ein paar Tage mit Liferay.<br /><br /><strong>Projekt kurz vorstellen:</strong><br />Im Rahmen meiner Abschlussarbeit wurde Liferay als Kundenportal, Portalserver (Backend) ausgewählt. Liferay soll alle relevanten Daten, wie z. B. die Zugriffsdaten des Benutzers, Anschrift usw. bereitstellen. Jeweils mit JSF und Angular soll nun ein Frontend entwickelt werden und auf Liferaydaten (nicht direkt auf DB sondern über Portlets oder API kommunizieren, ich weiß noch nicht genau) zugreifen.<br /><br />ok, bin gerade erst mit Liferay beschäftigt (unter Eclipse):<br />1. Liferay Installiert, eigene DB erstellt....OK<br />2. Portlet erstellt (Liferay Module Project, MVC)......OK<br />3. Service Builder <img alt="emoticon" src="@theme_images_path@/emoticons/sad.gif" ><br /> 3.1. Datenbank Tabelle mit "id" und "username" erstellt....getestet und OK<br /> 3.2. Liferay Module Project als Service-Builder erstellt (sagen wir "myservice" genannt)<br /> 3.3 in myservice-service -> service.xml Entity erstellt (passend zum DB Tabelle in 3.1 )<br /> 3.4 (Gradle Konfiguration) myservice --> build---> buildService ... durchgeführt und OK<br /> 4.5 service klassen wurden erstellt....OK, immer refresh Gardle Project <img alt="emoticon" src="@theme_images_path@/emoticons/happy.gif" ><br />in gogo Shell sind die ebenfalls AKTIV<br />4. neu Portlet (MVC) erstellt und in Build-gardle-datei folgendes hinzugefügt<br /> compile project (":modules:myservice:myservice-api")<br />5. deploy und läuft.<br />6. hier kommt das Problem: ich versuch im letzten Portlet, innerhalb doView, mit out.print irgendwas von DB abrufen z.b<br />System.out.println(DatenbankLocalServiceUtil.getDatenbanksCount());<br /> kommt immer immer immer wieder folgende fehlermeldung:<br /><br />15:06:45,149 INFO [fileinstall-C:/Abschlussarbeit/Versuch1/workspace/Liferay_workspace/bundles/osgi/modules][BundleStartStopLogger:38] STOPPED com.datenbank_1.0.0 [522]<br />15:06:45,192 INFO [Refresh Thread: Equinox Container: 300795f4-19dc-0017-1862-f41650d3d045][BundleStartStopLogger:35] STARTED com.datenbank_1.0.0 [522]<br />15:06:51,639 ERROR [http-nio-8080-exec-2][render_portlet_jsp:131] null<br />java.lang.NullPointerException<br /> at com.datenbank.service.DatenbankLocalServiceUtil.getDatenbanksCount(DatenbankLocalServiceUtil.java:149)<br /> at com.datenbank.portlet.datenbankPortlet.doView(datenbankPortlet.java:38)<br /> at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:303)<br /> at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.doDispatch(MVCPortlet.java:497)<br /> at javax.portlet.GenericPortlet.render(GenericPortlet.java:262)<br /> at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.render(MVCPortlet.java:317)<br /> at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:103)<br /> at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:57)<br /> at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)<br /> at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)<br /> at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:107)<br /> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)<br /> at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)<br /> at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)<br /> at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:117)<br /> at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)<br /> at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:530)<br /> at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:605)<br /> at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:391)<br /> at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.render(MonitoringInvokerPortlet.java:265)<br />15:43:47,267 WARN [HikariPool-1 housekeeper][HikariPool:676] HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=16m36s713ms6µs842ns).<br />15:43:48,742 WARN [HikariPool-2 housekeeper][HikariPool:676] HikariPool-2 - Thread starvation or clock leap detected (housekeeper delta=16m36s713ms687µs542ns).<br /><br /><br />und ich komme nicht weiter <img alt="emoticon" src="@theme_images_path@/emoticons/sad.gif" ><br />ich hoffe das