In Spring you can't simply call @Transactional
method from the same instance, because of AOP-proxy thing. Would it be nice idea to make a self injection and call that method from self proxy instance? Do you see any drawbacks?
It is totally ok.
Moreover there was a Jira ticket for supporting this feature using @Autowired
annotations. It's fixed in Spring 4.3+
versions. However for xml-based configuration or using @Resource
annotation it's working in the earlier versions.
You can see the discussion bellow this ticket. @Transactional
is one of the use case for this:
Particularly interested in @Async and @Transactional use cases.