2009-11-05 17 views
12

Rozwijam portlet dla Liferay Portal.Jak wyłączyć pamięć podręczną portletu Liferay?

mam wyłączoną CSS i JavaScript buforowanie za pomocą tych kodów w portal-developer.properties pliku:

 
theme.css.fast.load=false 
theme.images.fast.load=false 
javascript.fast.load=false 
javascript.log.enabled=true 
layout.template.cache.enabled=false 
last.modified.check=false 
velocity.engine.resource.manager.cache.enabled=false 
com.liferay.portal.servlet.filters.cache.CacheFilter=false 
com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter=false 

Ale nie wiem, jak wyłączyć buforowanie portletu.

Po zaktualizowaniu pliku view.jsp w katalogu portletów muszę ponownie uruchomić Tomcat, aby zobaczyć zmiany.

+0

szukam coś podobnego, z wyjątkiem kiedy wprowadzam zmiany w niektórych danych, poprzednie dane są buforowane do momentu wykonania nowego odświeżenia. Zasadniczo niektóre zmiany wprowadzane są w preferencjach portletu i nie są wyświetlane aż do odświeżenia strony, zamiast pokazywania zmian po powrocie na stronę. – Organiccat

Odpowiedz

1

Miałem takie problemy z niektórymi nieprawidłowo ustawionymi zegarkami: Kiedy edytujesz jsp przez uchwyt sieciowy, a komputer uważa, że ​​jest 10:00, a serwer uważa, że ​​jest już 10:05, to może się stać:

  • zmienić JSP na 10:01
  • kocur widzi go i kompiluje - wszystko działa zgodnie z oczekiwaniami, ale skompilowany zawiera znacznik czasu 10:06
  • można ponownie zmienić JSP przy 10 : 03
  • Tomcat widzi zmieniony znacznik czasu i porównuje go z znacznik czasu na skompilowanej stronie: Skompilowana strona jest nowsza (znacznik czasu), więc żadna kompilacja nie jest wykonana, a strona nie odzwierciedla Twojej aktualizacji.
  • Jesteś sfrustrowany, zrestartuj tomcat, który trwa 2 minuty
  • Ty Popraw kolejny błąd na stronie, teraz jest o czasie, 10:07
  • Tomcat podnosi go, zestawia je ...

również uważam, aby zapamiętać pewne „kontekstowe” konfigurację pozwalającą na zmianę zachowań tłumaczenie jSP. Pracujesz nad niezmienionym pakietem liferay/tomcat? Czy to samo dzieje się, gdy pracujesz na jednym komputerze? Czy to samo ma miejsce, gdy bierzesz nowy pakiet, rozpakowujesz i ponawiasz próbę?

0

Dlaczego ponownie uruchamiasz tomcat. Po prostu zainstaluj portlet w katalogu wdrażania. Jest najszybszy. A jeśli uruchomisz Liferay z Eclipse IDE, myślę, że zmiany są pobierane automatycznie.

+0

Ponieważ przeładowanie liferay to bzdura i często nie działa poprawnie (warunki systemu plików obowiązują dużo). – smaudet

1

pomocą następujących linii w sposób doView: ABCUtil.clearCache() , a także mogą korzystać z <expiration-cache>0</expiration-cache> w swoje portletu deskryptorze.

+1

@ user718609 - Jaka jest kolejna linia? _Witaj, ale zwróć uwagę na [formatowanie znaczników] (http://stackoverflow.com/editing-help) i [Najczęściej zadawane pytania na temat podpisów w postach] (http://stackoverflow.com/faq) - użyj [swojej strony profilu] (http://stackoverflow.com/users/718609/user718609) lub twoje odpowiedzi zostaną prawdopodobnie oznaczone jako spam._ – McDowell

1

znalazłem rozwiązanie używać MultiVMPoolUtil.clear();

1

Jedną z rzeczy, która ma tendencję do zepsuć JSP przeładunku różnica stref czasowych, co powoduje efekt podobny do jednego Olaf Kock opisuje. Zwykle można to zauważyć w plikach dziennika, ponieważ będzie napisane "XXX został zmodyfikowany w przyszłości".

Z powodu tych przykręconych znaczników czasu nowy plik nie zostanie poprawnie wykryty i użyty. Można to łatwo rozwiązać, zmieniając strefę czasową w pliku setenv.bat/setenv.sh serwera Tomcat na odpowiednią wartość.

5

W najnowszej wersji Liferay 6.2 można włączyć tryb programowania.

Podczas korzystania z Liferay IDE

  1. Przejdź do widoku Serwery i podwójnym kliknięciem na serwerze

enter image description here

  1. Select Mode Rozwoju zapisz konfigurację i zrestartuj serwer, aby ponownie uruchomić serwer:

enter image description here

Kiedy nie używając Liferay IDE

  1. Edit setenv.sh lub setenv.bat (dla systemu Windows) w $ LIFERAY_DIR/$ TOMCAT_DIR/bin/
  2. Dodaj -Dexternal-properties = portal- developer.properties do CATALINA_OPTS

referencyjny: https://www.liferay.com/documentation/liferay-portal/6.2/development/-/ai/using-developer-mode-with-themes-liferay-portal-6-2-dev-guide-09-en

0

Mój problem polegał na tym, że wdrożenie nie polegało na przeprogramowaniu zmian wprowadzonych do źródła javascript.

utworzyć plik o nazwie:

portal-ext.properties 

Konkretnie w katalogu:

C:\liferay-portal-6.2-ce-ga4\jboss-7.1.1\standalone\deployments\ROOT.war\WEB-INF\classes\ 

Z treści:

com.liferay.portal.servlet.filters.cache.CacheFilter=false 

Inne problemy miałem:

Shortccomings okien filesys nie jest w stanie pomieścić długich nazw plików/ścieżek JBoss w katalogu tmp.

Wdrożenia zostały buforowanie plików Usunąłem

Buduje były buforowanie plików Usunąłem

linie w moim pliku BAT dla tworzenia i wdrażania:

rd /q /s \liferay-portal-6.2-ce-ga4\jboss-7.1.1\standalone\tmp\work\jboss.web\default-host\my-portlet 
rd /q /s \liferay-portal-6.2-ce-ga4\jboss-7.1.1\standalone\deployments\my-portlet.war 
rd /q /s \liferay-portal-6.2-ce-ga4\liferay-plugins-sdk-6.2\portlets\my-portlet\docroot\WEB-INF\classes 
ant.bat 
Powiązane problemy