The Source for Java Technology Collaboration
User: Password:



Andreas Schaefer's Blog

May 2007 Archives


JavaOne 2007 is History; so back to Work

Posted by schaefa on May 12, 2007 at 12:48 AM | Permalink | Comments (1)

After I could build the bundle and the repository I am now able to do what I wanted to do a year ago. Bug 6313849 is an enhancement request to add a disconnect() method to the URLConnection class so that one can close any URLConnection without having to know which protocol is used and without any fancy upcasts. This is a generalization of my previous contribution to the JDK and so I wanted to tackle it a long time ago but never found time to go through the hassle of building the entire JDK.

So far I went through all the different sub classes of URLConnection and implemented the disconnect() method. Then I needed to create a test with jtreg which is not that trivial. The first problem is to decide where to place it. I could add it to the URLConnection or to the sub classes. I would thing it would make more sense to place it with the sub classes but I am not quite sure. Then I don't know if the test should be named after the bug number or after the newly added method disconnect.

If that is successful then I can send a patch to Sun so that they can evaluate and test it. So far so good but the entire experience with building the JDK and then go through the contribution process as of now is not very satisfying. First I had to build the entire JDK including the JVM etc even though I was only working on the Java source files. After the changes I had to execute a rebuilt and even though I tried to do that only inside the J2SE folder it deleted the entire build directory forcing a total rebuilt including the JVM etc. This is not very user friendly and will discourage some developers to start working on the JDK. A solution to this problem is to create a separate built system only for the Java source using most likely Ant so that I can rebuilt on the part I need speeding up a build cycle quite a lot. Together with a binary build snapshot of OpenJDK we can free the developers from building the whole enchillada if they are only interested in the Java code.

Have fun - Andy



Open-Sourcing JavaOne

Posted by schaefa on May 11, 2007 at 03:48 PM | Permalink | Comments (1)

JavaOne is nearly over and it was a good as well as a bad convention. One of the things that stroke me was the fact of registering for a session and then standing in line for it. Considering the fact that back in 2000 there were 25k attendants and no registration / lines and it worked out mostly fine I have a hard time to understand this approach. I remember that some complains back in 2000 were that some people could not enter that a popular session but instead of creating an overflow room where they could have a big screen so we could watch the presentation remotely they just failed back to access control. This is like as if a servlet developer would have a problem with multithreading and as solution would make it single threaded. It does the trick but the fix is maybe worse than the problem.

On the other hand the attendants get a paper sheet to evaluate the presentation where one had to ender not only the evaluation but also the ID number. But on the convention we have a Java card (I assume) which already has the ID number and so why can't I evaluate it online on the Sun Ray stations or even do it over the phone especially when one of this year's theme was JavaME.

As an open-source developer I like organized anarchy and therefore have a problem with the overly organized JavaOne. In the early conventions I could roam around when a presentation did not turn out as expected. But when I have to stand in line sometimes way after the session starts then I not only miss parts of the session I also miss even more of a fail-over session.

This also prevented me from adding fail-over session into my schedule because the scheduler does only allow one session at the time because it uses it to control the number of the attendants. This makes it really hard to manage them because I always have to go over all the session rather than only focus on the session I am interested. I am only interested in OpenJDK, Java EE and maybe a little bit Swing which means I am not interested in JavaMe and the Web stuff. Still I was forced to use the rather slow JavaOne website and go through all the session per time slot or per day.

Have fun - Andy



Java Developers are Honest in many Ways

Posted by schaefa on May 11, 2007 at 10:36 AM | Permalink | Comments (2)

Last night I went to the Java 3D / OpenGL Bindings BOF and in all the locomotion I forgot to pick up my fairly new MacBook Pro after asking a question. After the next session I suddenly realized it and raced to that room and my laptop was still there even though it was moved to the next row, ufff.

A thank you to all the people who saw the laptop but did not to take advantage of it.

I love you all - Andy



OpenJDK: Here I come

Posted by schaefa on May 10, 2007 at 12:27 PM | Permalink | Comments (5)

Ditching the Keynote session at JavaOne I am sitting in the Alumni room and trying to get my head around the OpenJDK. Having a MacBook Pro I cannot download the JDK and build it on my Mac natively and so I needed to fire up my VMware installation of OpenSuSE and use Linux to build it on top of the Mac. So I went to the OpenJDK website, downloaded the source and the binary plugins and extracted them. Then I went ahead and tried to setup the environment as requested by j2se/make/jdk_generic_profile.sh script file like ALT_BOOTDIR, ALT_CLOSED_JDK_IMPORT_PATH, LANG and emptied JAVA_HOME. There I realized that I do not have Java 6 installed so I downloaded and installed it. Finally I was ready to fire up the build:

cd control/make
gmake sanity

and sure enough it failed right away complaining missing Alsa headers. After going through some hops I finally could install Alsa, Cups and Motif headers. For Motif I had to revert to lesstif-devel which I have to force to install because of the dependencies of lesstif. Nevertheless I got that going and after setting ALT_MOTIF_DIR to the directory (/usr/X11R6 on my box) containing the includes I was ready to go, at least I thought so. Unfortunately the sanity checks are looking for this file include/Xm/AccColorT.h which is not in lesstif but when I just created that file with vi the make system happily start to build, yeeha.

As a side note I wanted to fool the build by just creating the AccColorT.h file because I saw that on some mailing list that the JDK build does not need Motif but that is wrong, at least as of now. Some generated classes (I found a class called sizer.c) uses it in its imports.

Finally, after nearly an hour the built went through and a short java -version confirmed that I have built JDK 1.7.

Cool - Andy



EJB3 and Glassfish

Posted by schaefa on May 08, 2007 at 05:05 PM | Permalink | Comments (0)

I just had a nice discussion with John Clingan, product manager on Glassfish, about EJB3 and Glassfish in particular. One of the thing that strikes me with EJB3 is that Sun seems not to be able to let go of old stuff. Right now an EJB3 application server needs to support EJB2 and EJB3 and must make sure that they do not conflict. This is going to convolute the code and drags down the performance. If I would have been in charge I would have made the support of EJB2 optional and required that an JavaEE application is either EJB2 or 3 so that the application server can deploy it on different containers. I would it even have made it possible that an application server can only support EJB3 and so a deployment of an EJB2 application would fail.

Well, I wasn't in charge and so we have to live with it. I am just wondering what will happen when EJB4 is released or do you remember EJB1 and the deployment descriptor classes? So deprecation seems to be a good thing but it should not only be applied to the first release. Especially for an application server there is no real need to require that an application needs to support both. EJB interactions enables us to build application using both new and old specifications without intermingling them.

I need to have a look into Glassfish especially V3 to see if and how their modules work out even though I will remain skeptical but it always good to try out new things.

Have fun - Andy



JavaOne 6 Years Later

Posted by schaefa on May 08, 2007 at 04:40 AM | Permalink | Comments (0)

It is six years since my last trip to San Francisco to attend JavaOne and boy has my agenda changed since them. Back then I was working on JBoss and there was a huge fight between Sun and the open-source community on a lot of issues surrounding Java. Now Sun is going to finally open-source Java which is a great success for the open-source idea but I couldn't care less.

The power of Java does not come from the language or even the JDK even though there is a lot in there lately and in my opinion too much. The power comes from the open-source projects around Java that improves and increases the usefulness of Java and I am not talking about the applications based on Java. There is networking stuff like JGroups and Azureus (bit-torrent), high availability like HA-JDBC and Terracotta, build systems like Ant and Maven, Log4j (logging), Rome (RSS feeds handling), concurrency, web frameworks and much much more. It is really hard to find a niche were one could start a novel open-source project because most likely someone else already had that idea and started a project like that.

What Java provides to me is the foundation that makes it easy to harness the power and versatility of all the open-source projects out there. Quite often a project has to ditch an open-source project only for the reason that it is too big for what the project needs it for but still then the code of that open-source project can be the inspiration of the stripped down version they are finally using.

That said I indent to participate on the Open Java project if something is bugging me and to participate in open-source project again. Even though I don't care much about open-sourcing Java I care about Java and I love to participate where it makes a difference for a few people. I need to make a living and that will not be through open-source, so far, but I would not be who I am now without open-source and my previous commitment for it. I learned so much about Java and how to manage and design projects that it outweighs the time I spent on it.

Enjoy - Andy



OpenJDK: Who is / will be in Charge?

Posted by schaefa on May 04, 2007 at 09:48 PM | Permalink | Comments (10)

I am delighted that Sun finally decided to make Java open-source and to harvest the ingenuity of developers around the world. In a few days or months the Java source code of the JDK should be available and with a good build system developers should be able to fix long standing bugs or enhancing some of the features.

The only question remaining: Is OpenJDK really open-source?

What do I mean with that. Open-source is not only to make the source code available and it is not enough to let outsiders contribute patches. In my opinion the main question is who is going to control the project and decides which patch goes in or not. Contributing patches is a great way to show your abilities and commitment to the project but if a developers invests a lot of time with good work then he / she wants to gain more access to the project by having write permission to version control, being able to manage other submitted patches and much more.
As far as I can see the only persons with version control access are Sun employees and so Sun still controls and manages the project. If that is the case then I do not call it an open-source project but maybe I am just too early to ask this question but JavaOne is on next week and I would love to get some answers on how Sun indents to run OpenJDK.

See you at JavaOne - Andy



Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds