@Uday: you need to install spring in tomee/tomcat ie add spring-instrument
and spring-instrument-tomcat in the container and define the tomcat
instrumentable classloader in context.xml otherwise spring is not able to
setup JPA properly (no comment).


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2015-07-28 1:00 GMT-07:00 Uday Gire <[email protected]>:

> Hi
>
> I tried to deploy your application but it fails. (Even putting Loader
> className=“….” in context.xml)
>
> It throws the following exception:
>
> Caused by: java.lang.IllegalStateException: ClassLoader
> [org.apache.tomee.catalina.LazyStopWebappClassLoader] does NOT provide an
> 'addTransformer(ClassFileTransformer)' method.
>         at
> org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver.<init>(ReflectiveLoadTimeWeaver.java:104)
>         at
> org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver.<init>(ReflectiveLoadTimeWeaver.java:86)
>         at
> com.github.firelore.config.DataConfig.loadTimeWeaver(DataConfig.java:52)
>
> TomEE uses org.apache.tomee.catalina.LazyStopWebappClassLoader even if you
> configure other loaders.
>
> If you did deploy successfully, what is your configuration?
>
> Thanks
>
> Uday Gire
> ManageCat Support
> [email protected]
>
>
> > On 27 Jul 2015, at 22:13, Mike Spencer <[email protected]> wrote:
> >
> > I put a sample project on my github page at
> https://github.com/firelore/transaction-test
> >
> > The DataSource definition is in the README.md. For the purposes of the
> sample project, there is nothing else in the tomee.xml besides the xml
> declaration and the <tomee> tags. The context.xml was modified to include
> > <Loader
> loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
> as per Spring instructions.
> >
> > Thanks,
> > Mike Spencer
> >
> > On 07/24/2015 11:59 AM, Romain Manni-Bucau wrote:
> >> just wanted to ensure figures were moving to validate it was the same
> >> instance.
> >>
> >> Isnt your issue just the rollback which happens and then the tx is
> missing?
> >>
> >> if you can reproduce it on a github project it would be easier to
> >> investigate.
> >>
> >>
> >> Romain Manni-Bucau
> >> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> >> <http://www.tomitribe.com>
> >>
> >> 2015-07-24 9:54 GMT-07:00 Mike Spencer <[email protected]>:
> >>
> >>> Hi Romain,
> >>>
> >>> JMX (under openejb.management.TransactionManager) is showing commits
> and
> >>> rollbacks, increasing as I use the application. If this is not the
> correct
> >>> instance, what else could it be?
> >>>
> >>>
> >>> On 07/24/2015 09:21 AM, Romain Manni-Bucau wrote:
> >>>
> >>>> Yes it is the correct type but wonder if  it is the correct instance.
> >>>>
> >>>> In JMX you have nulber of tx and commits, maybe check it as well.
> >>>>   Le 24 juil. 2015 15:46, "Andy Gumbrecht" <[email protected]>
> a
> >>>> écrit :
> >>>>
> >>>>  Hi Mike,
> >>>>> Either add @Stateless to your bean that accesses the db and let TomEE
> >>>>> manage the transaction, or @Inject UserTransaction trans into your
> bean
> >>>>> and
> >>>>> call trans.begin() and trans.commit()
> >>>>>
> >>>>> Andy.
> >>>>>
> >>>>> On 24 July 2015 at 15:05, Mike Spencer <[email protected]>
> wrote:
> >>>>>
> >>>>>  Hi Romain,
> >>>>>> I am using Spring's JtaTransactionManager and it is finding a
> >>>>>> org.apache.geronimo.transaction.manager.GeronimoTransactionManager
> at
> >>>>>> the
> >>>>>> JNDI location java:comp/UserTransaction. Is this the correct
> transaction
> >>>>>> manager to be using?
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Mike Spencer
> >>>>>>
> >>>>>> On 07/23/2015 04:11 PM, Romain Manni-Bucau wrote:
> >>>>>>
> >>>>>>  Hi
> >>>>>>> isnt it only that spring is not able to lookup tomee tx magaer by
> >>>>>>>
> >>>>>> default?
> >>>>>> try to wire it in your app ctx.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>
> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.openejb/openejb-core/4.7.1/org/apache/openejb/OpenEJB.java#OpenEJB.getTransactionManager%28%29
> >>>>>
> >>>>>> is the one (doable using methid invoker of spring IIRC)
> >>>>>>>
> >>>>>>> Romain Manni-Bucau
> >>>>>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> >>>>>>> <http://rmannibucau.wordpress.com> | Github <
> >>>>>>> https://github.com/rmannibucau> |
> >>>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> >>>>>>> <http://www.tomitribe.com>
> >>>>>>>
> >>>>>>>
> >>>>>>> 2015-07-23 14:04 GMT-07:00 Mike Spencer <[email protected]>:
> >>>>>>>
> >>>>>>>   Hi all,
> >>>>>>>
> >>>>>>>> I am having issues with using database transactions in a Spring
> based
> >>>>>>>> application. I have my data sources configured on TomEE and they
> work
> >>>>>>>> fine
> >>>>>>>> for non-transactional database calls, but whenever I try to call a
> >>>>>>>>
> >>>>>>> method
> >>>>>> using Spring's @Transactional annotation a
> TransactionRequiredException
> >>>>>>>> is
> >>>>>>>> thrown due to no active transactions. I have this application
> working
> >>>>>>>>
> >>>>>>> on
> >>>>>> Glassfish currently and am trying to port it to TomEE.
> >>>>>>>> The application is using JPA (through EclipseLink), Spring, and
> Spring
> >>>>>>>> Data JPA to handle the database calls. I have a
> >>>>>>>> org.springframework.transaction.jta.JtaTransactionManager
> configured
> >>>>>>>>
> >>>>>>> and
> >>>>>> it
> >>>>>>>> appears to be grabbing a
> >>>>>>>> org.apache.geronimo.transaction.manager.GeronimoTransactionManager
> >>>>>>>> from
> >>>>>>>> TomEE under a default JNDI name. I am not explicitly creating or
> >>>>>>>> configuring a TransactionManager in TomEE.
> >>>>>>>>
> >>>>>>>> As far as I can tell, everything is working up to a point of
> trying to
> >>>>>>>> the
> >>>>>>>> point of committing a transaction. I enabled debug logging and I
> get
> >>>>>>>>
> >>>>>>> this
> >>>>>> in my logs:
> >>>>>>>> 2015-07-23 14:50:07,510 DEBUG
> >>>>>>>> [AbstractPlatformTransactionManager.java:367] - Creating new
> >>>>>>>>
> >>>>>>> transaction
> >>>>>> with name
> >>>>>>>>
> >>>>>>>>
> >>>>>
> [org.springframework.data.jpa.repository.support.SimpleJpaRepository.saveAndFlush]:
> >>>>>
> >>>>>> PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
> >>>>>>>> 2015-07-23 14:50:07,511 DEBUG
> >>>>>>>> [AbstractPlatformTransactionManager.java:847] - Initiating
> transaction
> >>>>>>>> rollback
> >>>>>>>> Jul 23, 2015 2:50:07 PM
> org.apache.catalina.core.ApplicationDispatcher
> >>>>>>>> invoke
> >>>>>>>> SEVERE: Servlet.service() for servlet dispatcher threw exception
> >>>>>>>> org.springframework.dao.InvalidDataAccessApiUsageException:
> >>>>>>>> Exception Description: No transaction is currently active; nested
> >>>>>>>> exception is javax.persistence.TransactionRequiredException:
> >>>>>>>> Exception Description: No transaction is currently active
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> I do not know if I missed a configuration option in TomEE or not,
> but
> >>>>>>>> I
> >>>>>>>> could use some help trying to find what I am missing.
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>> Mike Spencer
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>> --
> >>>>>    Andy Gumbrecht
> >>>>>    https://twitter.com/AndyGeeDe
> >>>>>    http://www.tomitribe.com
> >>>>>
> >>>>>
> >
>
>
>
>
>
>

Reply via email to