1

Springのトランザクションマネージャーを使用してロードタイムウィービングを有効にしようとしていますが、あまり運がありません。現在、@ Transactionalメソッドで単純なem.persist()を実行しようとしていますが、次のようにトランザクションを実行しているようには見えません。TransactionSynchronizationManager.isActualTransactionActive()

私のアプリケーションコンテキストファイルには以下が含まれています:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="TEST-pu"/>
    </bean>
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>
    <tx:annotation-driven transaction-manager="transactionManager" mode="aspectj" proxy-target-class="true"/>

そして私のpom.xmlには以下が含まれています:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-agent</artifactId>
    <version>2.5.4</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>3.0.5.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.6.10</version>
</dependency>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <forkMode>once</forkMode>
        <argLine>
            -javaagent:${settings.localRepository}/org/springframework/spring-agent/2.5.4/spring-agent-2.5.4.jar
        </argLine>
        <useSystemClassloader>true</useSystemClassloader>
    </configuration>
</plugin> 

セットアップに問題があるように見えます。AspectJ/ロードタイムウィービングを実装する方法のかなりの例に出くわしましたが、それらはすべてEclipseプラグインを使用しているようです。1)私はいかなる種類の使用も避けようとしています。プラグインの2)私はIntellijを使用しています。どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

1

追加しましたか:

<context:load-time-weaver/>

あなたのセットアップに?

于 2011-09-03T20:49:45.293 に答える