|
From: Mark P. <Mar...@Co...> - 2004-02-27 11:22:45
|
Hi everyone, I'll look over the code this weekend...on a little vacation now. Anyway, sounds good so far. I'm in the middle of discussing donating JMS code we developed at our company... Some of the larger items are: 1. A very efficient implementation of the JMS selector for use on MapMessages, or really anything else you like, hashtables, even text messages. Based on JavaCC. This externalized the ugly switch statements that you typically have to do in the main callback function. 2. We have a 'standalone' jms application, not in an appserver. We added some server like infrastructure classes to spring start up the connections, sessions, etc., after all the bean initialization. There are corresponding classes to handle setting up all the JMS specific stuff...tx session, what ack mode, etc. Vendors also make extensions to the standard modes that we should account for... 3. Much like the templates for jdbc etc. there is a bunch of surrounding code to handle exceptions correctly, also having a seperate method for "onDuplicate" based on the JMSHeader value is nice. 4. A 'pipe and filters' style processing framwork. Similar to what you might see in apache axis, but not specific to soap or jms. It it based on the reactor design pattern to pick off the appropriate processing chain to execute based on the evaluation of a JMS selector string that applies to the message body (not the header). It then iterates through various 'process' template methods of modules in the chain.. exceptions result in rolling back, that is calling 'rollback' up the chain and finally to a exceptionhandler. This is all externalized in a config file. I'm sure there might be temptations to compare to other workflow like projects... but this codebase is really pretty simple and has been extremely useful to us for a number of years.... It really also apply outside the messaging area... 5. Some pretty print utilities for messages, xml marhsaller/unmarshaller. This is part of my conversion/rewrite/refactoring of 'rvtest.sf.net (JUnit for TIBCO Rendezvous to JMS) I'll be releasing that code on sf but we can pick and choose little things that might be useful... I'm pretty sure most I can integrate most of the items on this list to the effort. Cheers, Mark > Hi Rod, Hi All, > > I've been working on the JMS support for a few weeks now and I think I'm > ready to go public with it to find out your opinion. So far, I got Mark to > volunteer to look at the code, make suggestions and possibly contribute > some > code. If anybody is interested to look at it as well, just drop me a mail, > I'll be happy to forward what I have so far to you. > > I'm not only interested in the feedback about the code, but would like to > hear opinions on what we should include and what not. The API for > messaging > is huge, well, big. The challenge is to try and put as much functionality > as > possible, but at the same token, try not to make it look complex. > > Here's the list of things I've implemented: > > 1. Templates for publish/subscribe and point-to-point messaging. I did > include support for both durable and non-durable messaging. > 2. The consumers will be able to not only create messages, but also will > have some control over how they will be delivered. I.e. modify default > delivery mode, priority, time to live. > 3. Message listeners will be instrumental in automatically registering > beans > as subscribers to topics and queues. > > I left out support for the transacted sessions. Sessions created are all > set > to "no-transaction" and "auto-ACK". Is this something we would like to see > in the framework or should we just keep it simple for now ? The more > suggestions I get now, the better, so please open the flood gate. :) > > Thanks, > > Andre. > >>From: "Rod Johnson" <rod...@in...> >>To: <spr...@li...> >>CC: "Andre Biryukov" <and...@ho...> >>Subject: Re: [Springframework-developer] JMS brainstorming >>Date: Thu, 26 Feb 2004 06:35:33 -0000 >> >>Rong >> >>JMS support is in the works, and should make 1.1. >> >>Andre Biryukov is currently working on this, and should be joining the >>Spring team soon. >> >>Andre, if you want to share your work in progress with the Spring dev >> list >>(or with Rong directly), now would be a good time :-) >> >>Regards, >>Rod >> >>----- Original Message ----- >>From: "Ou, Rong" <Ro...@sa...> >>To: <spr...@li...> >>Sent: Tuesday, February 24, 2004 9:44 PM >>Subject: [Springframework-developer] JMS brainstorming >> >> >>Hi all, >> >>We currently have a project that does a lot of JMS messaging, and we >>desperately need an API to simplify the interface layer to JMS. I heard >>rumors that JMS support will be added to Spring 1.1, but we just can't >> wait >>that long. So I am thinking about doing something in the interim. Who >>knows, >>if it comes out good, maybe I can contribute the code back. >> >>In Rod's book there is only a couple of pages that briefly touches upon >>JMS. >>I looked at the interface21 code, the JMS portion is also pretty >>simplistic. >>I understand Spring has evolved a lot since the interface21 days. So to >> all >>you experienced Spring'ers, if you were to add JMS support today, what >>would >>you do? I am still fairly new to Spring, so any suggestions and help are >>welcome. >> >>Thanks, >> >>Rong >> >> >>------------------------------------------------------- >>SF.Net is sponsored by: Speed Start Your Linux Apps Now. >>Build and deploy apps & Web services for Linux with >>a free DVD software kit from IBM. Click Now! >>http://ads.osdn.com/?ad_id56&alloc_id438&op=ick >>_______________________________________________ >>Springframework-developer mailing list >>Spr...@li... >>https://lists.sourceforge.net/lists/listinfo/springframework-developer >> >> > > _________________________________________________________________ > Stay informed on Election 2004 and the race to Super Tuesday. > http://special.msn.com/msn/election2004.armx > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > |