|
From: Patrick Y. <kc...@ce...> - 2005-07-21 09:12:59
|
Sorry for late reply. It is really nice to know the progress. Regarding=20 the inner classes, I think there are various reasons for having them.=20 Some are for package security, so that only the nested classes can=20 access them. Also there are some being created just for convenience. Regards, Patrick Yee Center for E-Commerce Infrastructure Development Making E-Commerce Everyday Commerce Ronald van Kuijk wrote: >Hi Patrick, > >Great to hear. I'm already going fairly good. There is a lot of refactor= ing I'd like to do. I was >not confident before but now I've heard this, I'll go for it for sure. > >Since all servlet engines also support JMX at the moment, I'd like to co= nvert the real commands to >an MBean (stop, resume, backup, getStatus etc...) and have main servlet = just for receiving >messages from other MHS, either by http or by starting another monitor f= or smtp. Getting messages >to the MHS from a businessprocess can go through other 'monitors' (we di= scussed naming these >something else before, but I lost this conversation) Configurable (http,= jms, ejb, ...) and >possibly also as a JBI SPI (would be nice, connecting hermes to a standa= rd ESB right...?) > >One question I have is why there are so many innner classes? Is this bec= ause of security reasons >so they cannot be accessed from outside? > >I'll keep you guys posted. > >Ronald > >Patrick Yee probeerde me het volgende duidelijk te maken: > =20 > >>By the time we were designing Hermes, Hibernate is not that well >>considered... (yes, the other way to interpret this is, we are quite >>closed in terms of employing other libraries). I think your opinion is = a >>good one. >> >>Regards, >>Patrick Yee >>Center for E-Commerce Infrastructure Development >> >>Making E-Commerce Everyday Commerce >> >> >> >>R. van Kuijk (Ronald) wrote: >> >> =20 >> >>>Hmm... I missed the option to redirect file persistence to a database.= I'll have a look. With >>>'still it is not transaction-aware' you mean that the filepersistence = is not really transaction >>>aware? There are some 'in vm-locking mechamisms' in there but no real = commit/rollback etc. Would >>>that be needed? Kind of difficult, but I'll see. >>> >>>Ok, another question. I have a fairly clear picture of the front-end m= essageserver, >>>messageservicehandler etc and how the command parsing works. In additi= on to that, I dug a little >>>bit deeper into hermes again especially the DBTableManager classes etc= . If it is possible I'd >>>like to get some info on the architectural choices that were made to c= ome to such a solution. It >>>looks like it is some persistence mapping, for which there currently a= re very nice out-of-the-box >>>solutions (think hibernate). IMVVHO (it is a very, very humble one) th= is would also be a nice >>>change and would make it possible to support more databases. >>> >>>I'll try to work something out which makes it possible to store messag= es in either a file or a >>>database (configurable?) >>> >>> >>>-----Oorspronkelijk bericht----- >>>Van: ebx...@li... >>>[mailto:ebx...@li...] Namens Patrick Ye= e >>>Verzonden: woensdag 6 juli 2005 4:02 >>>Aan: ebx...@li... >>>Onderwerp: Re: [ebxmlms-general] Connectionpooling and transactions. w= as: Problems after lost >>>connection to database >>> >>>Now, Hermes supports a custom way (API) to redirect the file persisten= ce >>>to database. However, still it is not transaction-aware. So we may nee= d >>>to modify that API as well. What do you think? >>>Regards, -Patrick >>> >>> >>>Ronald van Kuijk wrote: >>> >>> >>> >>> =20 >>> >>>>Sounds interesting. But with regard to this immediately a second ques= tion comes to mind. There >>>>is >>>>also a transactionmechanism in place which does a kind of xa over a d= atabase and a filesystem. >>>>This makes it almost impossible to use the default JTA for this, whic= h would make the hermes >>>>core >>>>even smaller. For our company, storing the messages in a DB as a blob= is not a problem since we >>>>require clustering and failover any way. It is in fact even a require= ment unless there would be >>>>a >>>>JTA compatible filesystem persistency layer (JCA?)). >>>> >>>>Replacing the DBConnectionPool with a standard based solution can be = done by me, since I've done >>>>it before and probably have the code somewhere. DBCP does not have to= be provided then, since >>>>all >>>>servlet engines and j2ee servers contain one. But regarding the file = persistency I'd like to get >>>>a >>>>response from more users since that is another issue. >>>> >>>>Comments? >>>> >>>> >>>>Patrick Yee probeerde me het volgende duidelijk te maken: >>>> >>>> >>>> >>>> >>>> =20 >>>> >>>>>There is no strict reason for using our own implementation. So it wo= uld >>>>>be good to have some contribution to port Hermes to make use of othe= r >>>>>database pool, like DBCP. >>>>>Regards, -Patrick >>>>> >>>>>Regards, -Patrick >>>>> >>>>> >>>>>Mattias J wrote: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> =20 >>>>> >>>>>>Yes, why not include for example Jakarta Commons DBCP? >>>>>> >>>>>>At 2005-06-27 09:29, you wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> =20 >>>>>> >>>>>>>I guess the problem is that you have implemented your own >>>>>>>databasepool, without sophisticated recovery mechanism. >>>>>>>Our own application use javax.sql.DataSource, to get a connection.= I >>>>>>>guess there is a recovery mechanism in that solution, as our own >>>>>>>application runs fine when the connection gets back. >>>>>>>Is there anyway to use javax.sql.DataSource instead of your >>>>>>>implementation of the connection pool? I guess my question is more= to >>>>>>>why you are using your own implemtation, are you using some extra >>>>>>>stuff, I can't get from javax.sql.DataSource? >>>>>>> >>>>>>>Regards Kenneth >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> =20 >>>>>>> >>>>>>>>From: Patrick Yee <kc...@ce...> >>>>>>>>To: ebx...@li... >>>>>>>>CC: tr...@ho... >>>>>>>>Subject: Re: [ebxmlms-general] Problems after lost connection to >>>>>>>>database >>>>>>>>Date: Sun, 26 Jun 2005 19:19:35 +0800 >>>>>>>> >>>>>>>>We have not implemented a sophisticated recovery mechanism in the >>>>>>>>database connection pool. The only mechanism we have done is, >>>>>>>>whenever a connection is proved to be bad, we will not put it bac= k >>>>>>>>to the connection pool. Actually there was a suggestion some time >>>>>>>>ago that we can do a "select *" on some tables before we use the >>>>>>>>pooled database connection. We think that will create certain >>>>>>>>performance issue, and so we shelved that idea. Of course, if you >>>>>>>>want it, you can just patch the database connection pool classes = and >>>>>>>>implement any advanced recovery mechanism as you like. :-) >>>>>>>>Regards, -Patrick >>>>>>>> >>>>>>>> >>>>>>>>Kenneth Pedersen wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> =20 >>>>>>>> >>>>>>>>>Hi >>>>>>>>> >>>>>>>>>If I loose the connection to my database for a short time >>>>>>>>>(1-2minutes), MSH do not operate properly afterwards. >>>>>>>>> >>>>>>>>>When the connection is lost this occurs in the MSH_client.log: >>>>>>>>> >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: =3D> >>>>>>>>>DbConnectionPool.getConnection >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: <=3D >>>>>>>>>DbConnectionPool.getConnection >>>>>>>>>2005-06-21 09:13:34,384 ERROR [Thread-8]: [10002] Unknown error >>>>>>>>>Exception: java.sql.SQLException >>>>>>>>>Message: I/O Error: Connection reset by peer: socket write error >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: =3D> Transaction.rollb= ack >>>>>>>>>(txID: #2321) >>>>>>>>>2005-06-21 09:13:34,384 ERROR [Thread-8]: [10315] Cannot rollbac= k >>>>>>>>>DB changes >>>>>>>>>Exception: java.sql.SQLException >>>>>>>>>Message: Invalid state, the Connection object is closed. >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: =3D> >>>>>>>>>DbConnectionPool.freeConnection >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: <=3D >>>>>>>>>DbConnectionPool.freeConnection >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: <=3D Transaction.rollb= ack >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: =3D> >>>>>>>>>MessageServiceHandler.getNextUndeliveredMessage >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: =3D> >>>>>>>>>MessageServer.getUndeliveredMessages >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: =3D> >>>>>>>>>DbConnectionPool.getConnection >>>>>>>>>2005-06-21 09:13:34,384 DEBUG [Thread-8]: =3D> >>>>>>>>>DbConnectionPool.createConnection >>>>>>>>>2005-06-21 09:13:35,352 ERROR [Thread-8]: [10306] Cannot create = DB >>>>>>>>>connection Exception: java.sql.SQLException Message: Network err= or >>>>>>>>>IOException: Connection refused: connect >>>>>>>>>2005-06-21 09:13:35,352 DEBUG [Thread-8]: =3D> Transaction.rollb= ack >>>>>>>>>(txID: #2323) >>>>>>>>>2005-06-21 09:13:35,352 DEBUG [Thread-8]: <=3D Transaction.rollb= ack >>>>>>>>>2005-06-21 09:13:35,352 DEBUG [Thread-8]: =3D> >>>>>>>>>MessageServiceHandler.getNextUndeliveredMessage >>>>>>>>>2005-06-21 09:13:35,352 DEBUG [Thread-8]: =3D> >>>>>>>>>MessageServer.getUndeliveredMessages >>>>>>>>>2005-06-21 09:13:35,352 DEBUG [Thread-8]: =3D> >>>>>>>>>DbConnectionPool.getConnection >>>>>>>>>2005-06-21 09:13:35,352 DEBUG [Thread-8]: =3D> >>>>>>>>>DbConnectionPool.createConnection >>>>>>>>> >>>>>>>>> >>>>>>>>>After the connection is restored MSH do not seem to get a proper >>>>>>>>>connection. >>>>>>>>>This occurs then in the MSH_Client.log: >>>>>>>>> >>>>>>>>>2005-06-21 09:13:42,384 ERROR [Thread-8]: [10306] Cannot create = DB >>>>>>>>>connection >>>>>>>>>Exception: java.sql.SQLException Message: Network error >>>>>>>>>IOException: Connection refused: connect >>>>>>>>>2005-06-21 09:13:42,384 DEBUG [Thread-8]: =3D> Transaction.rollb= ack >>>>>>>>>(txID: #2338) >>>>>>>>>2005-06-21 09:13:42,384 DEBUG [Thread-8]: <=3D Transaction.rollb= ack >>>>>>>>>2005-06-21 09:13:42,384 DEBUG [Thread-8]: =3D> >>>>>>>>>MessageServiceHandler.getNextUndeliveredMessage >>>>>>>>>2005-06-21 09:13:42,384 DEBUG [Thread-8]: =3D> >>>>>>>>>MessageServer.getUndeliveredMessages >>>>>>>>>2005-06-21 09:13:42,384 DEBUG [Thread-8]: =3D> >>>>>>>>>DbConnectionPool.getConnection >>>>>>>>>2005-06-21 09:13:42,384 DEBUG [Thread-8]: =3D> >>>>>>>>>DbConnectionPool.createConnection >>>>>>>>>2005-06-21 09:13:43,384 ERROR [Thread-8]: [10306] Cannot create = DB >>>>>>>>>connection >>>>>>>>>Exception: java.sql.SQLException >>>>>>>>>Message: Network error IOException: Connection refused: connect >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>When i try to send a message through MSH i get this: >>>>>>>>>hk.hku.cecid.phoenix.message.handler.RequestException: >>>>>>>>>Failed to send query to MSH. >>>>>>>>>HTTP response code =3D 200 >>>>>>>>>HTTP response message =3D OK >>>>>>>>> at >>>>>>>>>hk.hku.cecid.phoenix.message.handler.Request.expectMapResponse(U= nknown >>>>>>>>>Source) >>>>>>>>> at >>>>>>>>>hk.hku.cecid.phoenix.message.handler.Request.sendMessageServiceH= andlerConfig(Unknown >>>>>>>>>Source) >>>>>>>>> at >>>>>>>>>hk.hku.cecid.phoenix.message.handler.Request.register(Unknown So= urce) >>>>>>>>> at hk.hku.cecid.phoenix.message.handler.Request.<init>(Unknown >>>>>>>>>Source) >>>>>>>>> at hk.hku.cecid.phoenix.message.handler.Request.<init>(Unknown >>>>>>>>>Source) >>>>>>>>> at >>>>>>>>>com.mysupply.ebxi.msh.MessageManager.sendMessage(MessageManager.= java:149) >>>>>>>>> >>>>>>>>> >>>>>>>>>And of course I can not receive any messages through MSH either. >>>>>>>>> >>>>>>>>>Does anybody have the same problems, after a lost database >>>>>>>>>connection? The other part of my application that uses MSH, is >>>>>>>>>right back in action when the database connection is restored, b= ut >>>>>>>>>not MSH. >>>>>>>>> >>>>>>>>>The app is running on jboss-4.0.1 (Tomcat 5.0.28), Java >>>>>>>>>jdk1.5.0_01. The database is Microsofts MSSQL 2000. The driver f= or >>>>>>>>>MSSQL is JTDS 1.0. >>>>>>>>>I have added this: >>>>>>>>><check-valid-connection-sql>select * from >>>>>>>>>some_table</check-valid-connection-sql> >>>>>>>>>to my datasource file: mssql-ds.xml which is deployed along with >>>>>>>>>msh.war. >>>>>>>>> >>>>>>>>>Everything is working fine, for days, until I loose the database >>>>>>>>>connection for a few minutes. >>>>>>>>> >>>>>>>>>________________________________________________________________= _ >>>>>>>>>Del din verden med MSN Spaces http://spaces.msn.com >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>------------------------------------------------------- >>>>>>>>>SF.Net email is sponsored by: Discover Easy Linux Migration Stra= tegies >>>>>>>>> >>>>>>>>> >>>>>>>>> =20 >>>>>>>>> >>>>>>>>>from IBM. Find simple to follow Roadmaps, straightforward articl= es, >>>>>>>> >>>>>>>> >>>>>>>> =20 >>>>>>>> >>>>>>>>>informative Webcasts and more! Get everything you need to get up= to >>>>>>>>>speed, fast. http://ads.osdn.com/?ad_id=3D7477&alloc_id=3D16492&= op=3Dclick >>>>>>>>>_______________________________________________ >>>>>>>>>ebxmlms-general mailing list >>>>>>>>>ebx...@li... >>>>>>>>>https://lists.sourceforge.net/lists/listinfo/ebxmlms-general >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> =20 >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> =20 >>>>>>>> >>>>>>>_________________________________________________________________ >>>>>>>Undg=E5 pop-ups med MSN Toolbar - http://toolbar.msn.dk/ hent den= gratis! >>>>>>> >>>>>>> >>>>>>> >>>>>>>------------------------------------------------------- >>>>>>>SF.Net email is sponsored by: Discover Easy Linux Migration Strate= gies >>>>>>> >>>>>>> >>>>>>> =20 >>>>>>> >>>>>>>from IBM. Find simple to follow Roadmaps, straightforward articles= , >>>>>> >>>>>> >>>>>> =20 >>>>>> >>>>>>>informative Webcasts and more! Get everything you need to get up t= o >>>>>>>speed, fast. http://ads.osdn.com/?ad_id=3D7477&alloc_id=3D16492&op= =3Dclick >>>>>>>_______________________________________________ >>>>>>>ebxmlms-general mailing list >>>>>>>ebx...@li... >>>>>>>https://lists.sourceforge.net/lists/listinfo/ebxmlms-general >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> =20 >>>>>>> >>>>>>------------------------------------------------------- >>>>>>SF.Net email is sponsored by: Discover Easy Linux Migration Strateg= ies >>>>>> >>>>>> >>>>>> =20 >>>>>> >>>>>>from IBM. Find simple to follow Roadmaps, straightforward articles, >>>>> >>>>> >>>>> =20 >>>>> >>>>>>informative Webcasts and more! Get everything you need to get up to >>>>>>speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&op=CCk >>>>>>_______________________________________________ >>>>>>ebxmlms-general mailing list >>>>>>ebx...@li... >>>>>>https://lists.sourceforge.net/lists/listinfo/ebxmlms-general >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> =20 >>>>>> >>>>>------------------------------------------------------- >>>>>SF.Net email is sponsored by: Discover Easy Linux Migration Strategi= es >>>>> >>>>> >>>>> =20 >>>>> >>>>>from IBM. Find simple to follow Roadmaps, straightforward articles, >>>> >>>> >>>> =20 >>>> >>>>>informative Webcasts and more! Get everything you need to get up to >>>>>speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&op=CCk >>>>>_______________________________________________ >>>>>ebxmlms-general mailing list >>>>>ebx...@li... >>>>>https://lists.sourceforge.net/lists/listinfo/ebxmlms-general >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> =20 >>>>> >>>> >>>> >>>> =20 >>>> >>> >>>------------------------------------------------------- >>>SF.Net email is sponsored by: Discover Easy Linux Migration Strategies >>> =20 >>> >>>from IBM. Find simple to follow Roadmaps, straightforward articles, >> =20 >> >>>informative Webcasts and more! Get everything you need to get up to >>>speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&op=3Dick >>>_______________________________________________ >>>ebxmlms-general mailing list >>>ebx...@li... >>>https://lists.sourceforge.net/lists/listinfo/ebxmlms-general >>> >>> >>>------------------------------------------------------- >>>SF.Net email is sponsored by: Discover Easy Linux Migration Strategies >>> =20 >>> >>>from IBM. Find simple to follow Roadmaps, straightforward articles, >> =20 >> >>>informative Webcasts and more! Get everything you need to get up to >>>speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&op=CCk >>>_______________________________________________ >>>ebxmlms-general mailing list >>>ebx...@li... >>>https://lists.sourceforge.net/lists/listinfo/ebxmlms-general >>> >>> >>> >>> =20 >>> >>------------------------------------------------------- >>SF.Net email is sponsored by: Discover Easy Linux Migration Strategies >>from IBM. Find simple to follow Roadmaps, straightforward articles, >>informative Webcasts and more! Get everything you need to get up to >>speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id=16492&op=CCk >>_______________________________________________ >>ebxmlms-general mailing list >>ebx...@li... >>https://lists.sourceforge.net/lists/listinfo/ebxmlms-general >> >> >> =20 >> > > > =20 > |