You can subscribe to this list here.
2002 |
Jan
(2) |
Feb
(157) |
Mar
(111) |
Apr
(61) |
May
(68) |
Jun
(45) |
Jul
(101) |
Aug
(132) |
Sep
(148) |
Oct
(227) |
Nov
(141) |
Dec
(285) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(518) |
Feb
(462) |
Mar
(390) |
Apr
(488) |
May
(321) |
Jun
(336) |
Jul
(268) |
Aug
(374) |
Sep
(211) |
Oct
(246) |
Nov
(239) |
Dec
(173) |
2004 |
Jan
(110) |
Feb
(131) |
Mar
(85) |
Apr
(120) |
May
(82) |
Jun
(101) |
Jul
(54) |
Aug
(65) |
Sep
(94) |
Oct
(51) |
Nov
(56) |
Dec
(168) |
2005 |
Jan
(146) |
Feb
(98) |
Mar
(75) |
Apr
(118) |
May
(85) |
Jun
(75) |
Jul
(44) |
Aug
(94) |
Sep
(70) |
Oct
(84) |
Nov
(115) |
Dec
(52) |
2006 |
Jan
(113) |
Feb
(83) |
Mar
(217) |
Apr
(158) |
May
(219) |
Jun
(218) |
Jul
(189) |
Aug
(39) |
Sep
(3) |
Oct
(7) |
Nov
(4) |
Dec
(2) |
2007 |
Jan
|
Feb
(2) |
Mar
(7) |
Apr
(3) |
May
(3) |
Jun
(8) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(4) |
Nov
(7) |
Dec
|
2008 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2009 |
Jan
(6) |
Feb
|
Mar
(1) |
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(10) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(3) |
2010 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Gavin K. <ga...@ap...> - 2002-10-09 14:33:39
|
Grab a CVS update. This was already reported. In recent versions, some exceptions are being swallowed and replaced with the one you see there.... ----- Original Message ----- From: "Andrea Aime" <aa...@li...> To: <hib...@li...> Sent: Thursday, October 10, 2002 12:32 AM Subject: [Hibernate] Error using jmx > Hi everybody, I get the following error trying to use > Hibernate 1.1.4b as a jmx service: > > 16:21:35,766 ERROR [HibernateUtils] Error while loading > it.satanet.ketpl.model.PLCurrency instancies > cirrus.hibernate.LazyInitializationException: Hibernate lazy > instantiation problem: Could not instantiate persister clas > s: cirrus.hibernate.persister.EntityPersister > at > cirrus.hibernate.jmx.SessionFactoryStub.getImpl(SessionFactoryStub.java:77) > at > cirrus.hibernate.jmx.SessionFactoryStub.openSession(SessionFactoryStub.java: 57) > at > it.satanet.ketpl.util.HibernateUtils.getAll(HibernateUtils.java:71) > at > it.satanet.ketpl.session.PLCurrenciesBean.getAll(PLCurrenciesBean.java:65) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(Stateles sSessionContainer.java:660) > at > org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach edConnectionInterceptor.java:186) > > at > org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSe ssionInstanceInterceptor.java:77) > > at > org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor .java:107) > at > org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT. java:178) > at > org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60) > at > org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:13 0) > at > org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:203) > at > org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav a:313) > at org.jboss.ejb.Container.invoke(Container.java:720) > at > org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) > at > org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:370) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) > at sun.rmi.transport.Transport$1.run(Transport.java:148) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:144) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:7 01) > at java.lang.Thread.run(Thread.java:536) > > > > The configuration file is: > > > > <?xml version="1.0" encoding="UTF-8"?> > <service> > <mbean code="cirrus.hibernate.jmx.HibernateService" > name="jboss.jca:service=Hibernate"> > <classpath codebase="..\lib\hibernate.jar" > lib=".\ket-pl.jar"/> > <attribute name="MapResources">ketpl.hbm.xml</attribute> > <attribute name="JndiName">java:/KetplSF</attribute> > <attribute name="Datasource">java:/KetplDS</attribute> > <attribute > name="Dialect">cirrus.hibernate.sql.SAPDBDialect</attribute> > <depends>jboss.jca:service=RARDeployer</depends> > </mbean> > </service> > > I don't understand what's going on... > Any help appreciated :-) > Best regards > Andrea Aime > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > hibernate-devel mailing list > hib...@li... > https://lists.sourceforge.net/lists/listinfo/hibernate-devel |
From: Andrea A. <aa...@li...> - 2002-10-09 14:26:27
|
Hi everybody, I get the following error trying to use Hibernate 1.1.4b as a jmx service: 16:21:35,766 ERROR [HibernateUtils] Error while loading it.satanet.ketpl.model.PLCurrency instancies cirrus.hibernate.LazyInitializationException: Hibernate lazy instantiation problem: Could not instantiate persister clas s: cirrus.hibernate.persister.EntityPersister at cirrus.hibernate.jmx.SessionFactoryStub.getImpl(SessionFactoryStub.java:77) at cirrus.hibernate.jmx.SessionFactoryStub.openSession(SessionFactoryStub.java:57) at it.satanet.ketpl.util.HibernateUtils.getAll(HibernateUtils.java:71) at it.satanet.ketpl.session.PLCurrenciesBean.getAll(PLCurrenciesBean.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:660) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:203) at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:313) at org.jboss.ejb.Container.invoke(Container.java:720) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:370) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) at sun.rmi.transport.Transport$1.run(Transport.java:148) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:144) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) at java.lang.Thread.run(Thread.java:536) The configuration file is: <?xml version="1.0" encoding="UTF-8"?> <service> <mbean code="cirrus.hibernate.jmx.HibernateService" name="jboss.jca:service=Hibernate"> <classpath codebase="..\lib\hibernate.jar" lib=".\ket-pl.jar"/> <attribute name="MapResources">ketpl.hbm.xml</attribute> <attribute name="JndiName">java:/KetplSF</attribute> <attribute name="Datasource">java:/KetplDS</attribute> <attribute name="Dialect">cirrus.hibernate.sql.SAPDBDialect</attribute> <depends>jboss.jca:service=RARDeployer</depends> </mbean> </service> I don't understand what's going on... Any help appreciated :-) Best regards Andrea Aime |
From: Gavin K. <ga...@ap...> - 2002-10-09 13:53:03
|
Collections are cached if (only if) they have their own <jcs-cache> = subelement. ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: Gavin King=20 Cc: hibernate list=20 Sent: Wednesday, October 09, 2002 11:33 PM Subject: [Hibernate] Caching Gavin, Relating to the cache, I gather that collections that are defined = inside a mapping are not cached? one would assume that you won't have to do a select for these = collections since they can only be changed through the object itself? probably i'm wrong, but i just = wanted to check this with you.. Joost. |
From: Joost v. de W. <jo...@jt...> - 2002-10-09 13:30:14
|
Gavin, Relating to the cache, I gather that collections that are defined inside = a mapping are not cached? one would assume that you won't have to do a select for these = collections since they can only be changed through the object itself? probably i'm wrong, but i just = wanted to check this with you.. Joost. |
From: Gavin K. <ga...@ap...> - 2002-10-08 17:08:51
|
Nah, your criticism is fine. Its a messy, expedient piece of code. The query translating code is definitely the least understandable part of Hibernate. I would have rewritten it all using an ANTLR grammar ages ago, except that the query language has *not* been a source of bugs and I have always been able to implement new features surprisingly easily. As for your question about scalarSelectTokens, scalarTypes, etc: you need to understand that we are trying to parse two different kinds of queries with the same code here: * find() style queries that return entities, with all their properties * iterate() style queries that return scalar values and ids of entities (and allow aggregate functions) Everything is identical for the two types of queries, *except* the SELECT clause. The QueryTranslator actually compiles *both* simultaneously (simply ignoring any scalar values for the find() style query). A bit bizarre, I know ... it works; thats all I care about at this stage. So scalarSelectTokens, etc are used for the iterate() style query. > Hmm I'd needed some explanation (some more commenting could care about it) about QueryTranslator, and what do we mean by scalarSelectTokens, scalarTypes and co. Especially the renderSQL() function looked like a bit messy to me at the first glance. > > (Do not take this as plain critics, I'm not supposed to understand any piece of difficult codes of others at the first look :) |
From: Gavin K. <ga...@ap...> - 2002-10-08 16:04:02
|
For anyone following this thread, we fixed this problem by having the = Session fetch the JDBC connection after beginning the JTATransaction. |
From: Gavin K. <ga...@ap...> - 2002-10-08 16:02:09
|
I've added the TransactionManagerLookup hierarchy (which I bit from OJB code). It's now safe to use the JCS read-write cache with JTATransaction in any of the three supported application servers. You need to specify hibernate.transaction.manager_lookup_class=JBossTransactionManagerLookup for example. Would people please test this stuff out and check that we get the afterCompletion() callback as expected. (Enable trace-level logging.) TIA Gavin |
From: Gavin K. <ga...@ap...> - 2002-10-07 18:43:36
|
Gyack....I got muddled. No, of course we assume its off... ignore my sillyness. ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: Gavin King ; hib...@li...=20 Sent: Tuesday, October 08, 2002 4:30 AM Subject: Re: [Hibernate] Hibernate 1.1 and JBoss > strange JTA = behavior Gavin, I think that in a JTATransaction autocommit will always be off, due to = the nature that it is a distributed transaction.. What can we do (and where in the code) to solve this problem? Joost Check out this thread = http://www.jboss.org/forums/thread.jsp?forum=3D144&thread=3D20163&message= =3D3737404#3737404 I don't quite know what conclusion to draw from it, but it seems = that the JBoss connection pool is returning connections with autocommit = off. Hibernate assumes that autocommit would be ON. Perhaps we need to = toggle the connection autocommit state in JTATransaction. |
From: Joost v. de W. <jo...@jt...> - 2002-10-07 18:27:57
|
Gavin, I think you're on the right track with this line of thought the = following code executes but does NOT=20 end up in the db <code> // get the datasource InitialContext ctx =3D new InitialContext(); DataSource ds =3D (DataSource) = ctx.lookup("java:/SmartHavenConnectionPool"); // get a connection Connection conn =3D ds.getConnection(); // get the UserTransaction UserTransaction trans =3D (UserTransaction) = ctx.lookup("UserTransaction"); // begin trans.begin(); // insert a user ... String sql =3D "insert into UserImpl ( password, email, = username, id ) values ( ?,?,?,? )"; PreparedStatement ps =3D conn.prepareStatement(sql); ps.setString(1,"saojchao"); ps.setString(2,"ascjahsuh"); ps.setString(3,"caijhcaoiuhc"); ps.setLong(4,99L); ps.execute(); // commit the transaction trans.commit(); // close the connection conn.close(); </code> which is not so strange since this is the JBOSS code that's being run: <code> if(!((XAResourceImpl)xaCon.getXAResource()).isTransaction()) { // Wrapper - we can only release it if there's = no current transaction // Can't just check TM because con may have been = committed but left open // so if there's a current transaction it may = not apply to the con. log.warn("XAConnectionImpl: " + xaCon + " has no = current tx!"); try { xaCon.rollback(); } catch(SQLException e) { pool.markObjectAsInvalid(con); } pool.releaseObject(con); } </code> as you see, the whole shabang is rolled back! Joost. |
From: Joost v. de W. <jo...@jt...> - 2002-10-07 18:27:49
|
Gavin, I think that in a JTATransaction autocommit will always be off, due to = the nature that it is a distributed transaction.. What can we do (and where in the code) to solve this problem? Joost Check out this thread = http://www.jboss.org/forums/thread.jsp?forum=3D144&thread=3D20163&message= =3D3737404#3737404 I don't quite know what conclusion to draw from it, but it seems that = the JBoss connection pool is returning connections with autocommit off. = Hibernate assumes that autocommit would be ON. Perhaps we need to toggle = the connection autocommit state in JTATransaction. |
From: Gavin K. <ga...@ap...> - 2002-10-07 17:55:28
|
Check out this thread http://www.jboss.org/forums/thread.jsp?forum=3D144&thread=3D20163&message= =3D3737404#3737404 I don't quite know what conclusion to draw from it, but it seems that = the JBoss connection pool is returning connections with autocommit off. = Hibernate assumes that autocommit would be ON. Perhaps we need to toggle = the connection autocommit state in JTATransaction. ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: hib...@li...=20 Sent: Tuesday, October 08, 2002 2:38 AM Subject: [Hibernate] Hibernate 1.1 and JBoss > strange JTA behavior Hi, I'm using hibernate 1.1 final and JBoss-2.4.9-Tomcat-4.0.4 with a = XADatasource. (from jboss). I have configure the SessionFactory to work with my XADataSource and it works = fine. I use factory-level jcs caching but have the same problems without the cache. Please consider = the following debug trace from jboss: <snippet> [18:18:00,752,JTATransaction] Looking for UserTransaction under: = UserTransaction [18:18:00,752,JTATransaction] Obtained UserTransaction [18:18:00,752,JTATransaction] beginning new transaction [18:18:00,752,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,752,SessionImpl] flushing session [18:18:00,752,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,752,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 1 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,ReadWriteCache] Invalidating: 357 [18:18:00,772,CompositeCache] get: key =3D 357, localOnly =3D false [18:18:00,772,LRUMemoryCache] getting item for key: 357 [18:18:00,772,LRUMemoryCache] jteam.usermanager.hibernate.UserImpl: = LRUMemoryCache hit for 357 [18:18:00,772,CompositeCache] jteam.usermanager.hibernate.UserImpl - = Memory cache hit [18:18:00,772,CompositeCache] Updating memory cache [18:18:00,772,CompositeCache] No auxilliary cache to update [18:18:00,772,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [18:18:00,772,SessionFactoryImpl] preparing statement [18:18:00,772,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Adding to batch [18:18:00,772,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [18:18:00,772,SessionFactoryImpl] closing statement [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,772,JTATransaction] commit [18:18:00,772,SessionImpl] flushing session [18:18:00,772,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 0 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,782,SessionImpl] closing session [18:18:00,782,SessionImpl] disconnecting session [18:18:00,782,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> As you see an update is issued. According to the output, a new = UserTransaction is obtained and begin is called. As you see, commit is called.. but see the last line: there is no current transaction??? = Seems strange to me. I'm using a Oracle8i database on the backend and the seqhilo.long id generator to generate id's.=20 I have tested this code outside of the jboss container with normal = JDBC transactions and it works fine. I'm looking into it, but maybe one of you guys has an idea?=20 I like hibernate a lot by the way! keep up the good work cheers Joost. -- Joost van de Wijgerd JTeam B.V. www.jteam.nl jo...@jt... +31(0)6 24 111 401 "A good developer knows development is more than programming. A great developer knows development is more than development." -- Scott Ambler |
From: Joost v. de W. <jo...@jt...> - 2002-10-07 17:31:54
|
Hi Gavin, Ok, just to be sure I de-activated the caches and the result is the = same: (except without the cache output) <snippet> [19:27:55,211,JTATransaction] Looking for UserTransaction under: = UserTransaction [19:27:55,211,JTATransaction] Obtained UserTransaction [19:27:55,211,JTATransaction] beginning new transaction [19:27:55,211,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#459 [19:27:55,211,SessionImpl] flushing session [19:27:55,211,SessionImpl] Flushing entities and processing referenced = collections [19:27:55,211,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#459 [19:27:55,231,SessionImpl] Processing unreferenced collections [19:27:55,231,SessionImpl] Scheduling collection = removes/(re)creates/updates [19:27:55,231,SessionImpl] Flushed: 0 insertions, 1 updates, 0 deletions = to 1 objects [19:27:55,231,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [19:27:55,231,SessionImpl] Executing [19:27:55,231,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#459 [19:27:55,231,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [19:27:55,231,SessionFactoryImpl] preparing statement [19:27:55,231,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#459 [19:27:55,231,SessionImpl] Adding to batch [19:27:55,231,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [19:27:55,241,SessionFactoryImpl] closing statement [19:27:55,241,SessionImpl] Initializing collection dirty flags [19:27:55,241,JTATransaction] commit [19:27:55,241,SessionImpl] flushing session [19:27:55,241,SessionImpl] Flushing entities and processing referenced = collections [19:27:55,241,SessionImpl] Processing unreferenced collections [19:27:55,241,SessionImpl] Scheduling collection = removes/(re)creates/updates [19:27:55,241,SessionImpl] Flushed: 0 insertions, 0 updates, 0 deletions = to 1 objects [19:27:55,241,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [19:27:55,241,SessionImpl] Executing [19:27:55,241,SessionImpl] Initializing collection dirty flags [19:27:55,241,SessionImpl] closing session [19:27:55,241,SessionImpl] disconnecting session [19:27:55,241,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> Really weird, I'll be looking into it for the coming hours (checking = both jboss 2.4.9 and hibernate code) will let you know if I find anything weird. thanks for the quick response Joost. |
From: Gavin K. <ga...@ap...> - 2002-10-07 17:09:15
|
Sorry - didn't read your message properly! I will look at this more closely. ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: hib...@li...=20 Sent: Tuesday, October 08, 2002 2:38 AM Subject: [Hibernate] Hibernate 1.1 and JBoss > strange JTA behavior Hi, I'm using hibernate 1.1 final and JBoss-2.4.9-Tomcat-4.0.4 with a = XADatasource. (from jboss). I have configure the SessionFactory to work with my XADataSource and it works = fine. I use factory-level jcs caching but have the same problems without the cache. Please consider = the following debug trace from jboss: <snippet> [18:18:00,752,JTATransaction] Looking for UserTransaction under: = UserTransaction [18:18:00,752,JTATransaction] Obtained UserTransaction [18:18:00,752,JTATransaction] beginning new transaction [18:18:00,752,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,752,SessionImpl] flushing session [18:18:00,752,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,752,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 1 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,ReadWriteCache] Invalidating: 357 [18:18:00,772,CompositeCache] get: key =3D 357, localOnly =3D false [18:18:00,772,LRUMemoryCache] getting item for key: 357 [18:18:00,772,LRUMemoryCache] jteam.usermanager.hibernate.UserImpl: = LRUMemoryCache hit for 357 [18:18:00,772,CompositeCache] jteam.usermanager.hibernate.UserImpl - = Memory cache hit [18:18:00,772,CompositeCache] Updating memory cache [18:18:00,772,CompositeCache] No auxilliary cache to update [18:18:00,772,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [18:18:00,772,SessionFactoryImpl] preparing statement [18:18:00,772,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Adding to batch [18:18:00,772,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [18:18:00,772,SessionFactoryImpl] closing statement [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,772,JTATransaction] commit [18:18:00,772,SessionImpl] flushing session [18:18:00,772,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 0 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,782,SessionImpl] closing session [18:18:00,782,SessionImpl] disconnecting session [18:18:00,782,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> As you see an update is issued. According to the output, a new = UserTransaction is obtained and begin is called. As you see, commit is called.. but see the last line: there is no current transaction??? = Seems strange to me. I'm using a Oracle8i database on the backend and the seqhilo.long id generator to generate id's.=20 I have tested this code outside of the jboss container with normal = JDBC transactions and it works fine. I'm looking into it, but maybe one of you guys has an idea?=20 I like hibernate a lot by the way! keep up the good work cheers Joost. -- Joost van de Wijgerd JTeam B.V. www.jteam.nl jo...@jt... +31(0)6 24 111 401 "A good developer knows development is more than programming. A great developer knows development is more than development." -- Scott Ambler |
From: Gavin K. <ga...@ap...> - 2002-10-07 17:06:16
|
As noted in the documentation, you can't currently use JCS caching with = container-managed transactions. The good news is you *will* be able to in the very next release (I am = implementing it tomorrow) :) ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: hib...@li...=20 Sent: Tuesday, October 08, 2002 2:38 AM Subject: [Hibernate] Hibernate 1.1 and JBoss > strange JTA behavior Hi, I'm using hibernate 1.1 final and JBoss-2.4.9-Tomcat-4.0.4 with a = XADatasource. (from jboss). I have configure the SessionFactory to work with my XADataSource and it works = fine. I use factory-level jcs caching but have the same problems without the cache. Please consider = the following debug trace from jboss: <snippet> [18:18:00,752,JTATransaction] Looking for UserTransaction under: = UserTransaction [18:18:00,752,JTATransaction] Obtained UserTransaction [18:18:00,752,JTATransaction] beginning new transaction [18:18:00,752,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,752,SessionImpl] flushing session [18:18:00,752,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,752,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 1 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,ReadWriteCache] Invalidating: 357 [18:18:00,772,CompositeCache] get: key =3D 357, localOnly =3D false [18:18:00,772,LRUMemoryCache] getting item for key: 357 [18:18:00,772,LRUMemoryCache] jteam.usermanager.hibernate.UserImpl: = LRUMemoryCache hit for 357 [18:18:00,772,CompositeCache] jteam.usermanager.hibernate.UserImpl - = Memory cache hit [18:18:00,772,CompositeCache] Updating memory cache [18:18:00,772,CompositeCache] No auxilliary cache to update [18:18:00,772,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [18:18:00,772,SessionFactoryImpl] preparing statement [18:18:00,772,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Adding to batch [18:18:00,772,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [18:18:00,772,SessionFactoryImpl] closing statement [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,772,JTATransaction] commit [18:18:00,772,SessionImpl] flushing session [18:18:00,772,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 0 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,782,SessionImpl] closing session [18:18:00,782,SessionImpl] disconnecting session [18:18:00,782,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> As you see an update is issued. According to the output, a new = UserTransaction is obtained and begin is called. As you see, commit is called.. but see the last line: there is no current transaction??? = Seems strange to me. I'm using a Oracle8i database on the backend and the seqhilo.long id generator to generate id's.=20 I have tested this code outside of the jboss container with normal = JDBC transactions and it works fine. I'm looking into it, but maybe one of you guys has an idea?=20 I like hibernate a lot by the way! keep up the good work cheers Joost. -- Joost van de Wijgerd JTeam B.V. www.jteam.nl jo...@jt... +31(0)6 24 111 401 "A good developer knows development is more than programming. A great developer knows development is more than development." -- Scott Ambler |
From: Boring, J. W, A. <jb...@at...> - 2002-10-07 16:37:04
|
(1) Right, I've corrected the diagram. (2) Sorry but don't have time right now to install & learn AFT - HTML is = easier for me. But the attached zip contain the new files in plain text = and the new diagram. If I have more time later on I'll learn AFT - I'm curious but just don't = have any more time right now. Jeff -----Original Message----- From: Gavin King [mailto:ga...@ap...] Sent: Friday, October 04, 2002 1:24 PM To: Boring, Jeff W, ALBAS Cc: hib...@li... Subject: Re: [Hibernate] Network Demo Thanks Jeff! This is very helpful :) A couple of points 1. The UML diagram is not quite right. There are only two associations between edge and vertex. They are both bidirectional associations so = they appear twice in the mapping files. 2. All the website documentation is done in AFT (http://www.maplefish.com/todd/aft.html) which is very easy to use (much easier than html). You will need to grab the source files from CVS to = see what they look like. The build script excludes them. peace Gavin ----- Original Message ----- From: "Boring, Jeff W, ALBAS" <jb...@at...> To: <hib...@li...> Sent: Saturday, October 05, 2002 2:39 AM Subject: RE: [Hibernate] Network Demo Gavin, et. al. Actually, I kind of like the demo now that I understand the model and = the domain. I've tweeted the hibernate-XXX\doc\demo.html a little to help = others with the same problem. These changes include a UML diagram for vertex, source & edge as well as some explanations about the sample commands. Just add all the files from the zip to the hibernate-XXX\doc directory. Enjoy, Jeff Boring Custom & Web Services Development AT&T Labs jb...@at... |
From: Joost v. de W. <jo...@jt...> - 2002-10-07 16:36:31
|
Hi, I'm using hibernate 1.1 final and JBoss-2.4.9-Tomcat-4.0.4 with a = XADatasource. (from jboss). I have configure the SessionFactory to work with my XADataSource and it works = fine. I use factory-level jcs caching but have the same problems without the cache. Please consider = the following debug trace from jboss: <snippet> [18:18:00,752,JTATransaction] Looking for UserTransaction under: = UserTransaction [18:18:00,752,JTATransaction] Obtained UserTransaction [18:18:00,752,JTATransaction] beginning new transaction [18:18:00,752,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,752,SessionImpl] flushing session [18:18:00,752,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,752,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 1 updates, 0 deletions = to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,ReadWriteCache] Invalidating: 357 [18:18:00,772,CompositeCache] get: key =3D 357, localOnly =3D false [18:18:00,772,LRUMemoryCache] getting item for key: 357 [18:18:00,772,LRUMemoryCache] jteam.usermanager.hibernate.UserImpl: = LRUMemoryCache hit for 357 [18:18:00,772,CompositeCache] jteam.usermanager.hibernate.UserImpl - = Memory cache hit [18:18:00,772,CompositeCache] Updating memory cache [18:18:00,772,CompositeCache] No auxilliary cache to update [18:18:00,772,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [18:18:00,772,SessionFactoryImpl] preparing statement [18:18:00,772,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Adding to batch [18:18:00,772,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [18:18:00,772,SessionFactoryImpl] closing statement [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,772,JTATransaction] commit [18:18:00,772,SessionImpl] flushing session [18:18:00,772,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 0 updates, 0 deletions = to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,782,SessionImpl] closing session [18:18:00,782,SessionImpl] disconnecting session [18:18:00,782,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> As you see an update is issued. According to the output, a new = UserTransaction is obtained and begin is called. As you see, commit is called.. but see the last line: there is no current transaction??? = Seems strange to me. I'm using a Oracle8i database on the backend and the seqhilo.long id generator to generate id's.=20 I have tested this code outside of the jboss container with normal JDBC = transactions and it works fine. I'm looking into it, but maybe one of you guys has an idea?=20 I like hibernate a lot by the way! keep up the good work cheers Joost. -- Joost van de Wijgerd JTeam B.V. www.jteam.nl jo...@jt... +31(0)6 24 111 401 "A good developer knows development is more than programming. A great developer knows development is more than development." -- Scott Ambler |
From: Chris W. <cwi...@op...> - 2002-10-07 15:47:17
|
On Mon, 2002-10-07 at 11:40, Gavin King wrote: > Do you realize you can do stuff like: > > IdentifierGenerator idgen = new HiLoGenerator(); > id = idgen.generate( (SessionImplementor) session); > > Its actually a bit of a hassle to support generation of *part* of a > composite identifier...... I know, I know. But this is the problem with retrofitting -- I really cannot change the existing schema. (Picture trying to get the sun to rise in the West and set in the East...) I'm pretty sure I've got the logic and code nailed down ok, I just need to be able to identify which of the fields is generated. Chris -- Chris Winters (cwi...@op...) Java Developer |
From: Jozsa K. <dy...@on...> - 2002-10-07 15:44:04
|
(post is followup for: http://sourceforge.net/forum/forum.php?thread_id=741754&forum_id=128638) OK, I've jumped into Hibernate's source (first in my life). I've added support into ClauseParser looking for the needed START WITH and CONNECT BY clauses - that was the easy part.. I see (if I see correctly), that I'll need two additional Parser-implementing classes working for these two clauses. I've checked some another parser classes to take as examples (OrderByParser and WhereParser), and afair I have to extend the QueryTranslator class with the Lists and needed methods to insert elements into the lists for these two clauses. I also seem have to parse up the possible object relations before adding the clauses to the QueryTranslator. After finishing all these I would have to add the right lines to QT.renderSQL(), and.. and I'd really throw some Exception when we're not on top of Oracle (I thought after, but cant think of any way doing this from plain SQL'92 for the first try). So.. is that the way I'd go, or I'm horrible mistaken? Also, is anyone interested adding this feature, or is that only me, myself and I? :) thanks, dyn ps. ofc if this code is already in CVS or will be for tomorrow, I'll be the happiest dude around :) But if that job waits for me, I'll try and get through it tomorrow. -- .Digital.Yearning.for.Networked.Assassination.and.Xenocide |
From: Gavin K. <ga...@ap...> - 2002-10-07 15:41:57
|
Urrgghhh........you just *have* to have this do you? ;) j/k ummmm. Do you realize you can do stuff like: IdentifierGenerator idgen = new HiLoGenerator(); id = idgen.generate( (SessionImplementor) session); Its actually a bit of a hassle to support generation of *part* of a composite identifier...... ----- Original Message ----- From: "Chris Winters" <cwi...@op...> To: "Gavin King" <ga...@ap...> Cc: "hibernate list" <hib...@li...> Sent: Tuesday, October 08, 2002 12:25 AM Subject: Re: [Hibernate] Mapping DTD changes > On Mon, 2002-10-07 at 06:47, Gavin King wrote: > > I've made some "improvements" to the mapping dtd. > > ... > > * replaced the use of <property> inside <composite-id> declarations with > > <key-property> > > For implementing a generated field as part of a composite ID, how would > I specify in the <composite-id> element which field is the generated > one? I hope to have this coded up soon, for all three people in the > world who need it :-) > > Thanks, > > Chris > > -- > Chris Winters (cwi...@op...) > Java Developer > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > hibernate-devel mailing list > hib...@li... > https://lists.sourceforge.net/lists/listinfo/hibernate-devel |
From: Chris W. <cwi...@op...> - 2002-10-07 14:03:20
|
On Mon, 2002-10-07 at 06:47, Gavin King wrote: > I've made some "improvements" to the mapping dtd. > ... > * replaced the use of <property> inside <composite-id> declarations with > <key-property> For implementing a generated field as part of a composite ID, how would I specify in the <composite-id> element which field is the generated one? I hope to have this coded up soon, for all three people in the world who need it :-) Thanks, Chris -- Chris Winters (cwi...@op...) Java Developer |
From: Gavin K. <ga...@ap...> - 2002-10-07 10:48:29
|
I've made some "improvements" to the mapping dtd. * used enumerated attribute types everywhere * the above required changing "save/update" cascade style to "save-update" * introduced <key-many-to-one> and <key-property> elements for mapping properties + associations that are part of a primary key * replaced the use of <property> inside <composite-id> declarations with <key-property> * added <composite-index> and <index-many-to-many> elements, allowing a Map with an association as part of its key. * removed all the deprecated length attributes on foreign key elements like <many-to-one> Old mappings continue to work, they just don't conform to the new DTD. I will try to provide support for both DTD versions for the near future. (1) Does anyone know the best naming convention for new DTD versions? Would this: hibernate-mapping-1.1.dtd be okay? (2) Does anyone have any criticism of the new DTD changes? In particular, better names for the new elements. (3) Is there anything else anyone would like to see changed? Now would be a good time to change/fix anything people find inelegant. |
From: Gavin K. <ga...@ap...> - 2002-10-07 10:32:07
|
Urrgghhhh. I hadn't noticed all those copy/paste errors. Fixed now. ----- Original Message -----=20 From: Brad Clow=20 To: Gavin King=20 Sent: Monday, October 07, 2002 5:39 PM Subject: hibernate-generic.dtd i have "fixed" up the hibernate-generic.dtd. i am not an xml/dtd guru and my understanding is that u have grouped = attributes under their respective elements for readability - the = attributes are not encapsulated in the element. an attribute is = actually associated with an element with the element name immediately = following the <!ATTLIST. given this, i don't understand y all the = attributes defined immediately after the collection element refer to the = component element. pls correct me if i have totally lost the plot here. thanx brad |
From: Yaron Z. <ya...@id...> - 2002-10-07 09:47:31
|
Gavin, This is more inline with the performance test I've conducted. Moreover, OBJ stability is not there yet. Yaron. -----Original Message----- From: Gavin King [mailto:ga...@ap...] Sent: Sunday, October 06, 2002 9:35 PM To: hibernate list Subject: [Hibernate] Oh I'm sick of being nice. Since certain people are accusing us of FUD in the mailing list of their project, I might as well publish some info. I've been aware of these kind of results for a while, but have never ever publicised them. One of the OJB performance tests has been reimplemented for Hibernate (by Matt Baird of OJB, and tweaked by me) and heres some numbers. Everyone can draw their own conclusions. I don't personally put much stock in these kind of toy test cases. Results like this don't really tell you how a system will scale with multiple threads / servers. So take all with a grain of salt. (You should take the third test run as most representative.) OJB (DB2) ========= inserting 1000 Objects: 3203 msec updating 1000 Objects: 1906 msec querying 1000 Objects: 2235 msec querying 1000 Objects: 46 msec deleting 1000 Objects: 1391 msec inserting 1000 Objects: 1531 msec updating 1000 Objects: 1562 msec querying 1000 Objects: 2110 msec querying 1000 Objects: 828 msec deleting 1000 Objects: 1375 msec inserting 1000 Objects: 1500 msec updating 1000 Objects: 1516 msec querying 1000 Objects: 1890 msec querying 1000 Objects: 797 msec deleting 1000 Objects: 1265 msec Hibernate (DB2) =============== inserting 1000 Objects: 1719 msec updating 1000 Objects: 875 msec querying 1000 Objects: 1640 msec querying 1000 Objects: 78 msec deleting 1000 Objects: 641 msec inserting 1000 Objects: 891 msec updating 1000 Objects: 656 msec querying 1000 Objects: 1422 msec querying 1000 Objects: 187 msec deleting 1000 Objects: 656 msec inserting 1000 Objects: 547 msec updating 1000 Objects: 625 msec querying 1000 Objects: 1344 msec querying 1000 Objects: 16 msec deleting 1000 Objects: 532 msec OJB (MySQL) =========== inserting 1000 Objects: 2218 msec updating 1000 Objects: 1750 msec querying 1000 Objects: 2219 msec querying 1000 Objects: 1438 msec deleting 1000 Objects: 1125 msec inserting 1000 Objects: 1312 msec updating 1000 Objects: 1453 msec querying 1000 Objects: 1687 msec querying 1000 Objects: 1500 msec deleting 1000 Objects: 1125 msec inserting 1000 Objects: 1297 msec updating 1000 Objects: 1500 msec querying 1000 Objects: 1953 msec querying 1000 Objects: 781 msec deleting 1000 Objects: 1078 msec Hibernate (MySQL) ================= inserting 1000 Objects: 1422 msec updating 1000 Objects: 1407 msec querying 1000 Objects: 2125 msec querying 1000 Objects: 93 msec deleting 1000 Objects: 891 msec inserting 1000 Objects: 875 msec updating 1000 Objects: 1109 msec querying 1000 Objects: 1766 msec querying 1000 Objects: 16 msec deleting 1000 Objects: 765 msec inserting 1000 Objects: 985 msec updating 1000 Objects: 921 msec querying 1000 Objects: 1735 msec querying 1000 Objects: 15 msec deleting 1000 Objects: 704 msec OJB (HSQL) ========== inserting 1000 Objects: 6360 msec updating 1000 Objects: 1172 msec querying 1000 Objects: 609 msec querying 1000 Objects: 31 msec deleting 1000 Objects: 375 msec inserting 1000 Objects: 547 msec updating 1000 Objects: 953 msec querying 1000 Objects: 438 msec querying 1000 Objects: 15 msec deleting 1000 Objects: 360 msec inserting 1000 Objects: 578 msec updating 1000 Objects: 875 msec querying 1000 Objects: 234 msec querying 1000 Objects: 16 msec deleting 1000 Objects: 250 msec Hibernate (HSQL) ================ inserting 1000 Objects: 890 msec updating 1000 Objects: 1063 msec querying 1000 Objects: 890 msec querying 1000 Objects: 78 msec deleting 1000 Objects: 344 msec inserting 1000 Objects: 594 msec updating 1000 Objects: 781 msec querying 1000 Objects: 656 msec querying 1000 Objects: 172 msec deleting 1000 Objects: 282 msec inserting 1000 Objects: 437 msec updating 1000 Objects: 797 msec querying 1000 Objects: 453 msec querying 1000 Objects: 16 msec deleting 1000 Objects: 235 msec ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ hibernate-devel mailing list hib...@li... https://lists.sourceforge.net/lists/listinfo/hibernate-devel |
From: Gavin K. <ga...@ap...> - 2002-10-07 07:56:17
|
Aah, if we need to include the JavaGroups jar, we need to include it. I made a change to the caching stuff last night that will have an impact upon you guys. Previously, we distinguished "before" and "after" by looking at System.currentTimeMillis(). I've added cirrus.hibernate.cache.Timestamper which generates 'timestamps' that are much more fine-grained than System.currentTimeMillis(), so that cache hits will be more likely. The new 'timestamps' are only safe in a single VM, so you guys will have to figure out what to do in a distributed cache. (In fact, the old mechanism which used System.currentTimeMillis() was also non-safe for a distributed cache.) I guess we would need the lockserver to generate timestamps somehow..... I'm not sure of the details of this, or the performance implications (hitting the lockserver at the start of every session???). ----- Original Message ----- From: "Jon Lipsky" <jon...@xe...> To: "Gavin King" <ga...@ap...>; "Christian Meunier" <vc...@cl...> Cc: "hibernate list" <hib...@li...> Sent: Monday, October 07, 2002 4:14 PM Subject: Re: [Hibernate] RE: DistributedCacheConcurrencyStrategy > Hi, > > I myself really like the idea of the DistributedCacheConcurrency. (Of > course, I'm being a little selfish since I have an immediate use for it.) > Christian, if you need any help to finish, and/or test it, please let me > know. I have an application already written which would be a good test for > this. > > Gavin, since your hesitant to add yet another dependency into the codebase, > have you thought about adding a "hibernate-optional.jar" to the project that > could contain non-core, but useful things like this? > > Jon... > > ----- Original Message ----- > From: "Gavin King" <ga...@ap...> > To: "Christian Meunier" <vc...@cl...> > Cc: "hibernate list" <hib...@li...> > Sent: Sunday, October 06, 2002 7:13 PM > Subject: Re: [Hibernate] RE: DistributedCacheConcurrencyStrategy > > > > I *finally* had a chance to look over your work on this: pretty cool, I > like > > it. Not yet convinced that we want to introduce a JavaGroups dependency > into > > the main codebase, but you could work on me and I might capitulate :) > > > > > I thought how to achieve maximum flexibility and keep a clean code for > the > > cache, i came up with the following > > > design that makes more sense IMHO than using a > > DistributedCacheConcurrency: > > > > > (1) Define a lockserver interface > > > (2) Implement a local lockserver > > > (3) Implement a centralized lockserver > > > (4) Optionally implement a distributed lockserver ( the one i actually > > did but i believe centralized one makes more sense) > > > (5) Refactor the ReadWriteCacheConcurrency: [snip] > > > (6) Refactor the <jcs-cache> tag so we can: [snip] > > > > Yup, all thats quite acceptable. > > > > > (7) Add a remove method to the Cache interface so we allow > implementation > > such the proposed "lightweight readwrite" ( see my previous email) to use > > it. Clearly state in the javadoc tag that using this method an > > implementation can not fully ensure tx isolation in all case. > > > > Sounds reasonable. > > > > > > > What is the correct behaviour regarding the lockserver, i believe i did > > something wrong in the distributable prototype, i mean when we try to > > acquire a lock and the server responds saying the object is already > locked. > > Should we then go to the database ( what i currently do ) or wait and > retry. > > > I believe the latter is the correct answer. > > > > Nope, we should go straight to the database. Hibernate threads never ever > > wait for each other. > > > > Thanks Christian, sorry for not addressing this sooner. Just been *very* > > busy..... > > > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > hibernate-devel mailing list > > hib...@li... > > https://lists.sourceforge.net/lists/listinfo/hibernate-devel > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > hibernate-devel mailing list > hib...@li... > https://lists.sourceforge.net/lists/listinfo/hibernate-devel |
From: Jon L. <jon...@xe...> - 2002-10-07 06:15:33
|
Hi, I myself really like the idea of the DistributedCacheConcurrency. (Of course, I'm being a little selfish since I have an immediate use for it.) Christian, if you need any help to finish, and/or test it, please let me know. I have an application already written which would be a good test for this. Gavin, since your hesitant to add yet another dependency into the codebase, have you thought about adding a "hibernate-optional.jar" to the project that could contain non-core, but useful things like this? Jon... ----- Original Message ----- From: "Gavin King" <ga...@ap...> To: "Christian Meunier" <vc...@cl...> Cc: "hibernate list" <hib...@li...> Sent: Sunday, October 06, 2002 7:13 PM Subject: Re: [Hibernate] RE: DistributedCacheConcurrencyStrategy > I *finally* had a chance to look over your work on this: pretty cool, I like > it. Not yet convinced that we want to introduce a JavaGroups dependency into > the main codebase, but you could work on me and I might capitulate :) > > > I thought how to achieve maximum flexibility and keep a clean code for the > cache, i came up with the following > > design that makes more sense IMHO than using a > DistributedCacheConcurrency: > > > (1) Define a lockserver interface > > (2) Implement a local lockserver > > (3) Implement a centralized lockserver > > (4) Optionally implement a distributed lockserver ( the one i actually > did but i believe centralized one makes more sense) > > (5) Refactor the ReadWriteCacheConcurrency: [snip] > > (6) Refactor the <jcs-cache> tag so we can: [snip] > > Yup, all thats quite acceptable. > > > (7) Add a remove method to the Cache interface so we allow implementation > such the proposed "lightweight readwrite" ( see my previous email) to use > it. Clearly state in the javadoc tag that using this method an > implementation can not fully ensure tx isolation in all case. > > Sounds reasonable. > > > > What is the correct behaviour regarding the lockserver, i believe i did > something wrong in the distributable prototype, i mean when we try to > acquire a lock and the server responds saying the object is already locked. > Should we then go to the database ( what i currently do ) or wait and retry. > > I believe the latter is the correct answer. > > Nope, we should go straight to the database. Hibernate threads never ever > wait for each other. > > Thanks Christian, sorry for not addressing this sooner. Just been *very* > busy..... > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > hibernate-devel mailing list > hib...@li... > https://lists.sourceforge.net/lists/listinfo/hibernate-devel > |