Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Problem with Transactions using EclipseLink

Right now, nothing other than selects are getting executed.  [I don't
see any SQL inserts/updates actually getting executed from
eclipselink]

A little snippet of the DAO which matches the logs I provided.  (I am
using org.springframework.transaction.annotation.Transactional
annotation).

Additionally I have a service layer above the daos which also has
transactional.  I'm pretty certain I am doing something wrong.  [This
worked previously when I was using non osgi & older version of
eclipselink nd my project was structure differently]
I just can't see it for the life of me.


import da.db.dao.UserDao;
import da.db.model.User;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

//~--- JDK imports ------------------------------------------------------------

import java.util.Collection;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

@Repository
public class UserDaoJpaImpl implements UserDao {

	Logger logger = LoggerFactory.getLogger(UserDaoJpaImpl.class);

	@PersistenceContext
    private EntityManager entityManager;

	@Transactional
    public void save(User u) {
    	logger.info("Persisting using EM=" + getEntityManager());
        getEntityManager().persist(u);
    	logger.info("Persisted using EM=" + getEntityManager());
    }




On Sun, Nov 2, 2008 at 2:50 PM, Tim Hollosy <hollosyt@xxxxxxxxx> wrote:
> Ya uow stuff will use the spring tx. I see u r doing some aop stuff.
> Maybe that is messing up your tx. What tx annotation do you use on the
> method shown. Does this happen everywhere or just a certain chunk of
> code?
>
> On 11/2/08, Eric Gulatee <eric.gulatee@xxxxxxxxx> wrote:
>> Tim,
>>
>> Yeah.  Spring is managing the transaction.  Do the eclipselink
>> unitofwork tied into the spring transactions?
>> Here is the xml file.
>>
>>
>>       <import resource="applicationContext-dao.xml" />
>>       <import resource="applicationContext-db-eclipselink.xml" />
>>
>>       <tx:advice id="txAdvice" transaction-manager="transactionManagerPvt">
>>               <!-- the transactional semantics... -->
>>               <tx:attributes>
>>                       <!-- all methods starting with 'get' are read-only -->
>>                       <tx:method name="get*" read-only="true" />
>>                       <!-- other methods use the default transaction settings (see below) -->
>>                       <tx:method name="*" />
>>               </tx:attributes>
>>       </tx:advice>
>>
>>       <aop:config>
>>               <aop:pointcut id="daoServiceOperation" expression="execution(*
>> da.db.dao.jpa.*.*(..))" />
>>               <aop:advisor advice-ref="txAdvice" pointcut-ref="daoServiceOperation" />
>>       </aop:config>
>>
>>       <bean id="transactionManagerPvt"
>> class="org.springframework.orm.jpa.JpaTransactionManager">
>>               <property name="entityManagerFactory" ref="entityManagerFactoryPrivate" />
>>               <property name="jpaDialect" ref="jpaDialect"></property>
>>       </bean>
>>
>>       <context:spring-configured/>
>>
>>       <tx:annotation-driven transaction-manager="transactionManagerPvt" />
>>
>>
>>
>>
>>
>>
>> On Sun, Nov 2, 2008 at 10:59 AM, Tim Hollosy <hollosyt@xxxxxxxxx> wrote:
>>> Hmm what transaction manager are you using? Is spring managing them?
>>>
>>> On 11/2/08, Eric Gulatee <eric.gulatee@xxxxxxxxx> wrote:
>>>> All,
>>>>
>>>> Hi I'm trying to build something using spring, jpa, osgi and eclipselink
>>>> :)
>>>>
>>>> I am not seeing my transactions getting committed.  I've started
>>>> poking around in fisheye for eclipselink looking at unitofwork etc.
>>>>
>>>> Here are the eclipselink logs.  [Which to me indicate there are
>>>> commits]   -- Begin transaction and commit transaction.
>>>>
>>>> Any leads/suggestions or ideas what I could be doing wrong to explain
>>>> the lack of data being inserted into the DB?
>>>>
>>>> Cheers,
>>>> Eric G.
>>>>
>>>> [2008-11-02 09:59:20.939] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]:
>>>> Connection(7513337)--begin transaction
>>>> [2008-11-02 09:59:20.940] server-tomcat-thread-11
>>>>         da.db.dao.jpa.UserDaoJpaImpl.unknown I Persisting using
>>>> EM=org.eclipse.persistence.internal.jpa.EntityManagerImpl@17b09f
>>>> [2008-11-02 09:59:20.940] server-tomcat-thread-11
>>>>                                   System.out I [EL Finest]: PERSIST
>>>> operation called on: da.db.model.User@b21979.
>>>> [2008-11-02 09:59:20.940] server-tomcat-thread-11
>>>>                                   System.out I [EL Finest]: assign
>>>> sequence to the object (1,542 -> da.db.model.User@b21979)
>>>> [2008-11-02 09:59:20.940] server-tomcat-thread-11
>>>>         da.db.dao.jpa.UserDaoJpaImpl.unknown I Persisted using
>>>> EM=org.eclipse.persistence.internal.jpa.EntityManagerImpl@17b09f
>>>> [2008-11-02 09:59:20.941] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: begin unit
>>>> of work commit
>>>> [2008-11-02 09:59:20.941] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]:
>>>> Connection(7513337)--commit transaction
>>>> [2008-11-02 09:59:20.941] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: end unit of
>>>> work commit
>>>> [2008-11-02 09:59:20.942] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: resume unit
>>>> of work
>>>> [2008-11-02 09:59:20.942] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: release
>>>> unit of work
>>>> [2008-11-02 09:59:20.942] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: client
>>>> released
>>>> [2008-11-02 09:59:20.943] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: client
>>>> acquired
>>>> [2008-11-02 09:59:20.943] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]:
>>>> Connection(3805535)--begin transaction
>>>> [2008-11-02 09:59:20.943] server-tomcat-thread-11
>>>>  da.service.impl.AuditManagementImpl.unknown I Adding audit log
>>>> [2008-11-02 09:59:20.943] server-tomcat-thread-11
>>>>                                   System.out I [EL Finest]: PERSIST
>>>> operation called on: da.db.model.AuditLog@401ab2.
>>>> [2008-11-02 09:59:20.944] server-tomcat-thread-11
>>>>                                   System.out I [EL Finest]: assign
>>>> sequence to the object (1,543 -> da.db.model.AuditLog@401ab2)
>>>> [2008-11-02 09:59:20.944] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: begin unit
>>>> of work commit
>>>> [2008-11-02 09:59:20.944] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]:
>>>> Connection(3805535)--commit transaction
>>>> [2008-11-02 09:59:20.944] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: end unit of
>>>> work commit
>>>> [2008-11-02 09:59:20.945] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: resume unit
>>>> of work
>>>> [2008-11-02 09:59:20.945] server-tomcat-thread-11
>>>>                                   System.out I [EL Finer]: release
>>>> unit of work
>>>> _______________________________________________
>>>> eclipselink-users mailing list
>>>> eclipselink-users@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>>>
>>>
>>>
>>> --
>>> ./tch
>>> _______________________________________________
>>> eclipselink-users mailing list
>>> eclipselink-users@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>>
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>
>
>
> --
> ./tch
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>


Back to the top