piątek, 25 lipca 2014

@Transactional - kiedy działa?

  • metoda z @Transactional musi być publiczna
  • wywołanie metody z @Transactional musi pochodzić 'z zewnątrz' (być zrealizowane na proxy springowym)

W przypadku aspectj te tematy nie mają zastosowania.

piątek, 11 lipca 2014

@Async - dlaczego nie działa?

... bo nie może być wywoływany ręcznie.

Zlecenie jego wykonania musi pochodzić ze springa. Zadziała idealnie np. w kontrolerze.

Widać, że nie do końca: http://spring.io/blog/2010/01/05/task-scheduling-simplifications-in-spring-3-0/. Czyli wystarczy, że obiekt z metodą z @async jest wstrzyknięty.

środa, 2 lipca 2014

Spring, Tomcat, logowanie

Podczas próby logowania może się pojawiać przyjemny komunikat:

log4j:WARN Please initialize the log4j system properly

Próby przenoszenia pliku log4j.properties w różne miejsca nie dają efektu. Potencjalna przyczyna problemu? Błąd w pliku log4j.properties. Przykładowy, poprawny plik:

log4j.rootLogger=debug, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name and line number. #Spring Framework log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n log4j.logger.org.springframework=INFO log4j.logger.org.springframework.oxm=INFO log4j.logger.org.springframework.transaction=WARN

lokalizacja: src/main/resources/log4j.properties