Friday October 10, 2008 I did not post here for a long time. One of the reasons was, that I was not really able to say too much about what we were trying to build. But now "Project Kenai" has made it to the public beta. So I can say that I was working on it for the last 18 or so month
We run JRuby inside Glassfish and that's why I was interested in GF again. We have all kinds of servers running and we would like to consolidate all of the log information for easier handling. Most of the native Unix daemons don't have a problem with that, they can all log their information via syslogd. Glassfish claims to be able to do that as well. But I would currently say, it's more a claim than reality in the official builds
We tried to let GF log via syslogd and found very quickly two problems:
Off course, it took us only days to hit that problem , figuring out the reason was a little bit harder. But I did it and filed issue 6291 but not to much moved on it
That is hard-coded to to go to files.But GF is OpenSource, right? I had already looked at the code to find the reason for the 6291 bug. Could I change it so that it would do what I wanted? It turns out that it was not too hard to get a first version working
It's probably not perfect and you can clearly see the steps I took but the two little patches below will:



My first tests were successful. Now we have to decide if we want to use a patched version of GF.
The two patches are against the modules appserv-core and appserv-native.
For appserv-core, I followed the normal build instructions from the wiki and used the TSJSAS91_FCS_BRANCH tag. (I did a complete build but I don't think that would be needed) I then transplanted the two interesting class files into a copy (appserv-rt.jar) of our official GF version for testing.
I did not get the appserv-native module via the normal CVS/maven checkout. But since I found the problematic file before with the Fisheye in the SVN tree, I was able to check that module out via SVN. The v3 build instructions help to find the right SVN tree, but we are still interested in v2 here
It's native code, so if somebody wants to try that, you will need the Sun C compilers etc.
After building and replacing the libutilforsyslog.so, everything seem to be working as expected and I can enjoy my logs via the normal syslogd setup
Below are both, the normal server log and the access log directed to LOG_LOCAL6:
Oct 10 21:22:58 kenaidev13 SJSAS81_server.log: [ID 702911 local6.info] [#|2008-10-10T21:22:58.934-0700|INFO| \
sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=17;_ThreadName=httpSSLWorkerThread-8080-0;| \
PWC1412: WebModule[] ServletContext.log():
Oct 10 21:22:58 kenaidev13 Processing HomeController#index (for 127.0.0.1 at 2008-10-10 21:22:58) [GET]
Oct 10 21:22:58 kenaidev13 Session ID: 376348f6751afdd3c1220777a0ee15ca
Oct 10 21:22:58 kenaidev13 Parameters: {"controller"=>"home", "action"=>"index"}
Oct 10 21:22:58 kenaidev13 Rendering template within layouts/kenai.com
Oct 10 21:22:58 kenaidev13 Rendering home/index
Oct 10 21:22:58 kenaidev13 Completed in 0.34706 (2 reqs/sec) | Rendering: 0.30226 (87%) | DB: 0.00000 (0%) | 200 OK [http://localhost/]
Oct 10 21:22:58 kenaidev13 |#]
Oct 10 21:22:58 kenaidev13 [9374]: [ID 702911 local6.info] "127.0.0.1" "NULL-AUTH-USER" "10/Oct/2008:21:22:58 -0800" \
"GET / HTTP/1.0" 200 14058
If you made it all the way here, those are the two little patches: appserv-core.patch & appserv-native.patch. They are in no way official or fully tested. But they show that somebody can quickly add functionality if needed
Have fun & I hope I'll write more often again
-- Marco
Thursday February 15, 2007
Usually I try to stay out of the big announcements. But an email today caught my eye. You know, all those high-gloss flyers you get for diverse expos and conferences are using a lot of resources. Sun decided to to the first round for this years JavaOne online-only. If you have read some postings here, you will know that I really like that idea.
Here are the estimated resource savings:
"By producing this piece virtually, the Eco group has calculated the savings Sun has made:
Savings from not sending DM1 this year
-Assuming (based on last year) DM1 is equivalent to 2.5 pages of 0% recycled copy paper
-Total paper saved = 4.63 tons
-Greenhouse Gases reduced (CO2 equivalents) = 13 tons (26,297 lbs)
-Reduction in wood use = 13 tons
-# of trees saved (assuming 1 tree makes 16.67 reams of copy paper or 8,333.3 sheets) = 111
-Reduction in wastewater (and associated water pollution) = 78,616 gallons *(equivalent to 838K cans of soda)*
-Reduction in solid waste (stuff sent to landfills) = 5.1 tons"
I think that's a good start. So please head on over to the JavaOne web site to read more about the upcoming conference.
( Feb 15 2007, 03:34:38 PM PST ) Permalink
Monday December 11, 2006 We finally released the Visual Web Pack for NetBeans 5.5
So I might actually write a couple of more entries here again.
Some people see problems when they try to take a project from the VWP TP and open/build it with the final version of VWP. Something like:
I installed the new version of VWP but when I want to use my
previous project it shows below error:
C:\TP_Project\nbproject\build-impl.xml:419: Warning: Could not find file C:\TP_Project\${libs.woodstock-components.classpath.libfile.6} to copy.
BUILD FAILED (total time: 1 second)
The problem is that the libraries for the components have changed. Normally that should be handled automatically on project open when the project properties are synchronized with the values from the IDE. But when there are no other changes, to the IDE, the regeneration of the nbproject/build-impl.xml might not happen.
So when you see this problem while building/deploying a TP project, do the following:
The reopen will regenerate the nbproject/build-impl.xml with the right information.
I hope this is helpfull
Thanks,
-- Marco
Wednesday October 25, 2006 

[pid 15878] execve("/export/home/marcow/bin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/usr/local/sbin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/usr/local/bin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/usr/sbin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/usr/bin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/sbin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/bin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/usr/bin/X11/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/usr/games/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/export/home/marcow/usr/vspms/bin/linux/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/export/home/marcow/usr/vspms/bin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/opt/Forte/teamware/bin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/export/home/marcow/usr/vspms/bin/linux/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/export/home/marcow/usr/vspms/bin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
[pid 15878] execve("/opt/Forte/teamware/bin/gnome-www-browser", ["gnome-www-browser", "http://www.sun.com"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
If your path does not contain a gnome-www-browser, create one via a simple symlink.