分配给我的项目使用xml文件创建aop。
Part1:
在我的xml文件中配置的aop是:
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(public * com.RR..manager..*.*(..)) &&
!execution(public * com.RR.DD.manager.IMan.isNonProductionEnvironment(..)) &&
!execution(public * com.RR.DD.manager.IMan.isProductionEnvironment(..))" />
<aop:advisor advice-ref="txAdvice" pointcut="execution(public * com.highradius..manager..*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut="execution(public * com.scraper.correspondence..manager..*.*(..))" />
</aop:config>有人能解释一下这里面做了什么吗。我知道切点是怎么做的,但在这里我不知道这些"&“是什么意思,所有的东西都让我感到困惑。
Part2:
我之所以探索这一点,也是因为我得到了"javax.persistence.TransactionRequiredException:--没有任何事务正在进行中--“异常:
javax.persistence.TransactionRequiredException: no transaction is in progress
at org.hibernate.internal.SessionImpl.checkTransactionNeeded(SessionImpl.java:3466) ~[hibernate-core-5.2.16.Final.jar:5.2.16.Final]
at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1426) ~[hibernate-core-5.2.16.Final.jar:5.2.16.Final]
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1422) ~[hibernate-core-5.2.16.Final.jar:5.2.16.Final]
at org.springframework.orm.hibernate5.SessionFactoryUtils.flush(SessionFactoryUtils.java:144) ~[spring-orm-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.orm.hibernate5.SpringSessionSynchronization.beforeCommit(SpringSessionSynchronization.java:95) ~[spring-orm-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:95) ~[spring-tx-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:936) ~[spring-tx-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:748) ~[spring-tx-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:734) ~[spring-tx-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:518) ~[spring-tx-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:292) ~[spring-tx-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) ~[spring-aop-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at com.sun.proxy.$Proxy148.isTriggerEmailForNonProdEnvironment(Unknown Source) ~[?:?]
at com.scraper.EmailManagement.filterEmailAddress(EmailManagement.java:525) ~[agent_base-18.6.0-SNAPSHOT-falconfit.jar:?]
at com.scraper.EmailManagement.sendMailWithTemplateAndCc(EmailManagement.java:637) ~[agent_base-18.6.0-SNAPSHOT-falconfit.jar:?]
at com.highradius.eci.agentframework.executor.impl.ECIStandardJobExecutor.sendJobStatusMailNotifiation(ECIStandardJobExecutor.java:823) ~[eci_framework-18.6.0-SNAPSHOT-falconfit.jar:?]
at com.highradius.eci.agentframework.executor.impl.ECIStandardJobExecutor.executeJob(ECIStandardJobExecutor.java:458) ~[eci_framework-18.6.0-SNAPSHOT-falconfit.jar:?]
at com.highradius.eci.agentframework.ECIStandardAction.run(ECIStandardAction.java:89) ~[eci_framework-18.6.0-SNAPSHOT-falconfit.jar:?]
at com.scraper.ScheduledAgentLauncher.immediatelyLaunchScheduledAgent(ScheduledAgentLauncher.java:365) ~[agent_base-18.6.0-SNAPSHOT-falconfit.jar:?]
at com.scraper.WrapperAgentAction.run(WrapperAgentAction.java:182) ~[agent_base-18.6.0-SNAPSHOT-falconfit.jar:?]
at sun.reflect.GeneratedMethodAccessor3068.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:265) ~[spring-core-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:257) ~[spring-context-support-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) ~[spring-context-support-4.3.15.RELEASE.jar:4.3.15.RELEASE]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.2.3.jar:?]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.2.3.jar:?]异常"at com.sun.proxy.$Proxy148.isTriggerEmailForNonProdEnvironment(Unknown Source“中的行?是关于在Iman接口上声明并由ImanImpl类定义的函数“ImanImpl”。
任何一个零件的帮助都将是见习的。
发布于 2018-05-21 09:37:11
第1部分的解决方案:
Xml编辑器不理解'&‘操作符,所以为了让XMl编辑器理解我们使用& (在您的例子中),&&的意思是'&&’。
第2部分的解决方案:--请在中添加下面的代码,以便当您使用@Transactional注释时,它可以引用这一点。
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="myEntitymangrfctry" />
</bean>
<tx:annotation-driven />https://stackoverflow.com/questions/50445395
复制相似问题