Re: [jug-discussion] If you started a web project on the JVM today...
True enough On 5/1/09 1:29 PM, Nick Lesiecki ndlesie...@yahoo.com wrote: If only I could write GWT code in Groovy then I would be in complete Nirvana. So, you'd want to write code in a dynamic language in the browser. Hmm. Some would say that's what Javascript is for. :) (Just imagine. Groovy compiling to Java compiling to Javascript. VM optimization nightmare!) Nick On May 1, 2009, at 12:37 PM, Richard Hightower wrote: I agree with Nick. GAEJ/Grails/GWT I'd want GWT on the frontend and GAEJ/Grails on the backend. I would use JPA/JDO talking to GAEJ datastore on the backend which I could port to another datastore if I needed. This is very nascent and I have not deployed an real world app yet. But if I was working on a green field app. This would be something I would consider. I am working on an App that we are considering porting to GWT (it is currently a SpringMVC/Ajax web app). I plan on writing a prototype graphing package to show what is possible with GWT. I am writing a series of articles on Google App Engine for Java for IBM. I love the idea of it. GWT on the front end makes a lot of sense to me. I prefer programming in Java and like the open nature of GWT (third party OS components seem to abound). The Groovy/Grails guy just added support for Grails running on GAEJ so if I could put that into the mix even better. If only I could write GWT code in Groovy then I would be in complete Nirvana. On 4/30/09 10:52 PM, Nick Lesiecki ndlesie...@yahoo.com wrote: java on app engine. If I didn't want to use AppEngine, I'd still do GWT with a GWT RPC backend on the serverside. Ajax apps with RPC to the server is the *only* way to develop web applications. Disclaimer, I didn't write GWT, and I have more than a few complaints about it. But it's architecture is the future of web app development. Period. No comment on storage. We do things differently at Google, so I'm out of touch with normal. We have concerns like: is it redundant in the face of two simultaneous data center outages? Nick On Apr 30, 2009, at 4:12 PM, Warner Onstine wrote: There are Java options for this, but why go with imitators :P? There's FeatherDB - http://code.google.com/p/featherdb/ Project Voldemort - http://project-voldemort.com/ And I'm sure others. But I'm sticking with CouchDB as I think it has a lot of strengths that the Java versions might not (Concurrency, Distributable out of the box, etc.). -warner On Thu, Apr 30, 2009 at 3:19 PM, Andrew Lenards andrew.lena...@gmail.com wrote: I fell victim to CouchDB's April Fools joke last year: http://damienkatz.net/2008/04/couchdb_language_change.html But it could have been two of three if that was true. On Thu, Apr 30, 2009 at 2:55 PM, Warner Onstine warn...@gmail.com wrote: I guess that's one out of three Java :P. -warner On Thu, Apr 30, 2009 at 2:50 PM, Warner Onstine warn...@gmail.com wrote: Grails, with Flex and CouchDB. -warner On Thu, Apr 30, 2009 at 2:48 PM, Andrew Lenards andrew.lena...@gmail.com wrote: I'm curious for the opinion of the list. If you started a project to build a web application today, what would you Java technology-stack be? - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson- jug.org - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Java is dead... Here we go again....
JRuby is cool. If I were going to use Ruby, it would most likely be Jruby. On 12/9/08 8:16 PM, Chad Woolley [EMAIL PROTECTED] wrote: On Tue, Dec 9, 2008 at 8:29 PM, Richard Hightower [EMAIL PROTECTED] wrote: For now I will stick to Java and Groovy with glee in my heart that I can get paid for something that I love to do. Damn, didn't mean for the trollfest to turn ugly. But it's fun to watch. Anyway, Rick, a few points: 1. I get paid to write Ruby, and I enjoy it more than I ever enjoyed writing Java. But, as Kit said, I also work with a lot of really cool, REALLY smart people. I worked with some really cool smart people when I was doing Java, but just a few of them, not a LOT of them. Smartness was the exception rather than the rule in standard java developers, in my experience. In Ruby it seems to be the opposite. I'm a biased troll, though... 2. I could care less what most developers in the world write (mostly outsourced/offshore/corporate maintenance drones I bet, but I can't back this up...). This is the nature of the adoption curve. 3. You've conveniently ignored my point about JRuby being able to take advantage of both the Java and Ruby ecosystems. Ruby has tons of sweet, cutting-edge, actively maintained, frequently-released, supremely hackable open source tools, libraries, and frameworks, which is facilitated by things like RubyGems and widespread GitHub adoption. When those don't work for you for some reason, JRuby lets you plug in any proven, performant, scalable Java library. As I said, language preference and market share aside, don't you agree this is a compelling advantage of JRuby? Remember, I love you all. I just love to troll too :) -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Java is dead... Here we go again....
Yes. Chad. That is very cool. Jython does the same for Python libs. It is pretty cool. On 12/10/08 9:37 AM, Chad Woolley [EMAIL PROTECTED] wrote: On Tue, Dec 9, 2008 at 10:45 PM, Richard Hightower [EMAIL PROTECTED] wrote: JRuby is cool. If I were going to use Ruby, it would most likely be Jruby. You've [still] conveniently ignored my point about JRuby being able to take advantage of both the Java and Ruby ecosystems [as opposed to Groovy]. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Java is dead... Here we go again....
Ic... I fell into your trap. At least I took Kit with me On 12/10/08 10:26 AM, Chad Woolley [EMAIL PROTECTED] wrote: On Wed, Dec 10, 2008 at 11:18 AM, Richard Hightower [EMAIL PROTECTED] wrote: Just not such a big fan of the Java is dead stuff. Yes, but that part was essential to my goal of getting an interesting thread going on this mailing list ;) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Since Chad Mentioned Guice
This is funny. I recently wrote this: http://java.dzone.com/articles/dependency-injection-an-introd I read your article (after promising myself that I would only skim it). Seems cool though... I like the hero references... I cover the @Autowire and the @Required and the @Attribute in my article. I like the section from your article that shows this: binder.bind(Vehicle.class).annotatedWith(Fast.class).to(WeaselCopter.class); Spring has a way to define your own custom annotations, but I left it for a future article (or perhaps never :). The concept of the Provider is interesting. What would be a good use case for it? BTW Thanks for sharing this. On 12/9/08 1:32 PM, Nick Lesiecki [EMAIL PROTECTED] wrote: (Or did he?) My article on Google's Guice, the latest, greatest* DI framework: http://www.ibm.com/developerworks/library/j-guice.html (* your view may vary.) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] JRuby vs. Groovy (was: Any News on the Holiday Party?)
RE: Java is dead, long live the JVM. JRuby FTW in the enterprise. From May 08 to Sept 08 Java job demand grew 3 times higher (in raw numbers) than the total Ruby market. But let's not mere facts get in the way of your Java is dead argument. Java continues to dwarf Ruby. And, Ruby does not seem to be picking up a lot of ground. Sure if you start from zero, percentage of growth sky rockets, but Not enough. BTW I prefer Groovy, but I won't claim Ruby is dead. http://www.indeed.com/jobtrends?q=java+programming%2C+ruby+programmingl= http://www.indeed.com/jobtrends?q=java%2C+rubyl= I am glad to see that Spring source is backing Groovy. I wonder why they did not back Jruby in a similar manner. H On 12/9/08 12:04 PM, Chad Woolley [EMAIL PROTECTED] wrote: Here's the latest performance numbers on JRuby: http://antoniocangiano.com/2008/12/09/the-great-ruby-shootout-december-2008/ Summary - JRuby is doing very well; came in second after Ruby 1.9; and compatibility is good and getting better all the time. Ok, troll time: My opinion - definitely try JRuby over Groovy. You get all the benefits of the Java ecosystem: native calls to java libraries, JVM execution, JIT compilation, packaging, war/ear-based deployment, etc, etc. Most importantly, however, you get a language that was designed to make people happy. Most Rubyists - especially those with experience in other languages - agree it achieves this goal well. As for Groovy, I still say it is an attempt to make a static language (Java) appear dynamic. They've done a decent job, but when you really compare it to using native Ruby, the warts and sharp edges poke through. The only argument I see in favor of Groovy is integration with the Java ecosystem, which JRuby effectively negates. Conversely, all language or syntax preference or prejudice aside, the Ruby ecosystem is also very rich (rubygems and github), and you cannot take advantage of this with Groovy. Why not be able to choose from the best of both worlds? Java is dead, long live the JVM. JRuby FTW in the enterprise. -- Chad On Mon, Dec 8, 2008 at 3:45 PM, Todd Ellermann [EMAIL PROTECTED] wrote: One more side note. JRuby runs on the JVM as well, and for a while was out performing the native Ruby interpreters. Not sure if that is still true. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Java is dead... Here we go again....
Kit, I am damn happy. I do not like Ruby. deploy/run/test not a problem mvn jetty:run Ok... I will bite, but just this once. When real trends start lining up with your Ruby prognostications then I will drink some of the Ruby flavor-aid that you guys have been spewing for the last three+ years. But when Java demand grows in 4 months larger than the entire Ruby market, I look at Ruby and laugh. I am happy that you can be paid to do Ruby development if that is what floats your boat, but I do not like Ruby. For now I will stick to Java and Groovy with glee in my heart that I can get paid for something that I love to do. I actually prefer Groovy to Python now. Groovy is everything I wanted Jython to be back in 1999 when I wrote Programming the Java APIs with Jython (a book that no one read). When you say Java is Dead it sounds a lot like Ruby has won. In terms of the Lamp world Ruby is dead last behind the likes of PHP, Perl and Python. In terms of the enterprise world, Ruby does not even show up. Ruby has won in the sense of a politically correct school where every kid with two left legs wins a race because we are all winners after all. Ruby has not won anything in any real sense except in the percentage of hype versus impact in the real world. In that sense Java is not Dead, Java is Michael Phelps. On 12/9/08 6:40 PM, Kit Plummer [EMAIL PROTECTED] wrote: Umm...SpringSource is really backing Grails (which happens to already be built on Spring). Yes in a way they are. If they backed Rails in a similar manner you would be all over it. Your point is moot. Groovy is a JSR, and so is JRuby. JRuby development is also being done by Sun engineers - so I'm not sure what your point is. The same can be said of EJB 1.0. Moot point. Sun's backing has little influence on success. In fact, some may say that Java success is a fluke. Sun sends out 100 things for every 1 that floats. Rod Johnson et al have a much better track record (although much smaller one). FWIW, Groovy was originally invented by James Strachan...who's neither a SpringSource or Sun guy, to say the least. Well known fact and not disputed. Again Moot point. SpringSource could have backed some Rail turds but they choose Grail turds. This was my point. Grails is tied to Groovy. The thing that you are missing in you're quantitative analysis below is the percentage of happy developers in both camps. I would assert, but you don't have to believe me, that there are many more happy Ruby devers than Java devers. Not only that - but, the issue of quality comes into play some where too. I won't provide an assertion here - but, it is a relative notion. Silliness. I know plenty of Java developers that tried Ruby and hated it. What makes you happy does not correlate to the general population per se. For example, there are people in the world who are quite content drinking their own urine, but I would not sell my stock in Coca-Cola quite yet. Don't get me wrong there is a plenty of ego on both sides of the fence here. It is imperative that you can see past this to the real value - developmental efficiency. There's no way Java can win - based on its code, build, deploy/run/test, code, build deploy/run/test cycle. Prompt mvn jetty:run Runs the entire webapp. Starts up damn quick. Java is the undisputed champion. Ruby is a mere pimple on the ass of development. It will take its place in history next to (at this point I realize if I name anything... I will just piss off a whole other group of people) Groovy helps...but, as soon as there is any level of complexity you'll be burdened with pure Java once again. This makes no sense. Why? I have written large things in Groovy and did not need to revert to Java. This is silliness. Moot point. If for no other reason than Sun is a turd, Java is dead. Unproven opinion, easily refuted with real evidence. Java is in no way dead. It will fall out of favor eventually as all things do. Ruby will be a never was. Java will one day be a former heavy weight champion of the world. Open sourcing Sun's version of the JVM and platform has done nothing for ensuring its longevity. Only said with a slight grin. On Dec 9, 2008, at 7:17 PM, Richard Hightower wrote: RE: Java is dead, long live the JVM. JRuby FTW in the enterprise. From May 08 to Sept 08 Java job demand grew 3 times higher (in raw numbers) than the total Ruby market. But let's not mere facts get in the way of your Java is dead argument. Java continues to dwarf Ruby. And, Ruby does not seem to be picking up a lot of ground. Sure if you start from zero, percentage of growth sky rockets, but Not enough. BTW I prefer Groovy, but I won't claim Ruby is dead. http://www.indeed.com/jobtrends?q=java+programming%2C+ruby+programmingl= http://www.indeed.com/jobtrends?q=java%2C+rubyl= I am glad to see that Spring source is backing Groovy. I wonder why they did not back
Re: [jug-discussion] OT -- SaveXP.com
Mac has Java 6 for about a month now (preview was available for much longer). It took a long time to switch from 1.5 to 1.6 because they had to switch from Carbon to CoCoa. This was a monumental task. The next release should come out a lot quicker (or so I heard on Java Posse podcast which I listened to on my Mac while coding happily with Java 6). On May 9, 2008, at 10:38 AM, Steven Elliott wrote: On 5/9/08 10:24, Drew Davidson [EMAIL PROTECTED] wrote: Welcome to the side of the angels, Rick. Glad to have you! - Drew Yes, unless you need to work in Java. My next purchase will be something to run Unbuntu on so I can update to Java 6 (and 7 this decade...). Steven - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] storing blobs on file system or in db
We did both. We stored the file in the DB. Then when the file is retrieved from the db, we write the file to the filesystem. The app would check for the file on the file system first if not found it gets it from the db and then writes it to the file system for next time. This has the advantage of working in a clustered env., and having all data reside in the DB for reasons already mentioned in this thread. This takes the load of the db (depending on the use cases of how often the documents get used). Also, this allowed the files to be served directly by Apache with a little Perl magic, but I digress. The first version worked well and did not use the Perl magic. The perl magic improved performance even more by taking the load off of our app server, and allowing Perl to hanlde delivering files, but again I digress. Just random thoughts -Original Message- From: Drew Davidson [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 16, 2005 4:46 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] storing blobs on file system or in db Andrew Huntwork wrote: I'm writing this web app that allows users to upload documents, such as word docs, images, etc, and then to download those documents again on request. the documents are not searched, interpretted, processed, version controlled, or anything else. just upload and download. i wonder if there's a general rule on whether one should stick such things into a db or onto the file system. i currently favor sticking them in the db. putting them on the fs seems to interfere with clustering (different files would be on different filesystems). it's also another thing to back up and generally maintain. on the other hand putting them in the db puts extra load on the db and the network. there are a bunch of other issues too. Any ideas? Thanks for any help. I'm all in favor of storing large documents, images, etc. in the filesystem and storing metadata in the db. I've implemented web-based systems using both purely db and combination of db and filesystem for storing data. I've found that the db route is, as you say, easier to administer in terms of backing up and access across multiple instances of applications and easier to configure to get to the data. But the performance penalty can be severe, especially in a heavily loaded application. I've done performance analysis on the db-based application and during peak loads up to 40% of the runtime of my application is spent on serving up the BLOBs as images (I store image data in the DB and access it through a special servlet that reads the BLOB from the database along with the image metadata like length and MIME type). This is just silly tying up a servlet engine to do stuff that Apache does more efficiently. My setup now is more complicated, but much more performant. By complicated I mean that I have a Spring-configured manager for db-external assets. This coordinates the usage of the filesystem with the db. Also backing up now has to include the virtual root of the filesystem where external resources are configured (the Spring-configured manager has a property that is set to this virtual root). The other complication is the setup of the Apache server to point to the resource directory. This is not so bad because I had another servlet serving this content anyway, it has now just moved to Apache instead of using the servlet. I'm not just uploading documents and serving them, however, so my setup is probably more complicated that yours would be. My application has uploaded images that are thumbnailed on-demand to verious sizes. Just my opinion, FWIW. - Drew -- +-+ Drew Davidson | OGNL Technology +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] storing blobs on file system or in db
We started using a shared file system so we could easily invalidate the file cache, but this came later. -Original Message- From: Randolph Kahle [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 16, 2005 3:28 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] storing blobs on file system or in db Interesting question. You could consider a shared file system. I hesitate recommending that documents be stored in a database. You don't need the transactional capabilities (correct?), and a RDMBS is not really a great blob storage device (yes, they can do it, but I don't reach for an RDBMS to store things like this unless I really need to). Randy On Mar 16, 2005, at 3:21 PM, Andrew Huntwork wrote: I'm writing this web app that allows users to upload documents, such as word docs, images, etc, and then to download those documents again on request. the documents are not searched, interpretted, processed, version controlled, or anything else. just upload and download. i wonder if there's a general rule on whether one should stick such things into a db or onto the file system. i currently favor sticking them in the db. putting them on the fs seems to interfere with clustering (different files would be on different filesystems). it's also another thing to back up and generally maintain. on the other hand putting them in the db puts extra load on the db and the network. there are a bunch of other issues too. Any ideas? Thanks for any help. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] storing blobs on file system or in db
I like to add this caveat. We arrived at this solution, because somebody was storing images in the db in the original design, and this was a major bottleneck. This was a workaround so we did not have to change as much code yet get the performance we wanted. The workaround had some nice advantages mentioned below, but it was arrived at not chosen per se. I am not sure if starting from scratch we would have stored any files in the DB. Thus, below was not a suggestion, it was an idea. -Original Message- From: Richard Hightower [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 29, 2005 9:39 AM To: 'jug-discussion@tucson-jug.org' Subject: RE: [jug-discussion] storing blobs on file system or in db We did both. We stored the file in the DB. Then when the file is retrieved from the db, we write the file to the filesystem. The app would check for the file on the file system first if not found it gets it from the db and then writes it to the file system for next time. This has the advantage of working in a clustered env., and having all data reside in the DB for reasons already mentioned in this thread. This takes the load of the db (depending on the use cases of how often the documents get used). Also, this allowed the files to be served directly by Apache with a little Perl magic, but I digress. The first version worked well and did not use the Perl magic. The perl magic improved performance even more by taking the load off of our app server, and allowing Perl to hanlde delivering files, but again I digress. Just random thoughts -Original Message- From: Drew Davidson [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 16, 2005 4:46 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] storing blobs on file system or in db Andrew Huntwork wrote: I'm writing this web app that allows users to upload documents, such as word docs, images, etc, and then to download those documents again on request. the documents are not searched, interpretted, processed, version controlled, or anything else. just upload and download. i wonder if there's a general rule on whether one should stick such things into a db or onto the file system. i currently favor sticking them in the db. putting them on the fs seems to interfere with clustering (different files would be on different filesystems). it's also another thing to back up and generally maintain. on the other hand putting them in the db puts extra load on the db and the network. there are a bunch of other issues too. Any ideas? Thanks for any help. I'm all in favor of storing large documents, images, etc. in the filesystem and storing metadata in the db. I've implemented web-based systems using both purely db and combination of db and filesystem for storing data. I've found that the db route is, as you say, easier to administer in terms of backing up and access across multiple instances of applications and easier to configure to get to the data. But the performance penalty can be severe, especially in a heavily loaded application. I've done performance analysis on the db-based application and during peak loads up to 40% of the runtime of my application is spent on serving up the BLOBs as images (I store image data in the DB and access it through a special servlet that reads the BLOB from the database along with the image metadata like length and MIME type). This is just silly tying up a servlet engine to do stuff that Apache does more efficiently. My setup now is more complicated, but much more performant. By complicated I mean that I have a Spring-configured manager for db-external assets. This coordinates the usage of the filesystem with the db. Also backing up now has to include the virtual root of the filesystem where external resources are configured (the Spring-configured manager has a property that is set to this virtual root). The other complication is the setup of the Apache server to point to the resource directory. This is not so bad because I had another servlet serving this content anyway, it has now just moved to Apache instead of using the servlet. I'm not just uploading documents and serving them, however, so my setup is probably more complicated that yours would be. My application has uploaded images that are thumbnailed on-demand to verious sizes. Just my opinion, FWIW. - Drew -- +-+ Drew Davidson | OGNL Technology +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED
[jug-discussion] Spring Hibernate JSF HELP!
We now have more work than we can do. I have several consulting positions open. You need a background in Spring, Hibernate and JSF. I'll accept a background in Spring and Hibernate. This will require travel. This particular work requires a lot of J2EE web development experience. -- r i c kh i g h t o w e r -- CTO -- [EMAIL PROTECTED] -- http://www.arc-mind.com -- p: 520-290-6855 -- m: 520-661-6753 -- f: 520-290-4179 -- 15378 e colossal cave rd -- Tucson, AZ 85641 JSF vs. FUD http://www-106.ibm.com/developerworks/library/j-jsf1/ Spring is good http://linuxworld.com/story/47735.htm JSF is good http://www.sys-con.com/story/?storyid=46402DE=1 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Meeting tonight at 6:30
I am in San Diego CA, but I will be there in spirit. :o) -Original Message- From: Warner Onstine [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 08, 2005 3:20 PM To: jug-discussion@tucson-jug.org Subject: [jug-discussion] Meeting tonight at 6:30 Just wanted to remind everyone that we have a meeting tonight, same place as usual (for the moment, we are actively searching for new digs for upcoming meetings). Tonight will be Rob Gingell, form head of the Java Community Process, now in his new role at Cassatt (http://www.cassatt.com). Here is a little taste of what Rob will be talking about (not too markety, I promise!) Java Programs Meet Scale-Out Commodity Architectures The industry trends of componentized applications (largely Java), rapid cost reduction of commodity systems, networking, and utility computing are amplifying and driving each other. In the pursuit of lower acquisition costs and apparent simplicities, many are deploying scale-out architectures either as replacements for old scale-up architectures or for new applications. In exchange, they are often eating much greater managerial complexity and costs. Cassatt Collage is a product designed to mitigate these costs and amplify the benefits of these trends, and this talk will be an introduction to the product from both a what it does and a how it does it point of view. Next month we will have a presentation on Java NIO and a short presentation on Swing applications from Ray Ramos (by request). Directions are here (look for the map link): http://www.tucson-jug.org/ Hope to see everyone! -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] More wasted time...laughing
I always thought he was funny. Even when he attacks me. You have to have a sense of humor. Hani is creative and outspoken... qualities I admire. I admit fully to being on the side of evil in Hani-land. I've done some C# development. It is very close to working with Java. I decided to stay the Java course. My decision is more based on bill rates than religious leanings towards one or the other. I prefer Java. I am familiar with it and feel comfortable with it, and there is always so much to learn. It seems that most of the important open source projects happen in Java land (first). -Original Message- From: Tim Colson (tcolson) [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 16, 2005 10:46 PM To: jug-discussion@tucson-jug.org Subject: [jug-discussion] More wasted time...laughing One of the links somewhere from Williams blog brought me to the BileBlog. I don't read Hani's stuff often because his rants often make me want to develop in C#. ;-) But sometimes what he writes is just damn funny...some [in]appropriate excerpts that hit close to T-JUG home (and almost always get comments from Rick grin): http://www.jroller.com/page/fate/Weblog?catname=%2FJava --- For 's sake, even maven, a tool for spastics, by spastics, a tool that's so badly written it would make any number of holy figures break down and cry like little girls, a tool so horrifically incompetent that it'd make the baby jeebus attempt to gnaw off his own family jewels, manages to actually get this right. Lucene is a worthy exception; how those lucene devs sleep at night while being part of such an embarrassingly incompetent organisation is fast becoming a modern day mystery of epic proportions. Good vs Evil ... In terms of editors, the side of evil prefers Eclipse. The side of evil is almost exclusively pure Windows users, and wouldn't know a cross platform issue if it yanked off their genitalia and slapped them in the face with it. The side of good uses IDEA, because they're not afraid of paying for quality software. ...you're a smart chap (despite the very debilitating handicap of having the attention span of a guppy ...you can't figure out what the docs mean unless you already understand the product, but can't understand the product without the docs. Ya just gotta laugh. :-) Timo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] IoC and object encapsulation
Warner, Hmmm... I saw the same thing. IoC has always been a fundamental concept of OO. -Original Message- From: Warner Onstine [mailto:[EMAIL PROTECTED] Sent: Thursday, February 10, 2005 3:56 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] IoC and object encapsulation Hate to burst your bubble before you read it, but it appears to be an article on why Injection-based IoC is bad and then provides an alternative way to do IoC called Context-based IoC. So not a complete slam against IoC pro-EJB. Note - this is from a quick scan of the article. It does look like it has some interesting ideas though. -warner On Feb 10, 2005, at 4:23 PM, Tim Colson ((tcolson)) wrote: Hey gang - I've been waiting for this... article(s) that aren't as warm and fuzzy toward IoC... http://www.theserverside.com/articles/article.tss?l=IOCandEJB I don't have time to read until the weekend...but thought this article might spur some interesting discussion here on the jug list. Cheers, Timo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Spring FUD is confounded
:o) === jest -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 12, 2005 6:04 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Spring FUD is confounded On Jan 12, 2005, at 4:51 PM, Richard Hightower wrote: It will be in the book. :o) *sigh* - I hope you meant that in jest. Openness and sharing of the code will benefit your book more than keeping it hidden until publication, I'd almost bet on it. I've been enjoying answering questions on the Lucene list with get the LIA source code, and type 'ant Indexer'. I do applaud Rick's sharing of lots of his technical adventures on his blog. On a related note - I've been getting prodded to provide the code to the lucenebook.com site a lot lately, and am working towards cleaning it up (I had intertwined my customizations with a version of blojsom too much on my initial work, and teased it apart today making my code an overlay to blojsom). So I'm working towards at least providing code snapshots under the hood of the site - to me its more about the integration I've done than any specific technical tricks. Erik -Original Message- From: Nicholas Lesiecki [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 11, 2005 5:05 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Spring FUD is confounded When are you going to Open source your ExpressionPropertyConfigurer? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Tucson JUG / Phoenix JUG report
I went to the Phoenix JUG last night. I spoke on Spring (Spring has Sprung) (snip) I was told that this was the biggest turn out in a while for the Phoenix JUG. I credit the turnout to the subject not the speaker. (snip) Read more http://www.jroller.com/page/RickHigh/20050113#phoenix_jug_is_tucson_in -- r i c kh i g h t o w e r -- Senior Mentor -- [EMAIL PROTECTED] -- http://www.arc-mind.com -- p: 520-290-6855 -- m: 520-661-6753 -- f: 520-290-4179 -- 15378 e colossal cave rd -- Tucson, AZ 85641 Upcoming conferences: JSF QuickStart: San Diego, CA, 10/9/04-10/11 JSF QuickStart: Santa Clara, CA, 10/16/04-10/17 JSF QuickStart: Los Angeles, CA, 10/23/04-10/24 JSF QuickStart: Phoenix, AZ, 11/6/04-11/05 JSF QuickStart: Houston, TX, 11/13/04-11/14 JSF QuickStart: Dallas, TX, 11/20/04-11/21 JSF QuickStart: Boston, MA, 12/04/04-12/05 JSF QuickStart: Seattle, WA, 12/11/04-12/12 JSF QuickStart: Las Vegas, NV, 12/18/04-12/19 See for more info: http://www.arc-mind.com/courses/jsfCourseWeekendWarriorEdition.html New Publications: Warner Onstine Rick Hightower have a new book, Professional Java Tools for Extreme Programming : Ant, XDoclet, JUnit, Cactus, Maven, available now at your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764556177/ Rick Hightower has two new books, Professional Jakarta Struts, available now aat your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764544373 and Struts Live available through SourceBeat.com: http://www.sourcebeat.com/TitleAction.do?id=3 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Spring FUD is confounded
It will be in the book. :o) -Original Message- From: Nicholas Lesiecki [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 11, 2005 5:05 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Spring FUD is confounded When are you going to Open source your ExpressionPropertyConfigurer? Nicholas Lesiecki Software Craftsman, specializing in J2EE, Agile Methods, and aspect-oriented programming m: 520 591-1849 Books: * Mastering AspectJ: http://tinyurl.com/66vf * Java Tools for Extreme Programming: http://tinyurl.com/66vt Articles on AspectJ: * http://tinyurl.com/66vu and http://tinyurl.com/66vv On Jan 11, 2005, at 2:06 PM, Drew Davidson wrote: Erik Hatcher wrote: On Jan 10, 2005, at 4:50 PM, Drew Davidson wrote: creamy OGNL goodness I love OGNL, but the thought of it being creamy has lessened it somewhat. Don't be scared off because of its creaminess. It's gooey and chewy also, if you configure it right. Given that it is all of that, I think this is where some of the risk comes in. It may be too big for some situation. If you only need IoC, it's a lot to bite off. If you only need AOP, what's wrong with AspectJ? And a 13MB download for a little ol' IoC container? Good grief And that is for the version *without* dependencies. First of all, don't ask a question like what's wrong with AspectJ in my presence unless you are prepared for the answer. I'm quite prepared for whatever your response may be. You're ready for anything man, I know. Going back to my above example, I'm applying advice on my order status method only in the admin application - not the front-end application. AspectJ just wouldn't work on this example. How do you handle it with Spring? Different configuration files per application? Yes. Each webapp has it's own applicationContext.xml in the WEB-INF for webapp context-specific objects. You could certainly do something similar using AspectJ - depending on your architecture. If they are separate .class/.jar files you could instrument them separately. Or you could have a *configuration* switch (Spring loaded!) that the aspect keyed off of whether it was in admin or front-end - or perhaps the call graph differs in a way that could be aspected specifically for only the front-end? Either way, saying it wouldn't work to a community full of developers is surely asking to be shown otherwise. We're the ones that always say no problem to whatever crazy requirement comes down the pipe. Yes, you are correct. Programmers love to solve problems. However, in this case an AspectJ solution like you specified with a switch defeats the point of decoupling the processes. As it stands the orderManager knows nothing about the inventory controller. Putting arcane logic with a switch for the mode would be really tedious and error-prone. Also, what if I wanted to add more advice around other methods? It would just be very complicated without Spring AOP in the configuration is all I'm saying. The Spring solution is elegant and requires no code to do it, just putting some objects around other objects via configuration. Anyway, there are few apps where I wouldn't use Spring right now. Command-line filter type of applications are one of the few. Almost anything that I do that is interesting has many interacting pieces that would be better served by configuration. I certainly agree with that last sentence. And I'm pleased to see Rick wire up jython as a way to do this configuration. I'm leaning more and more towards domain-centric languages. We all have our hammers. Personally, I'd use Lucene for configuration... Hits hits = searcher.search(new TermQuery(config, bean.class)); // :)) I agree that there are some cases where domain-specific configuration is more appropriate. One thing that annoys me about Spring is that you can only specify collections, references and string-convertible values to properties. I'd like to be able to say: property name=sortOrderingvalue:[ new SortOrdering(name, @[EMAIL PROTECTED]) ]/value/property Hey, wait! I just wrote that today. The ExpressionPropertyConfigurer class! It looks for OGNL expressions and evaluates them as values. See how easy Spring is? And I just drop it into the context and it works: bean id=expressionFactory class=org.ognl.expression.OGNLExpressionFactory singleton=true/ bean id=expressionConfigurer class=org.ognl.spring.config.ExpressionPlaceholderConfigurer autowire=byName/ bean id=testObject class=org.ognl.test.util.TestObject property name=sortOrderingvalue:[ new org.ognl.util.SortOrdering(name, @[EMAIL PROTECTED]) ]/value/property /bean This makes me happy. My code is no differrent but now I can configure things via OGNL expressions and use any object as a property value, not just string-convertible ones. Yay! - Drew --
[jug-discussion] Spring FUD is unfounded.... RE: [jug-discussion] JDJ: Featured article on Spring
Tuesday should be a lively discussion. I am sharpening my tongue. :o) I respect Randy, but I find Randy's fears unfounded, and his question indicate a lack of knowing what Spring is and what it is not. Spring does not replace J2EE. There is more risk to sticking with existing J2EE technology stacks to solving problems than there is to adopt something like Spring. I've written apps that are Struts/Stateless Session Bean/EJB CMP/CMR based (deployed to production). I've written similar apps that are JSF/Spring/Hibernate based (deployed to production). There is much more risk in the former than the latter. There are so many hacks (some call them J2EE design patterns), workarounds, and crud to get the former to work in a TDD environment. TDD is the real risk reducer. The second stack supports TDD. The first stack is the biggest time sink in the history of modern web development with its myriads of misplaced files. How many files to deploy an EJB with CMP CMR? Up to 7! Spring, once called the interface21 framework, was developed for and deployed to major financial institutions. If a conservative group like that is willing to bet on Spring, I can assure you that there is no extreme level of risk. (BTW I have help to deploy Spring in a very major financial institution in New York. These guys are more than conservative.) Secondly, I've examined the code base of JBoss, and the code base of Spring. I would be much more concerned about JBoss than Spring. That said, I have used JBoss and Spring together on a project. I don't feel JBoss is overtly risky. (I like JBoss to a an extent. Don't read too much criticism in this statement.) I feel comments on how risky Spring is is absolute FUD. Regarding Erik's opinions: As far as Spring vs. HiveMind, Pico container, Avalon, etc. HiveMind is nascent and not nearly as mature. Pico is not much more than an IoC container from what I can tell. Avalon is dead. Discontinued. Gone. Poof! Spring is an IoC container, and an AOP framework. It goes well beyond that and creates a mass array of utilities to simplify developing with JDBC, JMS, JMX, Hibernate, EJB (yes you heard me... I said it helps with EJB), etc. At this point in time, Spring wins out in maturity and features. (This does not mean that I am advocating only Spring. I would be happy to work on a HiveMind only project. I have no problems with trying new things. At this point in time, Spring wins for me.) Spring is a pneumatic pump with attachments for screw driving, bolt cutting, hammering, etc. It kicks ass. Yes that is a technical term. If you are developing web apps, I feel it very wise to look into Spring for the backend to augment your investment in J2EE. Then look to a component based framework on the frontend like JSF and Tapestry. For the persistence tier, try a good commercial version of JDO or Hibernate. JSF/Spring (+J2EE/JTA, etc if needed)/Hibernate Tapestry/Spring (+J2EE/JTA, etc if needed)/Hibernate Comments below See ### -Original Message- From: Randolph Kahle [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 4:26 AM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] JDJ: Featured article on Spring On Jan 9, 2005, at 3:52 PM, josh zeidner wrote: [...] If I were a manager I would be very wary of Spring. I agree with you on this point. ### Why? Spring is set of useful utilities. Where is the risk? ### BOO! * Who will support the technology? Who supports Tapestry? Who supports Struts? This statement is absurd. There are several companies that support Spring. ArcMind for one... Interface21 for another. J2Life for a third. Thoughtworks. Springframework.com, Etc. etc. I don't need folks in dark blue suits with vests to gain value from a framework. Hibernate paved the way. Spring is an easy sell to the fortune 100. I have had a lot of success in getting it adopted at companies big and small. It stands on its own. * Do management tools exist? ## Yes. The tool is called an editor. Newer versions of Spring include JMX support so it is toolable. Do management tools exist for Struts, WebWork, Tapestry??? Spring does not replace the app server. You can use Spring with Weblogic, Webshpere, etc. This question makes no sense. Spring does not replace the app server (yet). What do you think Spring is? * How should we partition work between domestic and offshore? ## The same as you would with any technology. Having done it, I can tell you it is no big deal. Or should I say it is no bigger deal than it was before using Spring. ## I am not going to comment on the Java vs. Microsoft debate. Not b/c I don't have an opinion, but b/c I don't have the time or interest at this point. There are only so many hours in a day. I for one, am sick of watching the server log as I deploy my components and wait to test them. Large projects take forever to deploy. You end up spending more time waiting for your components to deploy so you can test
RE: [jug-discussion] Spring FUD is unfounded.... RE: [jug-discussion] JDJ: Featured article on Spring
I apologize for being a little rough. -Original Message- From: Richard Hightower [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 10:54 AM To: jug-discussion@tucson-jug.org Subject: [jug-discussion] Spring FUD is unfounded RE: [jug-discussion] JDJ: Featured article on Spring Tuesday should be a lively discussion. I am sharpening my tongue. :o) I respect Randy, but I find Randy's fears unfounded, and his question indicate a lack of knowing what Spring is and what it is not. Spring does not replace J2EE. There is more risk to sticking with existing J2EE technology stacks to solving problems than there is to adopt something like Spring. I've written apps that are Struts/Stateless Session Bean/EJB CMP/CMR based (deployed to production). I've written similar apps that are JSF/Spring/Hibernate based (deployed to production). There is much more risk in the former than the latter. There are so many hacks (some call them J2EE design patterns), workarounds, and crud to get the former to work in a TDD environment. TDD is the real risk reducer. The second stack supports TDD. The first stack is the biggest time sink in the history of modern web development with its myriads of misplaced files. How many files to deploy an EJB with CMP CMR? Up to 7! Spring, once called the interface21 framework, was developed for and deployed to major financial institutions. If a conservative group like that is willing to bet on Spring, I can assure you that there is no extreme level of risk. (BTW I have help to deploy Spring in a very major financial institution in New York. These guys are more than conservative.) Secondly, I've examined the code base of JBoss, and the code base of Spring. I would be much more concerned about JBoss than Spring. That said, I have used JBoss and Spring together on a project. I don't feel JBoss is overtly risky. (I like JBoss to a an extent. Don't read too much criticism in this statement.) I feel comments on how risky Spring is is absolute FUD. Regarding Erik's opinions: As far as Spring vs. HiveMind, Pico container, Avalon, etc. HiveMind is nascent and not nearly as mature. Pico is not much more than an IoC container from what I can tell. Avalon is dead. Discontinued. Gone. Poof! Spring is an IoC container, and an AOP framework. It goes well beyond that and creates a mass array of utilities to simplify developing with JDBC, JMS, JMX, Hibernate, EJB (yes you heard me... I said it helps with EJB), etc. At this point in time, Spring wins out in maturity and features. (This does not mean that I am advocating only Spring. I would be happy to work on a HiveMind only project. I have no problems with trying new things. At this point in time, Spring wins for me.) Spring is a pneumatic pump with attachments for screw driving, bolt cutting, hammering, etc. It kicks ass. Yes that is a technical term. If you are developing web apps, I feel it very wise to look into Spring for the backend to augment your investment in J2EE. Then look to a component based framework on the frontend like JSF and Tapestry. For the persistence tier, try a good commercial version of JDO or Hibernate. JSF/Spring (+J2EE/JTA, etc if needed)/Hibernate Tapestry/Spring (+J2EE/JTA, etc if needed)/Hibernate Comments below See ### -Original Message- From: Randolph Kahle [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 4:26 AM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] JDJ: Featured article on Spring On Jan 9, 2005, at 3:52 PM, josh zeidner wrote: [...] If I were a manager I would be very wary of Spring. I agree with you on this point. ### Why? Spring is set of useful utilities. Where is the risk? ### BOO! * Who will support the technology? Who supports Tapestry? Who supports Struts? This statement is absurd. There are several companies that support Spring. ArcMind for one... Interface21 for another. J2Life for a third. Thoughtworks. Springframework.com, Etc. etc. I don't need folks in dark blue suits with vests to gain value from a framework. Hibernate paved the way. Spring is an easy sell to the fortune 100. I have had a lot of success in getting it adopted at companies big and small. It stands on its own. * Do management tools exist? ## Yes. The tool is called an editor. Newer versions of Spring include JMX support so it is toolable. Do management tools exist for Struts, WebWork, Tapestry??? Spring does not replace the app server. You can use Spring with Weblogic, Webshpere, etc. This question makes no sense. Spring does not replace the app server (yet). What do you think Spring is? * How should we partition work between domestic and offshore? ## The same as you would with any technology. Having done it, I can tell you it is no big deal. Or should I say it is no bigger deal than it was before using Spring. ## I am not going to comment on the Java vs. Microsoft debate. Not b/c I don't have an opinion, but b/c I don't
RE: [jug-discussion] Spring FUD is confounded
RE: It lives on in the various ways it has spun off: http://avalon.apache.org/closed.html So its underpinnings are still quite viable. Good luck pitching a project with such a ringing recommendation as it live on in many forms... It would be quite hard to convince a decision maker of such a thing as Avalon, given the perception of its recent history. Yes bias sucks. But it exists. Pico, Avalon, and more live on in that they have influenced Spring. Given Springs track record and that of Pico and Avalon, it would be a bit silly to pick them for a new project in my opinion over Spring. Unless they evolve quickly. HiveMind is a given if you are using Tapestry (at some level). You can use tapestry, Spring and Hivemind on the same project. JSF comes with its own IoC container. You have to use it at some level. You can use JSF, and Spring on the same project. (last comment for me I am having too much fun. I gotta get back to work!) -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 12:22 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Spring FUD is confounded On Jan 10, 2005, at 12:54 PM, Richard Hightower wrote: Regarding Erik's opinions: As far as Spring vs. HiveMind, Pico container, Avalon, etc. HiveMind is nascent and not nearly as mature. Quite true, however it is mature in that it has evolved from Howard's mulling over the Tapestry architecture for years. Tapestry is a micro-container internally, and HiveMind has evolved from it. Tapestry has been out long before Spring came onto the scene. But, your point is taken (even with a grain of salt on this one :). Pico is not much more than an IoC container from what I can tell. Which may be all someone needs. Again, none of these are the solution, and I know you agree with that. Avalon is dead. Discontinued. Gone. Poof! It lives on in the various ways it has spun off: http://avalon.apache.org/closed.html So its underpinnings are still quite viable. Spring is an IoC container, and an AOP framework. It goes well beyond that and creates a mass array of utilities to simplify developing with JDBC, JMS, JMX, Hibernate, EJB (yes you heard me... I said it helps with EJB), etc. At this point in time, Spring wins out in maturity and features. But, we must choose our tools based on the problem we're solving, the skill-set we have at hand, and a number of other considerations. Spring is not necessarily the winner based on all the criteria. That being said, I've got no problem with Spring at all. I just like playing devil's advocate - someone has to take up for the underdogs. (This does not mean that I am advocating only Spring. I would be happy to work on a HiveMind only project. I have no problems with trying new things. Right on and this is the main point I think Randy and I were also making. Be pragmatic first and foremost. Spring is a pneumatic pump with attachments for screw driving, bolt cutting, hammering, etc. Given that it is all of that, I think this is where some of the risk comes in. It may be too big for some situation. If you only need IoC, it's a lot to bite off. If you only need AOP, what's wrong with AspectJ? And a 13MB download for a little ol' IoC container? Good grief And that is for the version *without* dependencies. I like the word complexity over the word risk. Is it more complex for me to add Spring into a small application rather than simply implement an abstract factory myself keying off a properties file for configuration information? In a larger application where this configuration file will be enormous, the needle swings back the other direction with the complexity of the application itself outweighing the complexity of the configuration. In other words - be pragmatic. Period. If you are developing web apps, I feel it very wise to look into Spring for the backend to augment your investment in J2EE. And to be play both sides of the discussion - I concur with this statement. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Spring FUD is confounded
This is my impression of Avalon and Fortress. I would be hard pressed to back it up in fact at this point in time. Take it with a grain of salt. (last comment for me I am having too much fun. I gotta get back to work! This time for real. I am working from home. ) -Original Message- From: Richard Hightower [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 12:46 PM To: jug-discussion@tucson-jug.org Subject: RE: [jug-discussion] Spring FUD is confounded RE: It lives on in the various ways it has spun off: http://avalon.apache.org/closed.html So its underpinnings are still quite viable. Good luck pitching a project with such a ringing recommendation as it live on in many forms... It would be quite hard to convince a decision maker of such a thing as Avalon, given the perception of its recent history. Yes bias sucks. But it exists. Pico, Avalon, and more live on in that they have influenced Spring. Given Springs track record and that of Pico and Avalon, it would be a bit silly to pick them for a new project in my opinion over Spring. Unless they evolve quickly. HiveMind is a given if you are using Tapestry (at some level). You can use tapestry, Spring and Hivemind on the same project. JSF comes with its own IoC container. You have to use it at some level. You can use JSF, and Spring on the same project. (last comment for me I am having too much fun. I gotta get back to work!) -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 12:22 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Spring FUD is confounded On Jan 10, 2005, at 12:54 PM, Richard Hightower wrote: Regarding Erik's opinions: As far as Spring vs. HiveMind, Pico container, Avalon, etc. HiveMind is nascent and not nearly as mature. Quite true, however it is mature in that it has evolved from Howard's mulling over the Tapestry architecture for years. Tapestry is a micro-container internally, and HiveMind has evolved from it. Tapestry has been out long before Spring came onto the scene. But, your point is taken (even with a grain of salt on this one :). Pico is not much more than an IoC container from what I can tell. Which may be all someone needs. Again, none of these are the solution, and I know you agree with that. Avalon is dead. Discontinued. Gone. Poof! It lives on in the various ways it has spun off: http://avalon.apache.org/closed.html So its underpinnings are still quite viable. Spring is an IoC container, and an AOP framework. It goes well beyond that and creates a mass array of utilities to simplify developing with JDBC, JMS, JMX, Hibernate, EJB (yes you heard me... I said it helps with EJB), etc. At this point in time, Spring wins out in maturity and features. But, we must choose our tools based on the problem we're solving, the skill-set we have at hand, and a number of other considerations. Spring is not necessarily the winner based on all the criteria. That being said, I've got no problem with Spring at all. I just like playing devil's advocate - someone has to take up for the underdogs. (This does not mean that I am advocating only Spring. I would be happy to work on a HiveMind only project. I have no problems with trying new things. Right on and this is the main point I think Randy and I were also making. Be pragmatic first and foremost. Spring is a pneumatic pump with attachments for screw driving, bolt cutting, hammering, etc. Given that it is all of that, I think this is where some of the risk comes in. It may be too big for some situation. If you only need IoC, it's a lot to bite off. If you only need AOP, what's wrong with AspectJ? And a 13MB download for a little ol' IoC container? Good grief And that is for the version *without* dependencies. I like the word complexity over the word risk. Is it more complex for me to add Spring into a small application rather than simply implement an abstract factory myself keying off a properties file for configuration information? In a larger application where this configuration file will be enormous, the needle swings back the other direction with the complexity of the application itself outweighing the complexity of the configuration. In other words - be pragmatic. Period. If you are developing web apps, I feel it very wise to look into Spring for the backend to augment your investment in J2EE. And to be play both sides of the discussion - I concur with this statement. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED
RE: [jug-discussion] Simplicity
Yes. I agree. -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 12:45 PM To: jug-discussion@tucson-jug.org Subject: [jug-discussion] Simplicity On Jan 10, 2005, at 2:36 PM, Richard Hightower wrote: I first learned about IoC from the Pico project. They had the simplest definition. Small words and easy for me to understand. I continually strive for simplicity. I'm a firm believer that complexity must be fought fiercely at every opportunity. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Simplicity
Which is exactly why both of you should dig Spring as it goal in life is to simplify J2EE development!! Mike you can still catch the AM flight and be in Tucson tomorrow for my talk. Erik you will need to catch the red eye tonight. Are flights from Vegas cheap -Original Message- From: Michael Oliver [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 2:11 PM To: jug-discussion@tucson-jug.org Subject: RE: [jug-discussion] Simplicity Amen! Michael Oliver CTO Alarius Systems LLC 3325 N. Nellis Blvd, #1 Las Vegas, NV 89115 Phone:(702)643-7425 Fax:(520)844-1036 *Note new email changed from [EMAIL PROTECTED] -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 11:45 AM To: jug-discussion@tucson-jug.org Subject: [jug-discussion] Simplicity On Jan 10, 2005, at 2:36 PM, Richard Hightower wrote: I first learned about IoC from the Pico project. They had the simplest definition. Small words and easy for me to understand. I continually strive for simplicity. I'm a firm believer that complexity must be fought fiercely at every opportunity. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Simplicity
No worries -Original Message- From: Michael Oliver [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 2:33 PM To: jug-discussion@tucson-jug.org Subject: RE: [jug-discussion] Simplicity Oh yea cheap, $39 last time I checked but I am attending a Knowledge Management Conference here and meeting with some of my old buds, so I will have to pass. Michael Oliver CTO Alarius Systems LLC 3325 N. Nellis Blvd, #1 Las Vegas, NV 89115 Phone:(702)643-7425 Fax:(520)844-1036 *Note new email changed from [EMAIL PROTECTED] -Original Message- From: Richard Hightower [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 1:30 PM To: jug-discussion@tucson-jug.org Subject: RE: [jug-discussion] Simplicity Which is exactly why both of you should dig Spring as it goal in life is to simplify J2EE development!! Mike you can still catch the AM flight and be in Tucson tomorrow for my talk. Erik you will need to catch the red eye tonight. Are flights from Vegas cheap -Original Message- From: Michael Oliver [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 2:11 PM To: jug-discussion@tucson-jug.org Subject: RE: [jug-discussion] Simplicity Amen! Michael Oliver CTO Alarius Systems LLC 3325 N. Nellis Blvd, #1 Las Vegas, NV 89115 Phone:(702)643-7425 Fax:(520)844-1036 *Note new email changed from [EMAIL PROTECTED] -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Monday, January 10, 2005 11:45 AM To: jug-discussion@tucson-jug.org Subject: [jug-discussion] Simplicity On Jan 10, 2005, at 2:36 PM, Richard Hightower wrote: I first learned about IoC from the Pico project. They had the simplest definition. Small words and easy for me to understand. I continually strive for simplicity. I'm a firm believer that complexity must be fought fiercely at every opportunity. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] AOP overhead
This is just with bare bones JVM setting running inside of Eclipse. I am calling a simple method that I decorate with AOP. The overhead for AOP seems to be about 0.00048 milliseconds on my box or 0.0048 seconds. If I use dynamic AOP support the overhead jumps all the way to 0.00059 milliseconds on my box or 0.0059 seconds. By comparison, adding a simple MessageFormat call is about twenty times the overhead (0.009591 miliseconds). All of this is dust on the scale once you start hitting backend dbs and such. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] JDJ: Featured article on Spring
Darn. The thought of Warner being my mother has really disturbed. I think it is goatee. -Original Message- From: Ollie [mailto:[EMAIL PROTECTED] Sent: Sunday, January 09, 2005 4:57 PM To: Jug Discuss Subject: Re: [jug-discussion] JDJ: Featured article on Spring Thanks mom -Original Message- From: Warner Onstine [EMAIL PROTECTED] Date: Sun, 9 Jan 2005 16:46:58 To:jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] JDJ: Featured article on Spring Hi all, I hate to be the list mom here, but if you wish to make a personal post to Josh, please do so in private. I for one do not want to see this list descend into a flame-war or trading personal, inside jabs at another person. I know that this list is for Tucson Java User Group members and we feel comfortable with giving each other a few jabs now and then because we know each other and go out for drinks when the day is done. However, this is an open list for all to subscribe to in order to promote the openness of our group. While Josh has brought up points he has also added in jabs of his own (which I hope were in no way directed at anyone on the list). So, if you wish to respond to his points (and not his jabs) please do so, if you wish to respond to the jabs, please do so off-list, I have plenty of lists that descend into this territory on a regular basis already, I don't need my *home* list to look like this. Again, thanks for reading this, I'm not pointing the fingers at anyone here in particular and I don't want to turn this into a private list either, I just want to head this off at the pass before it gets bad. -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Mike Oliver CTO, Alarius Systems LLC Las Vegas, Nevada USA Sent using my BlackBerry 6510 from Nextel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] JDJ: Featured article on Spring
Darn. The thought of Warner being my mother has really disturbed me. I think it is his goatee. -Original Message- From: Richard Hightower [mailto:[EMAIL PROTECTED] Sent: Sunday, January 09, 2005 9:04 PM To: jug-discussion@tucson-jug.org Subject: RE: [jug-discussion] JDJ: Featured article on Spring Darn. The thought of Warner being my mother has really disturbed. I think it is goatee. -Original Message- From: Ollie [mailto:[EMAIL PROTECTED] Sent: Sunday, January 09, 2005 4:57 PM To: Jug Discuss Subject: Re: [jug-discussion] JDJ: Featured article on Spring Thanks mom -Original Message- From: Warner Onstine [EMAIL PROTECTED] Date: Sun, 9 Jan 2005 16:46:58 To:jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] JDJ: Featured article on Spring Hi all, I hate to be the list mom here, but if you wish to make a personal post to Josh, please do so in private. I for one do not want to see this list descend into a flame-war or trading personal, inside jabs at another person. I know that this list is for Tucson Java User Group members and we feel comfortable with giving each other a few jabs now and then because we know each other and go out for drinks when the day is done. However, this is an open list for all to subscribe to in order to promote the openness of our group. While Josh has brought up points he has also added in jabs of his own (which I hope were in no way directed at anyone on the list). So, if you wish to respond to his points (and not his jabs) please do so, if you wish to respond to the jabs, please do so off-list, I have plenty of lists that descend into this territory on a regular basis already, I don't need my *home* list to look like this. Again, thanks for reading this, I'm not pointing the fingers at anyone here in particular and I don't want to turn this into a private list either, I just want to head this off at the pass before it gets bad. -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Mike Oliver CTO, Alarius Systems LLC Las Vegas, Nevada USA Sent using my BlackBerry 6510 from Nextel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] JDJ: Featured article on Spring
- invest a relatively small amount in having them learn XML( not difficult for a sysadmin developer ) and adapt it to the system they already know( and this activity of integration is the meat of the problem ). It just seems like Spring is another quick solution, liquid simplicity type product. The J2EE without EJB book generally suggest building a system with an array of disjointed OSS tools- all using parochial formats and APIs. Sounds like a huge liability to me. sincerely, Josh Zeidner --- Richard Hightower [EMAIL PROTECTED] wrote: If you have not looked into Spring yet, it is time. That's Rick Hightower's New Year's advice. As Rod Johnson once put it: Spring puts the OO back in J2EE development, he continues. What makes Spring different than the other frameworks and containers, Hightower explains, is that Spring goes beyond just being an IoC container or an AOP framework. http://www.sys-con.com/story/?storyid=47735de=1 The article (like the last one I wrote) started out as being a blog entry (http://jroller.com/page/RickHigh/20050107#spring_plug). It is nice when the JDJ picks it up and gives it more exposure. The last blog entry turned article I wrote was read quite a bit according to the JDJ folks. I've written some follow up ideas at: http://www.arc-mind.com/papers/springIsGood.html -- r i c kh i g h t o w e r -- Senior Mentor -- [EMAIL PROTECTED] -- http://www.arc-mind.com -- p: 520-290-6855 -- m: 520-661-6753 -- f: 520-290-4179 -- 15378 e colossal cave rd -- Tucson, AZ 85641 Upcoming conferences: JSF QuickStart: San Diego, CA, 10/9/04-10/11 JSF QuickStart: Santa Clara, CA, 10/16/04-10/17 JSF QuickStart: Los Angeles, CA, 10/23/04-10/24 JSF QuickStart: Phoenix, AZ, 11/6/04-11/05 JSF QuickStart: Houston, TX, 11/13/04-11/14 JSF QuickStart: Dallas, TX, 11/20/04-11/21 JSF QuickStart: Boston, MA, 12/04/04-12/05 JSF QuickStart: Seattle, WA, 12/11/04-12/12 JSF QuickStart: Las Vegas, NV, 12/18/04-12/19 See for more info: http://www.arc-mind.com/courses/jsfCourseWeekendWarriorEdition.html New Publications: Warner Onstine Rick Hightower have a new book, Professional Java Tools for Extreme Programming : Ant, XDoclet, JUnit, Cactus, Maven, available now at your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764556177/ Rick Hightower has two new books, Professional Jakarta Struts, available now aat your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764544373 and Struts Live available through SourceBeat.com: http://www.sourcebeat.com/TitleAction.do?id=3 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] JDJ: Featured article on Spring
If you have not looked into Spring yet, it is time. That's Rick Hightower's New Year's advice. As Rod Johnson once put it: Spring puts the OO back in J2EE development, he continues. What makes Spring different than the other frameworks and containers, Hightower explains, is that Spring goes beyond just being an IoC container or an AOP framework. http://www.sys-con.com/story/?storyid=47735de=1 The article (like the last one I wrote) started out as being a blog entry (http://jroller.com/page/RickHigh/20050107#spring_plug). It is nice when the JDJ picks it up and gives it more exposure. The last blog entry turned article I wrote was read quite a bit according to the JDJ folks. I've written some follow up ideas at: http://www.arc-mind.com/papers/springIsGood.html -- r i c kh i g h t o w e r -- Senior Mentor -- [EMAIL PROTECTED] -- http://www.arc-mind.com -- p: 520-290-6855 -- m: 520-661-6753 -- f: 520-290-4179 -- 15378 e colossal cave rd -- Tucson, AZ 85641 Upcoming conferences: JSF QuickStart: San Diego, CA, 10/9/04-10/11 JSF QuickStart: Santa Clara, CA, 10/16/04-10/17 JSF QuickStart: Los Angeles, CA, 10/23/04-10/24 JSF QuickStart: Phoenix, AZ, 11/6/04-11/05 JSF QuickStart: Houston, TX, 11/13/04-11/14 JSF QuickStart: Dallas, TX, 11/20/04-11/21 JSF QuickStart: Boston, MA, 12/04/04-12/05 JSF QuickStart: Seattle, WA, 12/11/04-12/12 JSF QuickStart: Las Vegas, NV, 12/18/04-12/19 See for more info: http://www.arc-mind.com/courses/jsfCourseWeekendWarriorEdition.html New Publications: Warner Onstine Rick Hightower have a new book, Professional Java Tools for Extreme Programming : Ant, XDoclet, JUnit, Cactus, Maven, available now at your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764556177/ Rick Hightower has two new books, Professional Jakarta Struts, available now aat your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764544373 and Struts Live available through SourceBeat.com: http://www.sourcebeat.com/TitleAction.do?id=3 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Speaking at the Phoenix JUG on Spring
They asked me yesterday. It was short notice, but I have a presentation that I have used before for a workshop. The presentation covers Spring templates, Springs IOC (including property editors), Spring transactions, interfacing with Hibernate via Spring. It should be fun. (I plan on attending the Tucson JUG next week. I am in town.) Speaking at the Phoenix JUG on Spring Date: 01/12/2005, 6:30 PM Location: University of Advancing Computer Technology Keynote: Title: Introduction to Spring, AOP, and IoC Abstract: Spring is a popular AOP/IoC framework that was developed by Rod Johnson, Juergen Hoeller et al. Spring simplifies J2EE and Java development. (Rod Johnson is the famed author who wrote Expert One-on-One J2EE Design and Development.) Spring makes J2EE development easier. Spring is a J2EE framework that simplifies commons tasks and encourages good design based on programming to interfaces. Springs makes your application easier to configure and reduces the need for many J2EE design patterns (quite a few J2EE design patterns are really glorified hacks that clutter your code base). Spring puts the OO design back into your J2EE application. URL: http://www.arc-mind.com Speaker: Rick Hightower, CTO ArcMind Inc. Bio: Rick Hightower serves as chief technology officer for ArcMind Inc. He is coauthor of the popular book Java Tools for Extreme Programming, which covers applying XP to J2EE development, and also recently co-authored Professional Struts. He has been working with J2EE since the very early days and lately has been working mostly with Maven, Spring, JSF and Hibernate. Rick is a big JSF and Spring fan. Rick has taught several workshops and training courses involving the Spring framework as well as worked on several projects consulting, mentoring and developing with the Spring framework. http://www.phxjug.org/meetings.html -- r i c kh i g h t o w e r -- Senior Mentor -- [EMAIL PROTECTED] -- http://www.arc-mind.com -- p: 520-290-6855 -- m: 520-661-6753 -- f: 520-290-4179 -- 15378 e colossal cave rd -- Tucson, AZ 85641 Upcoming conferences: JSF QuickStart: San Diego, CA, 10/9/04-10/11 JSF QuickStart: Santa Clara, CA, 10/16/04-10/17 JSF QuickStart: Los Angeles, CA, 10/23/04-10/24 JSF QuickStart: Phoenix, AZ, 11/6/04-11/05 JSF QuickStart: Houston, TX, 11/13/04-11/14 JSF QuickStart: Dallas, TX, 11/20/04-11/21 JSF QuickStart: Boston, MA, 12/04/04-12/05 JSF QuickStart: Seattle, WA, 12/11/04-12/12 JSF QuickStart: Las Vegas, NV, 12/18/04-12/19 See for more info: http://www.arc-mind.com/courses/jsfCourseWeekendWarriorEdition.html New Publications: Warner Onstine Rick Hightower have a new book, Professional Java Tools for Extreme Programming : Ant, XDoclet, JUnit, Cactus, Maven, available now at your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764556177/ Rick Hightower has two new books, Professional Jakarta Struts, available now aat your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764544373 and Struts Live available through SourceBeat.com: http://www.sourcebeat.com/TitleAction.do?id=3 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Searching large object graphs
Beware of any email that begin with the words Not to be Trite You can feel a big wall of Trite flame coming around the corner. :) -Original Message- From: Tim Colson [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 29, 2004 4:15 PM To: jug-discussion@tucson-jug.org Subject: RE: [jug-discussion] Searching large object graphs But why not just use bean objects to a backend DB. Well, howabout because I explicitly posed the question as just assume for a moment that RAM is cheap and you decided to load 100K objects into memory instead of I have a lot of data...what kind of thingy should I store it in... oh, and please reply with small words because I am developmentally challenged. Maybe that's why. ;-) that matter hand write the old incremental sort and sorted search routines. Apparently I wasn't clear -- I want to search using multiple criteria with wildcards/booleans on multiple fields, and on data in contained objects. Mostly I'd rather not waste time re-inventing wheels, and [usually] the folks on the list provide interesting food for thought. I won't bother with the flame-bait about overly complex and airguns. Cheers, Tim On Thu, 23 Dec 2004, Erik Hatcher wrote: Lucene The query would be this name:olson OR email:olson if you indexed that information into separate fields. A common technique is to index all data you want queryable also into an aggregate field in which case the query could simply be olson. The full source code to Lucene in Action is at http://www.manning.com/hatcher2 - the ebook is available. The physical book is shipping from the printers as we speak (UPS tracking says I should have gotten my batch yesterday, but it'll be today it seems). http://www.lucenebook.com will go live within the week searching *inside* the book as well as a blog system I'm setting up. Erik On Dec 22, 2004, at 10:27 PM, Tim Colson wrote: So just assume for a moment that RAM is cheap and you decided to load 100K objects into memory. Assume those objects were Employees... you can imagine the fields would be the usual suspects. Assume each employee is associated with a profile that is another object, which is composed of a bunch of other data objects. What would you use to find/select objects like Name or email foo matches *olson* ? Some possibilities: http://jakarta.apache.org/commons/jxpath/ Some of the stuff inside Commons: http://jakarta.apache.org/commons/collections/ Lucene indexes http://jakarta.apache.org/lucene/docs/ Others? Tim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Searching large object graphs
Re: It seems easier to re-invent a full-text search engine? I'd be way impressed if you could beat Lucene! I agree with Erik. I don't have time to read your long email let alone implement a full-text search engine. I can't think of a single client that would rather have me beat my laptop with a rock, then rent a pneumatic hammer and destroy it in several efficient seconds. On a lighter note I just learned all about DocBook. And More importantly, I've got my wireless signal going all the way to my mobile-mini office. Belkin Pre-N Wireless Router covers my whole 5 acre lot with a strong signal with a lot of bandwidth. My laptop can pick up a signal on the complete 5 acres with its new Pre-N Wireless NIC. Belkin rocks Linksys stinks. I just remembered that Cisco is a client of mine... Hmmm Linksys is not as good. I am sure it will be better in the next release How is that? -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 29, 2004 8:41 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Searching large object graphs On Dec 29, 2004, at 3:12 PM, [EMAIL PROTECTED] wrote: Not to be Trite... But why not just use bean objects to a backend DB. Or for that matter hand write the old incremental sort and sorted search routines. If it is all in memory then you should be able hand write an index system capable of running through thousands of records in a fraction of a second... Just seems easier... It seems easier to re-invent a full-text search engine? I'd be way impressed if you could beat Lucene! Given the example query Tim provided, you'd be able to do this using Lucene in only a handful of lines of code. Erik On Thu, 23 Dec 2004, Erik Hatcher wrote: Lucene The query would be this name:olson OR email:olson if you indexed that information into separate fields. A common technique is to index all data you want queryable also into an aggregate field in which case the query could simply be olson. The full source code to Lucene in Action is at http://www.manning.com/hatcher2 - the ebook is available. The physical book is shipping from the printers as we speak (UPS tracking says I should have gotten my batch yesterday, but it'll be today it seems). http://www.lucenebook.com will go live within the week searching *inside* the book as well as a blog system I'm setting up. Erik On Dec 22, 2004, at 10:27 PM, Tim Colson wrote: So just assume for a moment that RAM is cheap and you decided to load 100K objects into memory. Assume those objects were Employees... you can imagine the fields would be the usual suspects. Assume each employee is associated with a profile that is another object, which is composed of a bunch of other data objects. What would you use to find/select objects like Name or email foo matches *olson* ? Some possibilities: http://jakarta.apache.org/commons/jxpath/ Some of the stuff inside Commons: http://jakarta.apache.org/commons/collections/ Lucene indexes http://jakarta.apache.org/lucene/docs/ Others? Tim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Searching large object graphs
I agree. But what best are you talking about. The best technical solution or the best business solution. The best business solution is not always the best technical solution. (Mounting high horse...) Engineering is about tradeoffs: budget, time, beer... Actually I just threw beer in there for fun. I will continue to focus on good enough technical solution to fit the customers need. Actually, I will continue to play with technology that I am interested in and telling the customer it is the best business solution (just kidding). I will bile all technology I don't understand (if I don't understand it... How can it be good?) Sorry I was channeling the bile blog :) BTW Did I mention that OGNL Rocks?! DREW ROCKS! I got to get back to work! Later. On a lighter note my wireless keyboard and mouse went south I got the new Microsoft one with all of the bells and whistles. It works, and my keyboard has 25 extra keys Oh well... It won't make me type faster or procrastinate any less. -Original Message- From: Drew Davidson [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 29, 2004 10:23 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Searching large object graphs Richard Hightower wrote: I agree with Erik. I don't have time to read your long email let alone implement a full-text search engine. I can't think of a single client that would rather have me beat my laptop with a rock, then rent a pneumatic hammer and destroy it in several efficient seconds. The best is the enemy of the good. Words to live by in contracting. On a lighter note I just learned all about DocBook. And More importantly, I've got my wireless signal going all the way to my mobile-mini office. Belkin Pre-N Wireless Router covers my whole 5 acre lot with a strong signal with a lot of bandwidth. My laptop can pick up a signal on the complete 5 acres with its new Pre-N Wireless NIC. Belkin rocks Linksys stinks. On a related note, Rick is now in the process of growing a second head because of the increased signal strength. - Drew -- +-+ Drew Davidson | OGNL Technology +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Searching large object graphs
The best is the enemy of the good. U... E I just realized that you were agreeing with me. Scratch almost everything I said DOH! I am lezdexic. -Original Message- From: Drew Davidson [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 29, 2004 10:23 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Searching large object graphs Richard Hightower wrote: I agree with Erik. I don't have time to read your long email let alone implement a full-text search engine. I can't think of a single client that would rather have me beat my laptop with a rock, then rent a pneumatic hammer and destroy it in several efficient seconds. The best is the enemy of the good. Words to live by in contracting. On a lighter note I just learned all about DocBook. And More importantly, I've got my wireless signal going all the way to my mobile-mini office. Belkin Pre-N Wireless Router covers my whole 5 acre lot with a strong signal with a lot of bandwidth. My laptop can pick up a signal on the complete 5 acres with its new Pre-N Wireless NIC. Belkin rocks Linksys stinks. On a related note, Rick is now in the process of growing a second head because of the increased signal strength. - Drew -- +-+ Drew Davidson | OGNL Technology +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] JavaOne CALL FOR PAPERS, was RE: [jug-discussion] Searching large object graphs
Hey Erik et al. I am glad to hear your Lucene in Action book is going to the printers. I will order a copy ASAP. BTW JavaOne 2005 is doing a call for papers. I was thinking about signing up. You should think about it too. (The year I got accepted, I submitted 5 presentations, and they choose one b/c someone called in sick. The called me last minute. I spoke on XDoclet making EJB CMP/CMR easier. Shudder... Brrr...) I plan on being in town (Tucson) for the next six weeks or so (plans subject to change). I am writing some articles for IBM and starting a book for O'Rielly for my down time (Drew and I are working on it together). Sorry I missed you in VA. I wanted to get together the last week, but my schedule got crazy. When are you coming to Tucson? I better get to work. There is no persecution like staring at a blank page. BTW are there any Eclipse plugin/SWT experts in Tucson? that would not mind traveling a bit to LA -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Thursday, December 23, 2004 3:05 AM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Searching large object graphs Lucene The query would be this name:olson OR email:olson if you indexed that information into separate fields. A common technique is to index all data you want queryable also into an aggregate field in which case the query could simply be olson. The full source code to Lucene in Action is at http://www.manning.com/hatcher2 - the ebook is available. The physical book is shipping from the printers as we speak (UPS tracking says I should have gotten my batch yesterday, but it'll be today it seems). http://www.lucenebook.com will go live within the week searching *inside* the book as well as a blog system I'm setting up. Erik On Dec 22, 2004, at 10:27 PM, Tim Colson wrote: So just assume for a moment that RAM is cheap and you decided to load 100K objects into memory. Assume those objects were Employees... you can imagine the fields would be the usual suspects. Assume each employee is associated with a profile that is another object, which is composed of a bunch of other data objects. What would you use to find/select objects like Name or email foo matches *olson* ? Some possibilities: http://jakarta.apache.org/commons/jxpath/ Some of the stuff inside Commons: http://jakarta.apache.org/commons/collections/ Lucene indexes http://jakarta.apache.org/lucene/docs/ Others? Tim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Eclipse Plugin/SWT experts
Are there any Eclipse plugin/SWT experts in town? -- r i c kh i g h t o w e r -- Senior Mentor -- [EMAIL PROTECTED] -- http://www.arc-mind.com -- p: 520-290-6855 -- m: 520-661-6753 -- f: 520-290-4179 -- 15378 e colossal cave rd -- Tucson, AZ 85641 New Publications: Warner Onstine Rick Hightower have a new book, Professional Java Tools for Extreme Programming : Ant, XDoclet, JUnit, Cactus, Maven, available now at your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764556177/ Rick Hightower has two new books, Professional Jakarta Struts, available now aat your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764544373 and Struts Live available through SourceBeat.com: http://www.sourcebeat.com/TitleAction.do?id=3 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Jython, Groovy and other limp wristed languages RE: [jug-discussion] thoughts on new presos
:) -Original Message- From: Drew Davidson [mailto:[EMAIL PROTECTED] Sent: Monday, November 01, 2004 9:35 AM To: [EMAIL PROTECTED] Subject: Re: [jug-discussion] Jython, Groovy and other limp wristed languages RE: [jug-discussion] thoughts on new presos Richard Hightower wrote: Hook. Line. And Sinker That was such obvious flame bait Thanks for going easy on me... Big guy! I'll get you for this Rick Hightower. I swear it. - Drew -- +-+ Drew Davidson | OGNL Technology +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Jython, Groovy and other limp wristed languages RE: [jug-discussion] thoughts on new presos
I agree. Like it or not Groovy looks like it will be a factor. (Poor Drew hates it with a passion.) BTW I heard earlier that Jython was dead on this list. I agree with that assesment if you made it about a year ago. I think there is some new life in Jython Mostly breed by the new Eclipse plugins for it. It also looks like there has been some recent activity on the Jython website (October 25th). Python adopted most of the cool Ruby features (continuation and such). It had most of the other Ruby features (years before Ruby existed). I would love to use Ruby b/c it seems to have a lot of momentum (slowed a bit), and it is the most like Python. What I like about Groovy is that the the syntax is not controlled by language purists. They can add extentions for things that we use all of the time like XML DOM, XSLT and SQL. I view this as an advantage, but it makes a messy language. I can see why this could be considered bad (Perl). But I would considering using something that made life easier (I am lazy, and I am proud of it). I want tools to be as easy to use as possible whilst not boxing myself in. Hani says anyone that uses a loosely typed language is limp wristed, whatever that means. Ahem. I still like Jython. I've written things in Jython that took twice as much code (or more) when I wrote it in Java. Jython (Python really) is fairly readable. Of course you could write Python that no one could read (I've done it... Guilty as charged... Ask nick he has seen some of my jython code Poor guy.). -- r i c kh i g h t o w e r -- Senior Mentor -- [EMAIL PROTECTED] -- http://www.arc-mind.com -- p: 520-290-6855 -- m: 520-661-6753 -- f: 520-290-4179 -- 15378 e colossal cave rd -- Tucson, AZ 85641 Upcoming conferences: JSF QuickStart: San Diego, CA, 10/9/04-10/11 JSF QuickStart: Santa Clara, CA, 10/16/04-10/17 JSF QuickStart: Los Angeles, CA, 10/23/04-10/24 JSF QuickStart: Phoenix, AZ, 11/6/04-11/05 JSF QuickStart: Houston, TX, 11/13/04-11/14 JSF QuickStart: Dallas, TX, 11/20/04-11/21 JSF QuickStart: Boston, MA, 12/04/04-12/05 JSF QuickStart: Seattle, WA, 12/11/04-12/12 JSF QuickStart: Las Vegas, NV, 12/18/04-12/19 See for more info: http://www.arc-mind.com/courses/jsfCourseWeekendWarriorEdition.html New Publications: Warner Onstine Rick Hightower have a new book, Professional Java Tools for Extreme Programming : Ant, XDoclet, JUnit, Cactus, Maven, available now at your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764556177/ Rick Hightower has two new books, Professional Jakarta Struts, available now aat your local bookstore and Amazon.com: http://www.amazon.com/exec/obidos/ASIN/0764544373 and Struts Live available through SourceBeat.com: http://www.sourcebeat.com/TitleAction.do?id=3 -Original Message- From: Nicholas Lesiecki [mailto:[EMAIL PROTECTED] Sent: Saturday, October 30, 2004 9:42 AM To: [EMAIL PROTECTED] Subject: Re: [jug-discussion] thoughts on new presos Groovy is clearly going to be important in the future, although the hype seems to have cooled somewhat. I'd love to hear about Ruby--and there is a Java implementation: JRuby which can probably access Java classes as well. Cheers, Nick On Oct 29, 2004, at 10:20 AM, Thomas Hicks wrote: My $.02: I'm interested in Groovy and Jython as complements to Java; since both allow use of Java class libraries. Jython appears to be dead, almost no activity for well over a year. Groovy has some interesting concepts (I was able to write a DB query which produced XML in about 5 lines of code) but it doesn't strike me as ready for prime time. Maybe because of its lack of documentation. I would love to hear someone who knows more speak on either of these. Also, how about a series of short (15 min) presentations on favorite low-cost (or free) tools. I would volunteer for one of these in Dec (may be traveling during Nov meeting :( I can demonstrate the Oxygen XML tool or the DB Visualizer tool. Also, what about this Prevayler persistance thing? Anyone play with that yet? -tom At 07:49 AM 10/28/2004, you wrote: Hi all, Was reading a blog this morning and came across some interesting projects which got me thinking about some possible presos if anyone is interested in taking these on: Ruby preso - any Ruby users out there? Python preso Ruby on Rails - http://www.rubyonrails.org/show/HomePage (which Basecamp has been migrated to - http://www.37signals.com/svn/archives/000606.php) Trails (A Tapestry impl, just starting of Ruby on Rails) - http://jroller.com/page/ccnelson/Weblog?catname=/Trails Naked Objects - http://www.nakedobjects.org/ Groovy - http://groovy.codehaus.org/ Would love to hear other suggestions. -warner Nicholas Lesiecki Software Craftsman, specializing in J2EE, Agile Methods, and aspect-oriented programming Books: * Mastering AspectJ: http://tinyurl.com/66vf *
RE: [jug-discussion] Meeting Tues Sep 14
Warning: Drew is the Tapestry stud. I have not fully taken the Tapestry plunge yet. I have been doing JSF (JavaServer Faces) for a while. I dig JSF. I hear Tapestry is better. JSF is a lot *more* productive than Struts. Tapestry is on my list of things to master. -Original Message- From: Drew Davidson [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 14, 2004 4:05 PM To: [EMAIL PROTECTED] Subject: Re: [jug-discussion] Meeting Tues Sep 14 Duffy Gillman wrote: Tim Colson wrote: And of course, let us not forget the main event, the smack-down of generations, the Framework battle royale! Robert Ziegler wrote: not exactly the way I would describe things... As long as Robert isn't in tights and a Mexican wrestling mask I'm game. Strong Bad presents Tapestry. I think I like that: Audience Member: So how do you compare Struts to Tapestry? Strong Bad: Struts is crap, man. You don't want to go there. Right, The Cheat? The Cheat: Meeemeee mmeeemmee mmee [translation: you got that right] - Drew -- +-+ Drew Davidson | OGNL Technology +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] OGNL presentation on Tuesday
I wish I could be there. I really want to learn more about Ognl. I will be out of town. Can you post the slides on the website? -Original Message- From: Drew Davidson [mailto:[EMAIL PROTECTED] Sent: Sunday, March 07, 2004 4:46 PM To: [EMAIL PROTECTED] Subject: [jug-discussion] OGNL presentation on Tuesday Everyone, As you know I'm going to present on OGNL next Tuesday at the JUG meeting. I was planning on doing this talk in April so I haven't given a lot of thought as to what people would be interested in hearing about OGNL. OGNL is a very rich framework and there are several aspects to it that would be of interest, depending on the amount you already know about it. Here are some possible outlines of interest: * OGNL language features - it's a binding language, not a mere expression language. let's get that straight right off the bat. - what OGNL does for you that other expression languages also do - what OGNL does for you that other expression languages do not - property navigation + what's a property? + what's a navigation chain? - index access (including the OGNL object indexed properties) applied to properties + how objects are index accessible - numeric types - collection manipulation + indexed access (plus dynamic subscripts) + projection + selection - lambda expressions - who is using OGNL? + Tapestry web application framework + WebWork web application framework + WebOGNL web application framework + JSP 2.0 EL replacement + Plug-in for BSF allows everyone to use OGNL + Many other silent users + If anyone knows of a use of OGNL other than these? I'd like to know! * OGNL API - OgnlContext: the center of attention - Set vs. get for expressions - OGNL extension API + PropertyAccessor (accessing named properties) + ElementsAccessor (getting iterations of objects) + MethodAccessor (calling instance static methods) + NullHandler (handling null results from property gets and method calls) + TypeConverter (converting between different types) + MemberAccess (for lowering protection on normally inaccessible private, protected and package protected methods, fields, etc.) * OGNL 3 - same OGNL language - totally rewritten, cleaner API + parser gets it's own package + implementations of extensions API now has it's own package + org.ognl.el package defines only 2 classes, the rest are interfaces + clearly delineated lines of responsiblity between Expression implementors (parse tree), Environment, ExecutionEnvironment and Extensions. + type conversion is now integral to all aspects of expression evaluation - new package names: org.ognl.el, org.ognl.el.parser, org.ognl.el.extensions and org.ognl.util - environment interface for registering extensions - exposed execution context interface (was OgnlContext, but the API only showed it as a Map) + DefaultExecutionContext implements ExecutionContext to provide an all-in-one parser, registry and execution context suitable for simple expression executions + DelegatedExecutionContext delegates to a shared environment so that registry, runtime reflection cache, etc. are shared - parse tree now has better structure and clearly defined role - exposed Expression class encapsulates parse tree for syntax analysis + defines hierarchy + exposes Visitor interface for walking expressions + exposes get and set operations + exposes static syntax analysis methods: isConstant, isSimpleProperty, isSimpleNavigationChain - caching (reflection information, etc.) is more manageable through pluggable Reflector class - almost everything is pluggable; most of the classe - TypeConverter subsumes NullHandler and now has more robust ability to handle any conversion - all extensions except ClassResolver is now associatable with a class to facilitate fine-grained customization www.ognl.org - I thought you were a web developer so why does www.ognl.org use frames you moron? are you still living in 1997? - replace frames on the OGNL website: why Drew is so lazy - getting rid of that awful late-90s-beveled purple look on www.ognl.org - at least the license plates link to the OGNL and WebOGNL license These are just some suggestions. Feel free to let me know what you think would be interesting for me to talk about. - Drew -- +-+ Drew Davidson | OGNL Technology Professional Open Source
RE: [jug-discussion] OGNL presentation on Tuesday
I am a weekend Tucsonan. -Original Message- From: Drew Davidson [mailto:[EMAIL PROTECTED] Sent: Monday, March 08, 2004 11:00 AM To: [EMAIL PROTECTED] Subject: Re: [jug-discussion] OGNL presentation on Tuesday Richard Hightower wrote: I wish I could be there. I really want to learn more about Ognl. I will be out of town. You are in danger of not being able to call yourself a Tucsonan :-) Can you post the slides on the website? Sure. - Drew -- +-+ Drew Davidson | OGNL Technology Professional Open Source +-+ | Email: [EMAIL PROTECTED] / |Web: http://www.ognl.org / |Vox: (520) 531-1966 |Fax: (520) 531-1965\ | Mobile: (520) 405-2967 \ +-+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] JBoss, Spring, JMX.... Oh MY!
JBoss holds onto the cache of users and roles. So if you changed a users role, they would not be able to see it for 1/2 an hour. I subclassed UserManagerImpl, and created a version specific to JBoss, then I changed UserManagerImpl to use a stub method called flushAuthCache. UserManagerJBossSpecific invalidates the user cache using JMX (code below). JBoss is pretty cool! Since I am using Spring. I did not have to change any other code in the system. Just one configuration file! Spring change: bean id=userManager class=org.appfuse.webapp.service.UserManagerJBossSpecific property name=userDAOref local=userDAO//property /bean I love IOC. I only have one class in the system that is JBoss specific and, you can change it... to not be specific by doing this... bean id=userManager class=org.appfuse.webapp.service.UserManagerImpl property name=userDAOref local=userDAO//property /bean Spring is an IOC/AOP container. --taken from JBoss forum--- http://www.jboss.org/index.html?module=bbop=viewtopicp=3823134#3823134 Thanks for all your help. I was able to clear the cache. Here is the code that does the trick. It took a bit of doing. There was sample code online but it was with an older version of JBoss so it did not quite work. The Director of Training for JBoss Europe sent me the final missing piece. Here is code that clears the security cache. Hopefully someone will find this useful when they google it in the future. Enjoy! [code] /* * This file was created by Rick Hightower of ArcMinds Inc. * */ package org.appfuse.webapp.service; import java.lang.reflect.Method; import java.net.InetAddress; import java.rmi.Remote; import javax.management.ObjectName; import javax.naming.Context; import javax.naming.InitialContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * @author Richard Hightower * ArcMind Inc. http://www.arc-mind.com */ public class UserManagerJBossSpecific extends UserManagerImpl { private static Log log = LogFactory.getLog(UserManagerJBossSpecific.class); private Remote server = null; private Context initialContext = null; /** * @throws Exception */ public UserManagerJBossSpecific() throws Exception { super(); } public void flushAuthCache() throws Exception { log.debug(flushAuthCache start); ObjectName jaasMgr = new ObjectName(jboss.security:service=JaasSecurityManager); Object[] params = { expressDomain }; String[] signature = { java.lang.String }; invoke(jaasMgr, flushAuthenticationCache, params, signature); log.debug(flushAuthCache stop); } protected Object invoke( ObjectName name, String method, Object[] args, String[] sig) throws Exception { return invoke(getServer(), name, method, args, sig); } protected Object invoke( Remote server, ObjectName name, String method, Object[] args, String[] sig) throws Exception { //((org.jboss.jmx.adaptor.rmi.RMIAdaptor) server). //invoke(name, method, args, sig); Class [] argTypes = new Class [] {ObjectName.class, String.class, Object[].class, String[].class}; Method m = server.getClass().getMethod(invoke, argTypes); return m.invoke(server,new Object[]{name, method, args, sig}); } Remote getServer() throws Exception { init(); return server; } protected void init() throws Exception { if (initialContext == null) { initialContext = new InitialContext(); } if (server == null) { String serverName = System.getProperty(testAdvantage.jboss.server.name); if (serverName == null) { serverName = InetAddress.getLocalHost().getHostName(); } server = (Remote) initialContext.lookup(jmx/invoker/RMIAdaptor); } } } [/code] Notice I don't include any JBoss specific classes, this is because I did not want to add them to the build script. Not sure if this is a good idea or not. I left a comment in showing how to do it directly instead of reflection. I try to make a habit of including the solution as well as the problem (after I get help and figure it out). ;) --Richard M Hightower II - To unsubscribe, e-mail: [EMAIL
[jug-discussion] Has anyone used Spring yet?
I have been using Spring on my last two projects. It is the coolest thing ever! Has anyone tried it? I just used it to declaratively demarcate transaction support for my HibernateDAO with Spring's AOP extensions. WOW! Spring is killer. Spring makes TDD in J2EE so much more doable. You got to check out Spring. Rick Hightower Developer Struts/J2EE training -- http://www.arc-mind.com/strutsCourse.htm Struts/J2EE consulting -- http://www.arc-mind.com/consulting.htm#StrutsMentoring - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Problems with JBoss Security.... Any JBoss gurus out there?
I am having a problem with roles. A user called tomcat is in a role called admin, but should not be. I can login okay with the tomcat user but, the tomcat user can do everything an admin can do, which is not what I want. I then tried to programmatically see if tomcat user is an admin and he was. (Application based on AppFuse... works under Tomcat and Resin but not JBoss.) JBoss security is setup as follows: application-policy name = express login-module code = org.jboss.security.auth.spi.DatabaseServerLoginModule flag = required module-option name = dsJndiNamejdbc/mysql/module-option module-option name = principalsQuery select passwrd from app_user where username=? /module-option module-option name = rolesQuery select role_name, 'Roles' from user_role where username=? /module-option module-option name=hashAlgorithmSHA/module-option module-option name=hashEncodingbase64/module-option /login-module /application-policy When I run the querries in the database workbench they seem to work as they should. (I tried several combinations of encoding and hash to no avail). It should be like this: user tomcat is in the role user user mraible is in the role admin Here is the role table: CREATE TABLE USER_ROLE ( ID NUMERIC( 18, 0) NOT NULL, USER_ID NUMERIC( 18, 0) NOT NULL, USERNAME VARCHAR( 255) NOT NULL COLLATE NONE, ROLE_NAME VARCHAR( 255) NOT NULL COLLATE NONE, PRIMARY KEY (ID) ); This query select USER_NAME ROLENAME from USER_ROLE; outputs this: USER_NAME ROLENAME tomcat user mraible admin Here is the DDL for the user table: RECREATE TABLE APP_USER ( ID NUMERIC( 18, 0) NOT NULL, USERNAME VARCHAR( 40) NOT NULL COLLATE NONE, PASSWRD VARCHAR( 150) NOT NULL COLLATE NONE, FIRSTNAME VARCHAR( 40) NOT NULL COLLATE NONE, LASTNAME VARCHAR( 40) NOT NULL COLLATE NONE, EMAIL VARCHAR( 100) COLLATE NONE, PHONENUMBER VARCHAR( 15) COLLATE NONE, PASSWORDHINT VARCHAR( 40) COLLATE NONE, INCREMENTBY FLOAT, VER INTEGER, PRIMARY KEY (ID) ); The above has the following data: ID,USERNAME,FIRSTNAME,EMAIL 1,tomcat,Tomcat,[EMAIL PROTECTED] 2,mraible,Matt,[EMAIL PROTECTED] 3,rick,Rick,[EMAIL PROTECTED] Rick Hightower Developer Struts/J2EE training -- http://www.arc-mind.com/strutsCourse.htm Struts/J2EE consulting -- http://www.arc-mind.com/consulting.htm#StrutsMentoring - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Hello, I am sort of new to the list
Dropping names does not make me cool. I am cool already. :) -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Saturday, January 17, 2004 7:48 AM To: [EMAIL PROTECTED] Subject: Re: [jug-discussion] Hello, I am sort of new to the list On Jan 17, 2004, at 12:55 AM, Richard Hightower wrote: Hello, I am new to this list. I have been a member in the past, but that was several email addresses ago. Who the heck is this poser?! Who let him on this list? Geez! :)) I use to work at eBlox with Andy B., Paul V., Warner O., Nick L., Drew D., Erik H., Randy K., etc. a while back. Sure, like dropping names makes you cool and stuff. Erik p.s. Rock on Rick! http://www.blogscene.org/erik/Computers/arcmind.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] Hello, I am sort of new to the list
Hey Don't you live in Virginia? :) -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Saturday, January 17, 2004 7:48 AM To: [EMAIL PROTECTED] Subject: Re: [jug-discussion] Hello, I am sort of new to the list On Jan 17, 2004, at 12:55 AM, Richard Hightower wrote: Hello, I am new to this list. I have been a member in the past, but that was several email addresses ago. Who the heck is this poser?! Who let him on this list? Geez! :)) I use to work at eBlox with Andy B., Paul V., Warner O., Nick L., Drew D., Erik H., Randy K., etc. a while back. Sure, like dropping names makes you cool and stuff. Erik p.s. Rock on Rick! http://www.blogscene.org/erik/Computers/arcmind.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Hello, I am sort of new to the list
Hello, I am new to this list. I have been a member in the past, but that was several email addresses ago. I use to work at eBlox with Andy B., Paul V., Warner O., Nick L., Drew D., Erik H., Randy K., etc. a while back. I now work at ArcMind. ArcMind provides systems integration, consulting and mentoring services serving Global 1000 companies with a primary focus on J2EE/Struts and .Net. Our niche is the application of Agile practices of continuous integration, unit testing and more applied to J2EE/Struts and .Net. Our focus on Agile Methods allows our customers to deliver business value to their clients in the shortest time possible while reducing risk. I just wanted to drop a line and say hi. I live in East Tucson. Rick Hightower CTO of ArcMind Inc. Struts/J2EE training -- http://www.arc-mind.com/strutsCourse.htm Struts/J2EE consulting -- http://www.arc-mind.com/consulting.htm#StrutsMentoring - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] portable.net released
: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Software Quality Assurance Conference - Call for Speakers
Yes. I would love to speak. BTW You wrote this to the whole JUG list. You should ask Nick L. as well. He lives in Tucson and is the co author of the book. Greetings. We me at BarnesNoble several weeks ago. I picked up your book on Java Tools for XP and became quite excited about XP. I am involved in putting together a 1-day conference on software quality assurance. We are still at the early stages but our current plans are for early March at La Paloma. So far we have one firm commitment for a speaker, from Ventana Medical Systems, and we are in discussions with Raytheon's outreach program. We are planning for several one hour talks as well as one or two panel discussions. There will also be a vendor area. Time and place should become firm within the next week. I hope you would be willing to speak. Please let me know as soon as possible. Feel free to contact me for more details. Thanks, Martin --- Martin Lapidus (520) - 749-0200 [EMAIL PROTECTED] A programmer is a machine that turns coffee into code - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Questioning XP
A good review of an interesting book: http://slashdot.org/article.pl?sid=02/11/13/1550230 I was reading through some of the slashdot posts. The part I find funny about the whole XP debate is that is often not the case of RUP vs. XP. More likely (in my travels anyway)... it is XP vs. nothing Or XP vs. Anarchy. In this case, XP always wins. A bar glass could win against complete anarchy. I enjoy teamwork. I enjoy bouncing ideas off of colleagues. I enjoy learning from them as well as sharing new ways of thinink with them. I enjoy working a full day programming instead of contemplating navel lint in a big muckyedy muck meetings. XP is not for everyone. It is not for every organization. But it is the way I prefer to work. Given the choice, I rather have RUP than Anarchy. XP does not mean there will be no design. XP does not mean there will be no planning. In fact, XP (done right) is very structured and focused. A good review of an interesting book: http://slashdot.org/article.pl?sid=02/11/13/1550230 -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] [dec presentation] survey of O/R tools
I would add to your list. Is it well documented? Is it easy to configure? Does it have community support? (more people that use it, more bugs get found and fixed) Can you get other support? Can you find info on it and best practices with it (with books, articles, etc.)? Can you hire someone off the street who can do it? Is it a standard? Does it have XDoclet support? I would like to offer a presentation for December's topic covering Object-Relational mapping tools. An emphatic +1 :-) Some of the tools I would be reviewing will be: Castor (castor.exolab.org) Hibernate (http://hibernate.sourceforge.net/) Torque (jakarta.apache.org/turbine/torque) OJB (jakarta.apache.org/ojb) TJDO (http://tjdo.sourceforge.net/) I'm most interested in Hibernate and TJDO personally, but might be worth adding this project to just the comparison grid: jRelationalFramework version 2.0 http://jrf.sourceforge.net/ The author of SimpleORM has this document that might be a good starting point for some comparisons: http://www.uq.net.au/~zzabergl/simpleorm/ORMTools.html Personally I think that this is more than enough to review in an hour, Agree. Perhaps on the list there are other folks who have intimate experience with one or more of these technologies already? Could split things up to multiple folks, but work on the same example scenario? If this is selected as the next topic. I would like some specific questions asked now, so I can prepare the answers for the presentation. 1) Is it easy to use? 2) Is it easy to use? ;-) 3) Does it impose any constraints on the DB design? (or conversely, will it work with a schema that you didn't design, wouldn't have designed, and was just plain designed by a raving lunatic...but now can't be changed?) 4) Does it adapt well to changes in schema? 5) Does it have cacheing built in? 6) How query-intensive is it? (i.e. how many queries does it take to restore a listed of objects that have nested objects) Looking forward to this! Tim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] [dec presentation] survey of O/R tools
answers for EJB CMP CMR At 04:59 PM 11/13/2002 -0700, Warner wrote: If this is selected as the next topic. I would like some specific questions asked now, so I can prepare the answers for the presentation. 1. What entity relationships does the ORMapping support? 11. one-to-one yes 22. one-to-may yes 33. many-to-many yes 44. dependent (weak) entities (class dependent on another) vendor specific aa. Does it also handle cascaded deletes and such constraints? yes 55. strong entities (class relating to another) don't uderstand question 66. class extending another aa. how does it do this (one-inheritance-tree-one-table or otherwise)? not easily 2. Does it autogenerate unique IDs? yes. (vendor specific) 3. Does it allow a Java class to map to more than one DB table? yes. (vendor specific) 4. What kind of Query processing does it support? (ODQL, SQL, proprietary)? EJBQL 5. Read vs. Write performance? vendor specific Fast... (it can cahce data and opt how data is loaded) 6. Space vs. performance? ? 7. Does it have a programmable API? If so, what languages does it support? supports java... 8. Which platforms does it run on? Other requirements (libraries, packages, etc.)? any j2ee compliant app server 9. What is the cost? (probably not applicable to the ones you picked). free for open source, $1000 for server deployment, up to $10 per server for high end 10. How does it persist? (alter byte code, Persistance Manager class, XML config file Handled by ejb container Looking forward to your presentation. -tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [jug-discussion] [dec presentation] survey of O/R tools
i agree. resin's is good. the question was not better, but good. all True but even then weblogic had a much better community and documentation base. 6 of one... -Original Message- From: Richard Hightower [mailto:rhightower;learningpatterns.com] Sent: Thursday, November 14, 2002 3:25 PM To: [EMAIL PROTECTED] Subject: RE: [jug-discussion] [dec presentation] survey of O/R tools John, Yes. Resin EE has improved. For that matter if you compare WebLogic 6.0 from that time period when you were working with Resin CMP to the 7.0 release of WebLogic you would notice that WebLogic has improved too. WebLogic works really well now. It had problems back then too. It takes a few releases to get the kinks out. WebLogic 6.1 does not fully implement EJB CMP 2.0. WebLogic 7.0 does. I would add to your list. Is it well documented? Is it easy to configure? Does it have community support? (more people that use it, more bugs get found and fixed) Can you get other support? Can you find info on it and best practices with it (with books, articles, etc.)? Can you hire someone off the street who can do it? Is it a standard? Does it have XDoclet support? Do these questions refer to the difference between EJB CMR/P and OR Tools? If so then my biggest issue is the container dependent implementations of J2EE. As I remember Resin was been pretty horrific in regards to many of these questions. Weblogic is WAY better, but costs a lot of $$. Has Resin improved in relation to: 1 2 3 4 and 6? I would like to offer a presentation for December's topic covering Object-Relational mapping tools. An emphatic +1 :-) Some of the tools I would be reviewing will be: Castor (castor.exolab.org) Hibernate (http://hibernate.sourceforge.net/) Torque (jakarta.apache.org/turbine/torque) OJB (jakarta.apache.org/ojb) TJDO (http://tjdo.sourceforge.net/) I'm most interested in Hibernate and TJDO personally, but might be worth adding this project to just the comparison grid: jRelationalFramework version 2.0 http://jrf.sourceforge.net/ The author of SimpleORM has this document that might be a good starting point for some comparisons: http://www.uq.net.au/~zzabergl/simpleorm/ORMTools.html Personally I think that this is more than enough to review in an hour, Agree. Perhaps on the list there are other folks who have intimate experience with one or more of these technologies already? Could split things up to multiple folks, but work on the same example scenario? If this is selected as the next topic. I would like some specific questions asked now, so I can prepare the answers for the presentation. 1) Is it easy to use? 2) Is it easy to use? ;-) 3) Does it impose any constraints on the DB design? (or conversely, will it work with a schema that you didn't design, wouldn't have designed, and was just plain designed by a raving lunatic...but now can't be changed?) 4) Does it adapt well to changes in schema? 5) Does it have cacheing built in? 6) How query-intensive is it? (i.e. how many queries does it take to restore a listed of objects that have nested objects) Looking forward to this! Tim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger
Re: [jug-discussion] dec. presentation recap
it has OR support +1 for O/R tools. I don't think EJB counts as an O/R tool, and the EJB vs. O/R tools discussion would make a fine topic all by its self. I would especially like to see a knowledgable proponent for each duke it out. Maybe we could find an impartial (hah!) moderator. Warner Onstine wrote: Ok, Before we get too deep here, I would like to know if we have enough +1's for O/R tools for the meeting: Tim +1 Warner +1 Nick +1 (even if no EJB?) Andy +1 Tom Hicks +1 I'll throw in Drew's +1, because he asked me about Torque a while ago, but I don't know if he'll be able to make it and I know Randy was curious as well (he was the one who pointed me towards Hibernate). Now, anyone else? I would like to see a few more votes (from people that regularly attend - no offense) before locking this down. Plus I don't know if Simon had any other possible presenters lined up, Simon? Thank you for your time, you may now return to your previously scheduled program. -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Richard Hightower CTO | LearningPatterns, Inc. Global Java Education, Mentoring, Courseware Consulting Services +520-290-6855 direct 55 Broad Street , 18th Floor | New York NY 10004 w w w . l e a r n i n g p a t t e r n s . c o m w w w . t r i v e r a t e c h . c o m (new merger) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]