Mam problem z pobieraniem AspectJ do tasowania czasu ładowania w klasie z adnotacją @configurable w moim głównym projekcie. Żadne pola nie zostaną ustawione i żaden z ustawników nie zostanie dotknięty.Tracenie czasu wczytywania w winie nie wykrywa klasy z adnotacją @configurable
Nie sądzę, że problem dotyczy samej konfiguracji, ponieważ wyodrębniłem konfigurację i przetestowałem ją na mniejszym projekcie piaskownicy. Tylko ze względu na to, uwzględnię to w tym pytaniu.
Więc zastanawiam:
- Czy jest coś w większego projektu, które mogą być utrudniania wiosna/AspectJ od wykrywanie tej konkretnej klasy?
- Czy istnieje sposób sprawdzenia, czy wiosna jest świadoma klasy w pytaniach?
I wreszcie, bez względu na kod można wyodrębnić (proszę wybaczyć zaciemniania):
Od XML konfiguracji:
<context:annotation-config />
<context:spring-configured />
<context:component-scan base-package="se.isydev" />
<context:component-scan base-package="se.istools" />
<aop:aspectj-autoproxy />
<context:load-time-weaver aspectj-weaving="on" />
<context:property-placeholder location="classpath:settings.properties" />
(...)
<bean class="com.company.ClassToBeWeaved"
scope="prototype">
<property name="injectedBean" ref="injectedBean" />
</bean>
a klasa sama:
@Configurable
public class ClassToBeWeaved {
private InjectedBean injectedBean;
@Required
public void setInjectedBean() { ... }
}
Edycja :
Okazało się, że nie działa z powodu zależności cyklicznej. Och, kochanie, uwielbiam pracować nad starszym kodem. Mimo to moje pierwotne pytania pozostają.
Co środowisko są uruchomione ten jeden? LTW działa tylko na niektórych serwerach aplikacji. – skaffman
Uruchomiłem moją piaskownicę w czasie zaćmienia, a właściwa aplikacja jest w WAR działającej na JBoss – mikek
Jakiej wersji JBoss pracujesz i jaka jest linia poleceń uruchamiania java dla niego? Jeśli JBoss ma wartość 5x lub wyższą, nie potrzebujesz konkretnego agenta (i to jest różnica z piaskownicą, w której musisz określić agenta). –