Я хочу использовать spring-aspects
для создания моих методов транзакционными, но не используя Spring AOP (Spring AOP работает просто великолепно с:
). Я использую Знатока для управления моим проектом.
Есть ли способ сделать время компиляции, переплетаясь на моих классах проекта так, "они Transactional
". Я пытался использовать Плагин Знатока AspectJ Mojo, но без любых хороших результатов.
Помогите.
Я разобрался. Плагин Maven работает нормально, но проблема была в моей конфигурации Spring: У меня было:
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
Мне было нужно:
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean class="org.springframework.transaction.aspectj.AnnotationTransactionAspect" factory-method="aspectOf">
<property name="transactionManager" ref="transactionManager"/>
</bean>
Теперь он работает нормально. И производительность моих методов @Transactional улучшилась, и это то, для чего я собирался.
Вот моя конфигурация плагина maven aspectj:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>
<configuration>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
</aspectLibraries>
<source>1.5</source>
<showWeaveInfo>true</showWeaveInfo>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
надеюсь, это кому-то поможет.