[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] Problem with Transactions using EclipseLink
|
Hmmm, no inserts. Maybe a flushing issue? Did you try calling
em.flush() right after your merge/persist?
./tch
On Sun, Nov 2, 2008 at 3:57 PM, Eric Gulatee <eric.gulatee@xxxxxxxxx> wrote:
> 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
>>
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>