tag:blogger.com,1999:blog-53997864414729189872024-02-18T18:38:22.425-08:00Smoke and IceThis blog is about whatever comes into my mind -- most often, though, it'll be about Java/JEE, barbecue and hockey... chances are you won't be interested in all three of those -- too bad, because I am!Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.comBlogger30125tag:blogger.com,1999:blog-5399786441472918987.post-49268964251126602972010-12-17T20:25:00.000-08:002010-12-17T20:45:05.954-08:00Java EE 6 - Who's In?Been a while since I've written anything, so I'll ease into the waters with this one - it's been over a year since Java EE 6 was released with some very cool updates that I've discussed here and here and here and here and here and here and here and here and here and here and here (dang, I was busy!). So I'm interested in hearing what kind of adoption it's gotten so far. Anybody?Now, I know that Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com7tag:blogger.com,1999:blog-5399786441472918987.post-81063539931681063992010-01-06T12:15:00.000-08:002010-01-19T21:59:23.943-08:00Organize Your Logs With a Cool Java EE 6 TrickPicture this -- it's 9:00 Friday night, and you've just gotten a phone call asking why the hell a key part of your system is down... after verifying that something's definitely busted, you open up the only resource you have -- your system logs... it doesn't take you long to find some exceptions, but they don't tell you much of the story... pretty soon, you realize there are 5 or 6 different Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com2tag:blogger.com,1999:blog-5399786441472918987.post-21622716725864123142009-12-29T22:07:00.001-08:002009-12-31T20:47:13.500-08:00@DataSourceDefinition -- A Hidden Gem from Java EE 6In the old days, DataSources were configured -- well, they were configured in lots of different ways... That's because there was no 'one way' to do it -- in JBoss, you created an XML file that ended in '-ds.xml' and dumped it in the deploy folder... in Glassfish, you either use the admin console or muck with the domain.xml file... in WebLogic you used the web console... and this was all well and Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com10tag:blogger.com,1999:blog-5399786441472918987.post-72697136659186317832009-12-26T12:18:00.000-08:002009-12-29T22:08:26.005-08:00Say hello to the Seam 3 Environment Configuration moduleA funny thing happened after my last post -- I got an email from Dan Allen, from RedHat, with some interest in making my last JCDI Portable Extension -- EnvironmentBindingExtension -- into a Seam 3 Module... pretty cool for a fairly modest effort at finding a new way to solve a problem I've faced in the past... it will be my first official foray into open source (not counting that one line Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com1tag:blogger.com,1999:blog-5399786441472918987.post-38837977616453658342009-12-15T17:59:00.000-08:002009-12-15T21:26:17.135-08:00External CDI Configuration with Portable ExtensionsA common requirement for web and enterprise applications is that they have the capability to configure themselves for each environment without modifying the archive itself -- most commonly this is used only for environment specific attributes such as a test vs. production data store, or for Strings describing a file or directory on the file system which will be different on a developers box vs. aMatt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com2tag:blogger.com,1999:blog-5399786441472918987.post-30417343569041283172009-12-12T18:16:00.000-08:002009-12-12T18:42:08.488-08:00JSR-299 Tx Interceptor code + JAX RS SampleQuick update -- I've thrown the source code to the Transactional Interceptor from my previous post into a source repository, along with a sample webapp that shows how it can be used... they're both maven projects, and should be easy enough to download and fiddle around with -- I've tested it in Glassfish v3, but it should work in JBoss just as well...I'm going to use this repository for a number Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com1tag:blogger.com,1999:blog-5399786441472918987.post-26355012095806485332009-12-09T20:26:00.001-08:002009-12-09T21:13:58.619-08:00Thoughts on JSR 330I'm not sure what to think about JSR-330 -- what do you think?A quick caveat before I begin -- I'm playing devils advocate here, so I have no idea if I believe any of the gibberish that I'm about to write :)On one hand, I think it's Mostly Harmless... CDI/JSR-299 is obviously the default implementation of the spec, and perhaps having a very small portion of the DI capability abstracted so that weMatt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com4tag:blogger.com,1999:blog-5399786441472918987.post-33457067913355833652009-12-07T22:15:00.000-08:002009-12-08T21:26:00.304-08:00CDI and Declarative Transactions...Ok, so since I'm already on the books for declaring that CDI/JSR-299 will become the dominant framework of the Java EE standards, while pushing EJB 3 off to the side, let's start to figure out how this could work... I don't think too many people would argue that the number one reason for using EJB 3.x Session beans are the Declarative Transaction support -- that is, being able to create and Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com12tag:blogger.com,1999:blog-5399786441472918987.post-30668290876176827352009-12-02T21:53:00.000-08:002009-12-03T21:48:43.647-08:00CDI/JSR-299 preparing to marginalize EJB... again...Whew, it's been a while since I've started looking at what's new in Java EE 6, partially because I've been fiddling with the newest addition to the Java EE portfolio -- JSR-299, aka CDI, f/k/a Web Beans, and this one could be big... Let's start with a bang -- CDI will eventually push EJB to obscurity... yeah, big statement, I know, but here's why I believe this will happen:CDI has the potential, Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com14tag:blogger.com,1999:blog-5399786441472918987.post-79908681875019173372009-08-17T20:09:00.000-07:002009-08-17T20:26:13.016-07:00Nice NetBeans/Maven integrationJust found this pretty cool feature in the latest 6.8 M1 release of NetBeans... when working with Maven project, you can, of course setup dependencies on other Maven libraries, but 'native' NetBeans projects don't have this ability -- you can only setup dependencies to other Projects, to 'Libraries', and to random .jar files... however, NetBeans now has the ability to create Libraries from Maven Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com4tag:blogger.com,1999:blog-5399786441472918987.post-16314339544561707052009-08-06T20:18:00.001-07:002009-08-09T19:17:50.464-07:00What's cool in Java EE 6 -- Singleton EJB's and PruningWell, with the all the excitement about the addition of JSR 330 Dependency Injection into the EE 6 platform, I figured I'd switch gears a bit and talk about the changes in a different spec -- this time, the EJB spec... Now, this spec is enormous -- 618 pages to be exact -- but luckily, we can ignore most of it! I mean seriously, who wants to read about EJB QL, 2.1 Client Views and the like... Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com5tag:blogger.com,1999:blog-5399786441472918987.post-27689582845180242422009-08-04T20:50:00.001-07:002009-08-04T21:44:38.138-07:00What's cool in Java EE 6 -- JSR 330?Hey, interesting timing on this one, given my previous two entries this week -- a blog entry just caught my attention indicating that Java EE 6 is getting a late entry in the form of JSR-330 -- Dependency Injection for Java... I noticed this spec when it was first announced back in May or so, and immediately thought "Oh boy, a direct competitor to Web Beans! This is going to confuse things!"... Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com1tag:blogger.com,1999:blog-5399786441472918987.post-86163338674071135302009-08-01T19:44:00.000-07:002009-08-03T04:31:58.932-07:00More cool in Java EE 6 -- JSF 2.0, Bean ValidationThere's definitely more cool stuff in JSF 2.0 that I didn't get to last time -- so let's get right to it...Annotations for Converters and ValidatorsThe @FacesConverter and @FacesValidator annotations are nice little additions to the framework... they're simple to use -- you write your converter and validator classes in the same way as you always did, but instead of needing to crack open your Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com3tag:blogger.com,1999:blog-5399786441472918987.post-24240532050896583422009-07-29T19:01:00.001-07:002010-01-15T05:08:15.435-08:00What's cool in Java EE 6 -- JSF 2.0Howdy -- been a while since I've been around here, but I've been fiddling with some of the new technologies in Java EE 6, and figured that this is as good a place as any to start to talk about them :)...First off, I've been working with NetBeans 6.7 and Glassfish v3 Preview (look here for info on how to get the two to work together)... I have plenty of experience with NetBeans, but less with Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com5tag:blogger.com,1999:blog-5399786441472918987.post-32148654818868992452008-03-21T17:34:00.000-07:002009-08-09T06:17:34.639-07:00Java EE reminds me of the government...Don't get me wrong -- I like Java EE 5... I'm especially a big fan of being able to make a living working with it, but sometimes you run into some weird things that just make you scratch your head...The government analogy comes from the fact that the @PostConstruct annotation cannot be used in conjunction with a transactional or a security context... It's almost like a bunch of possibly well Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com5tag:blogger.com,1999:blog-5399786441472918987.post-90427013255197920862008-03-02T10:03:00.001-08:002008-03-18T04:59:48.893-07:00EJB Lite? Now I'm really confused...Something smells a bit about the Java EE 6 'profiles' discussions from a few weeks back, triggered by Roberto Chinnici's blog entry here... I'm not talking about the contents of the profiles themselves -- although I do have some issues here, that's for later... what I'm talking about is this concept of EJB 'Lite'... huh? Why is this needed? Isn't WebBeans supposed to provide a light-weight Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com1tag:blogger.com,1999:blog-5399786441472918987.post-49429759528268630262008-02-13T18:07:00.000-08:002008-02-13T18:12:28.935-08:00It figures...Wouldn't you know it, one day after I write an entry about how development on JBoss' app server seems to be crawling, they release a new beta version of the 5.0 series! I figured that would happen, although my comments still hold true -- JBoss AS 5 is still in beta, and as far as I know, it has not been Java EE 5 certified (I could be wrong on that -- please correct me if I am)...They've Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com3tag:blogger.com,1999:blog-5399786441472918987.post-76244486950458500462008-02-09T18:16:00.000-08:002008-02-09T18:27:28.560-08:00Um... Has anyone seen JBoss?Ok, can anyone explain why JBoss seams to have dropped off the map? The 5.0 version of the JBoss Application Server has been in beta for over a year! What's going on? I see a lot of the JBoss folks active in blogs and articles, but JBoss appears to be one of the only major server vendor who has not released Java EE 5 compliant server -- for God's sake, even WebSphere has a Java EE 5 server (Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com1tag:blogger.com,1999:blog-5399786441472918987.post-75948530382067734702007-10-01T19:01:00.000-07:002007-10-03T05:29:26.009-07:00Architectural Pattern - Layering EnforcementThere are times in just about any Software Architects’ or Lead Developers’ careers when they wish that they had enforced a pattern more effectively – usually this comes when they find some code that has been around for ages that, for example, accesses a Data Access Object directly from a Servlet, a JSF Managed Bean, or (*gulp*) a JSP page… It usually leads to about a week of brainstorming and Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com7tag:blogger.com,1999:blog-5399786441472918987.post-69850348869029657752007-10-01T18:26:00.000-07:002007-10-01T18:32:48.172-07:00Err... Whaaaaaahhh?Leave it to Sun to pull a WTF on what may be the most important release for Java on the Desktop in the last decade -- after finally announcing that we're going to get a streamlined, fast, easy to install JRE to compete with Flash and the like, they go an give it possibly the worst product name ever (does anyone remember Bob?) -- "Java SE 6 Update N"... My God, what are they thinking?MMatt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com1tag:blogger.com,1999:blog-5399786441472918987.post-46451357747458065402007-09-28T10:22:00.000-07:002007-09-28T10:38:09.399-07:00Woo hoo!Can you smell that smell? That's the smell of a nice, smooth, clean sheet of ice down at your local rink... that's right, it's hockey season, baby, the best time of the year, and the Rangers are looking to make a run for the Cup (they also apparently sold out the entire season in less than an hour... as the great John Buccigross would say, "Holy Shnikies!")... My fantasy draft is tonight, and Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com0tag:blogger.com,1999:blog-5399786441472918987.post-84841948144260321602007-09-25T19:40:00.000-07:002007-09-26T04:35:08.009-07:00Can EJB's be used as more than facades?In the 'good old days' of EJB 2.x, we were trained to design systems such that the 'facade' was created with EJB Session Beans (usually stateless), while everything behind it could be regular Java classes... there were exceptions, of course, as it may have been necessary to access an occasional EJB from behind the facade if it was located remotely, it had different transactional requirements, or Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com3tag:blogger.com,1999:blog-5399786441472918987.post-9800469232423870252007-09-24T19:15:00.000-07:002007-09-25T20:50:20.570-07:00Web Beans Sneak PreviewIn case you didn't notice, Gavin King is offering a sneak preview of the Web Beans spec (JSR 299) so far in part 1, part 2, part 3 and part 4... It's been a whole day since his last post, so it appears like now is a good time to put out some thoughts... These are in no particular, but will hopefully serve to continue the conversation to make the eventual spec as useful as possible... Web Beans isMatt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com0tag:blogger.com,1999:blog-5399786441472918987.post-41991077084372951212007-09-22T10:40:00.000-07:002007-09-25T20:51:07.825-07:00Did Guice beat Sprint to the punch?There's been a lot of talk over the past few years that perhaps Interface 21 should push to formally make the Spring Framework a part of the JEE specs -- it seemed like it might be possible with Rod Johnson officially declaring his support for JEE 6... well it looks like "Crazy" Bob Lee and the team behind Guice may have found a back door to get themselves into the party first -- according to a Matt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com0tag:blogger.com,1999:blog-5399786441472918987.post-23772768196482727592007-08-10T09:46:00.000-07:002007-08-10T09:57:50.289-07:00More on rethinking JEE 5 patternsAdam Bien often discusses the rethinking of JEE 5 patterns and best practices in his blog, and his latest entry discusses a replacement for the Value List Handler pattern that was prevalent in the J2EE 1.4 and earlier worlds called the Paginator. While I can't say I love the name, the implementation is interesting -- it's really not much different than the old VLH pattern, except that it returnsMatt Coreyhttp://www.blogger.com/profile/11674710264273082778noreply@blogger.com0