Wednesday October 08, 2008
A Tangled Web
Don't ride a rare bike to work....
I just learned a hard lesson the week before last - don't ride a rare, irreplaceable bike to work! I was on my way to the office on my newly-acquired 1996 Bimota BB1 Supermono on a sunny Tuesday morning, when all of a sudden a car changed lanes right into me. This was on I-238 between I-580 and I-880 where they're doing construction and there's no shoulder, just a temporary concrete divider. It happened so fast that I had almost no time to react, and the car hit my right side, knocking me straight towards the concrete divider. I managed to veer away from that but the bike went completely out of control (even though I couldn't have been going more than 35mph) and finally fell down on its left side. My helmet never even hit the pavement but I got some nasty bruises on my right thigh, left knee, right forearm, and both hands. Of course I was wearing full protective gear so there was no road rash. I'm lying on the pavement and the driver of the car stopped behind me, got out, ran up and asked if I was ok, then started apologizing, saying she didn't see me.
Eventually the paramedics and CHP arrived, and the paramedics insisted on strapping me to a backboard and taking me to the ER in an ambulance even though I had been walking around when they arrived. I should have just refused to go, there was nothing wrong with me other than some bruises. My bike got towed away, and I am sure I could have ridden it home even though the shift lever was broken.
Oh, and here's the really good part - the insurance information I was given by the other driver is invalid! Perfect. Add insult to injury. Thank you very much.
Here are a few pictures of the damage. It looks minor, but there's no way to get replacement bodywork, or even the decals for a full paint job. I'm trying to get a shift lever as it's the same one used on a few other Bimota models (you can see where it is broken off in the second picture). It might take some time to find a painter who can restore this to its original look. I may be able to get custom decals made too, at a cost. The only lucky thing is that the bodywork is not plastic, it's fiberglass, so it can be repaired.
Posted at 10:56PM Oct 08, 2008 by Mark White in Motorcycle Mania | Comments[2]
Had to have it
Being a long-time Bimota fan, I've always lusted for their only BMW-based model, the BB1, fondly known as the "Supermono". This bike was made from 1995 to 1997, and only 371 of them were made. It was never imported to the US, so the rare few that are in the US are grey-market. The bike is extremely light, and is powered by the Rotax-built single-cylinder 650cc water-cooled engine that powered the early models of the BMW F-650. In stock form, the engine is rather unexciting, delivering a whopping 48hp at the crank. But I just love the look of this bike.
One of the more interesting features of the Supermono is that the fuel tank is not above the engine like on most bikes, but below it! Yep, what's normally the belly pan on other bikes is the fuel tank on this one. This keeps the center of gravity extremely low and makes the bike so flick-able it feels almost like a bicycle.
Back in August, I saw a
post on a Bimota mail list I'm subscribed to by a guy down in the LA
area who was selling his Supermono. This one caught my eye because not
only was it in excellent condition, but also had a pumped-up engine
built by Ron Wood (a well-known Rotax 650 engine guy) that delivered
60hp to the rear wheel. With dual Keihen FCR flatslide carbs, a ported
head, high-compression piston, and custom exhaust, this one sounded
like a dream. I emailed the seller and got a bunch of photos of the
bike, and became pretty certain that I was going to buy it.
I couldn't get down to LA for a month or so but he said that was ok as long as I sent him a small deposit. Finally the weekend of September 7, I drove down to LA with my empty bike trailer behind my gas-guzzler Jeep (sorry, I only own it for towing bikes to the track and such). As soon as I saw the bike and heard it start up I was hooked. We loaded it up and I wrote a check for the balance and headed home.
I took this thing for a ride the next day and it was a total kick - vibrates like hell, sounds fantastic, and is surprisingly quick. It's so light that it's effortless to turn. My 800-mile round-trip drive to LA to pick up the bike was definitely worth it. No buyer's remorse on this deal!
Posted at 10:55PM Oct 08, 2008 by Mark White in Motorcycle Mania | Comments[0]
GlassFish ESB Milestone 2 available for download
Good news! GlassFish
ESB Milestone 2 is now available for download.
Milestone 2 includes a lot of improvements and bug fixes compared with
Milestone 1. A list of improvements can be found in the release
notes.
The next milestone will be the release candidate, and should be available in
four weeks.
Please download Milestone 2, give it a spin, and please, please provide feedback! Issues found in this phase of the release can be solved easily. After the release, it will be a more difficult to get changes into the download. Feedback can be posted on the users mailing list.
Posted at 12:02PM Oct 08, 2008 by Mark White in Open ESB | Comments[0]
Commercial Support for OpenESB: GlassFish ESB
Big news in the OpenESB world was announced today. Sun has finally announced a commercially-supported version of OpenESB in the form of GlassFish ESB. This is a binary distribution of OpenESB, consisting of a subset of the components in OpenESB. There has been strong demand for a fully-supported version of OpenESB for some time now, so this is very exciting news!
Check out the updated web site! There’s a lot of new content, including an introductory video and a guided tour of all the features in GlassFish ESB.
Sun will support GlassFish ESB just like any other product, meaning it will not support just the latest version, but also older versions, just as we currently do with CAPS, supporting CAPS 5.0.5, 5.1.3, and 6.0.
GlassFish ESB will be released on December 5th. There is a free milestone build available for download, and there will be two more milestone builds before the release date. You can download the milestone build now to begin exploring the features. Just go to the updated web site and follow the download link. Note that the GlassFish ESB downloads will remain on the OpenESB site because the code base is there, all in open source.
Here is a list of the components that are included in GlassFish ESB:
There will be additional separate component releases next to GlassFish ESB. For example, IEP will be released soon as a separate component. Such components can be used with GlassFish ESB.
This new product does not change anything for the ESB Suite, MDM, and CAPS products; they will continue to be developed and improved. There is a value differentiation between GlassFish ESB and the other products, and consequently also a price differentiation.
Posted at 02:08PM Sep 15, 2008 by Mark White in Open ESB | Comments[0]
Project Keychain: SPML Gateway for User Provisioning
A new SPML v2.0 and JBI compliant Gateway (Project Keychain) is now at Technology Preview Release Stage 1 and is available for download. Check it out here, where you will find details on how to install and use it. This SPML Gateway uses Open ESB and its components to allow management of user access provisioning to multiple types of external systems such as LDAP, SalesForce.com and RACF. It provides these features using standard JBI components available in Open ESB, without the need to do additional programming. More solutions for additional external systems are being developed. Join Project Keychain and become part of the growing community of solution developers!
Posted at 02:00AM Sep 10, 2008 by Mark White in Open ESB |
OpenESB partners with ComplexEvents.com
We have joined ComplexEvents.com as a partner. This site is hosted by Professor David Luckham from Stanford University - considered by some to be the father of modern Complex Event Processing (CEP). You can find us in the Partner section on the site and also soon in the Event Processing Blogs section in the lower right of the main page. Check out the OpenESB Partner page.
ComplexEvents.com is a site dedicated to Complex Event Processing applications, products, research, and latest developments. This site contains many articles written by numerous well-known CEP authorities.
Posted at 05:54PM Sep 09, 2008 by Mark White in Open ESB |
Database BC to replace SQL SE and JDBC BC
Introducing the new Database BC
A new Open ESB component, the Database BC, will soon replace two existing components, the SQL SE and the JDBC BC. Until now,
database access in Open ESB was accomplished through the use of both the SQL SE
and the JDBC BC. The JDBC BC was used for simple select and insert operations on database tables. The SQL SE was used for more advanced database manipulations through the SQL language.
Why make this change?
Through
various user feedback, it became evident that having two different database access components confused many users. In order to alleviate the confusion, we decided to combine the features of both
into a new Database BC. Both the SQL SE and the JDBC BC will be deprecated in
November 2008.
What are
some of the features in the Database BC?
The Database BC will have all the
features of both the JDBC BC and the SQL SE. The full feature list will be
published to the Database BC Wiki Page.
What about existing applications using SQL SE and JDBC BC?
We will be introducing a
procedure to convert existing SQL SE projects to the new Database BC. This
procedure will be a well-defined set of steps to migrate SQL SE
artifacts to Database BC artifacts. The JDBC BC artifacts are
functionally equivalent, so any projects using WSDL with JDBC extensions will
work without any changes.
When will the Database BC be
available?
A community version of the Database BC
is available now from Project Open ESB. It will be officially released as part of
GlassFish ESB in November 2008 and made available to customers of
CAPS R6, ESB Suite R6 and MDM Suite R6 at the same time.
How is the Database BC packaged?
The runtime component is
available as sun-database-binding. The design-time components still
use the org-netbeans-modules-wsdlextensions-jdbc.nbm and org-netbeans-modules-sql-wizard.nbm
NetBeans modules to create artifacts for the Database BC. Artifacts generated by the new versions of these design-time components
will now be deployed to the Database BC instead of the JDBC
BC or the SQL SE.
Posted at 11:28AM Sep 09, 2008 by Mark White in Open ESB |
Back on the Track
Well, I finally got back out on the track after 2 1/2 years. My last track time was in February 2006 at Buttonwillow Raceway. This time was at a track I had never seen, Reno-Fernley Raceway in Fernley, NV, about 40 miles southeast of Reno. Three friends and I piled into a truck pulling an RV and made the long journey to the track for the weekend of August 9-10. It just so happens that my 53rd birthday was August 10, so this was sort of a birthday gift to myself. I took my trusty '98 Ducati 748, mainly because I'm very comfortable on that bike on the track, but also because I have full track trim for it - fairing stay, race bodywork, etc. I got some Dunlop slicks mounted up for the weekend too.
Fernley is a pretty technical track. On Saturday we ran only the upper part, only 1.8 miles but with 18 turns. A few of the turns are pretty bumpy and challenging. It's not real fast either - I don't think I ever got out of 4th gear - and I reached 4th only on one section where you could get up some speed between turns 16 & 18. This is what that part of the track looks like:
After the first couple of sessions I was feeling pretty discouraged, I felt completely out of sorts on the track. Then, in the third session something clicked and it all came back to me. By the end of the day I was having a blast and getting around pretty well. This was a fun turn (I'm the one on the left):

On Sunday, we got to run the full 3-mile course, with 30 turns plus a nice 1/2-mile front straight:
Wow, what a blast! There's a set of kinks - left, right, left, right - at the end of the straight that you can fly through if you take the correct line and have the cajones for it. Then after a few more turns is a spot they call the Hoot-n-Holler Hill Climb - a very steep hill with 4 turns that you can take pretty fast. Of all the tracks I've ridden, this is the biggest elevation change I've ever seen. This is what we look like coming up the hill:

Overall, I'd have to say my return to the track was everything I'd hoped for - I loved being back out there.
Keep the shiny side up!
Posted at 01:11AM Aug 15, 2008 by Mark White in Motorcycle Mania | Comments[0]
Event-Driven Architectures in Open ESB
Most people associate Open ESB with enabling Service Oriented Architecture (SOA). While this is true, what many folks do not know is that Open ESB also enables Event- Driven Architecture (EDA). The Intelligent Event Processor, or IEP Service Engine, is the
component that provides this support. The IEP SE is an open source Complex Event Processing
(CEP) and Event Stream Processing (ESP) engine that is part of the large set of components available in Open ESB. You can check it out here. For more information on how EDA, CEP, and ESP are related to an ESB, see this blog entry by Prashant Bhagat.
Posted at 07:07PM Aug 14, 2008 by Mark White in Open ESB | Comments[0]
Apache Camel Service Engine
A new service engine that supports Apache Camel applications is now in incubator status and is available for download. This SE supports running Camel applications and also allows Camel applications using Camel endpoints to exchange messages with service providers and consumers deployed to other JBI components. Check it out here where you will find links for downloading it, videos on how to install it and how to use it, links to examples and source code, and instructions on how to build it from the source.
Posted at 01:02PM Aug 07, 2008 by Mark White in Open ESB |
Adding new platform support
In light of a couple of recent requests about supporting Open ESB on the WebLogic application server I thought it would be nice to provide some background information on how we have implemented support
for various
platforms in Open ESB. Last year I wrote a blog entry about our platform support:
http://blogs.sun.com/mwhite/entry/application_server_platform_independence_in
There are some wiki pages for the ports that have been done to other platforms:
http://wiki.open-esb.java.net/Wiki.jsp?page=OpenESBJavaSE
http://wiki.open-esb.java.net/Wiki.jsp?page=OpenESBJBoss
http://wiki.open-esb.java.net/Wiki.jsp?page=OpenESBWebSphere
Now here is some information about the organization of the actual source code. I've used links to the FishEye view of the source files and directories here.
There is an enumerator of platforms (called JBI providers in the code) here:
Here is where we keep the interfaces that we provide for platform support:
In this directory, PlatformContext.java is the interface that is implemented for each platform. PlatformEventListener.java file is an optional interface that can provide event support for things like creation of a new instance, creation of a cluster, etc. This is currently used only in the GlassFish implementation.
This is the basic setup / life cycle class for the JBI runtime:
runtime/framework/src/com/sun/jbi/framework/JBIFramework.java
Look in the following directories to see the various platform support code:
GlassFish: runtime/framework/src/com/sun/jbi/framework/sun
JBoss: runtime/framework/src/com/sun/jbi/framework/jboss
WebSphere: runtime/framework/src/com/sun/jbi/framework/websphere
In each of the above directories, there is an implementation of
PlatformContext and a subclass of the JBIFramework class, along with any other classes
that are
specific to a particular platform. Also, there is a JBIBootstrap class
in each of these directories, which sets up the required class loader hierarchy.
For creating the actual artifacts that comprise the support for a platform, there are Maven poms for each platform here:
Note that for GlassFish there is not a separate directory here as that is our primary platform.
From some minimal research I did on WebLogic a some time ago, it
appeared that WebLogic had a concept of a life cycle module, similar to what GlassFish has. If
that is still the case it is probably the most straightforward way to implement an Open ESB
environment for WebLogic. JBoss uses a similar approach, with the concept of a life cycle module. However, rather than the life cycle module implementing an interface that is invoked by Java method calls, the life cycle is provided by implementing an MBean interface that has the life cycle operations. For this the JBIFramework class is wrapped inside the MBean that provides the life cycle. In WebSphere, there was no life
cycle module support so the Open ESB runtime is wrapped in a servlet - a little funky, but it works.
Posted at 04:14PM Jul 09, 2008 by Mark White in Open ESB | Comments[0]
Sessions of interest at JavaOne 2008
For JavaOne 2008, there is a lot of activity planned in the SOA and Enterprise Integration space. There are 7 technical sessions, 4 hands-on labs, and 4 BOFs planned. One of the hands-on labs is a "Bring Your Own Laptop" (BYOL) session where you will to build and run the lab exercise on your own laptop.
You can find information about all of the sessions, labs, and BOFs here
Of particular interest to me is TS-6385, "Integration Profile for GlassFishTM Project v3". This will introduce the leading-edge work we're doing in the area of providing a robust but lightweight SOA platform using GlassFish v3 and JBI technologies.
Be sure to stop by our table at CommunityOne day on Monday May 5. We will have two demo stations going, one for Project Mural and one for Project Open ESB
Throughout the rest of the conference, you can come by our pavilion pods, Java CAPS (pod 170), Open ESB (pod 171), Event Driven SOA (pod 179), and Project Mural (pod 180). We would love to chat with you about how our technology could help you.
Posted at 03:21PM Apr 25, 2008 by Mark White in Open ESB | Comments[0]
Fibula Plate Removal
On Thursday
February 14th, I had the second of two hardware removal surgeries, this one
to remove the tibia plate and its 9 screws. I was back to lying on the couch with the leg up on pillows covered with ice packs for 4 days, then on crutches for another 9 days. On Wednesday the 27th they removed the stitches and replaced them with strips of tape. I went into the doctor's office on crutches, and walked out carrying them under my arm. It hurts a little when I walk, but that will get better over time. Removal of the fibula plate was a little more invasive because there is so much muscle they had to move out of the way to get to the bone. They also sawed off a shard of bone that was sticking out and digging into my calf muscle, so once the soreness from the surgery is gone there should be no pain. When I talked to Stacy, the PA who has assisted on each of my 4 surgeries, she said that when she was digging around in my leg feeling for the bone shard, it nearly pierced her surgical glove when she found it, as it was really sharp. No wonder it was causing me pain!
Here are a couple of pics of what was removed. It looks rather wimpy compared to the hefty plate that held my tibia together.
I'll spare you
having to look at any external post-surgery pictures, as some people
can't handle seeing stitches. Suffice it to say that it took an 8-inch
incision to get that plate out so there were a lot of stitches.
Here are a couple of x-rays taken the day they removed the stitches. The holes in the tibia are faint, as they've now had 4 months to repair. The holes in the fibula are pretty scary, just because it's such a small bone and the holes large relative to the size of the bone. I guess that's why they told me no activity with any impact beyond normal walking for another 8 weeks. It wouldn't take much to snap the fibula in its current state.


Posted at 11:49AM Mar 02, 2008 by Mark White in Motorcycle Mania | Comments[8]
JBoss support in Open ESB
Thanks to the work of a number of people at both Sun and Gestalt LLC, there is now a working JBoss version of Open ESB available for download from our nightly builds. Just go to our Downloads page, and click on the "Latest Nightly Build" link under "Open ESB Runtime". The download page will list both a .zip and a .tar version of the bundle for running under JBoss.
Chad Gallemore (Gestalt LLC) and I have created pages on our wiki describing the Open ESB for JBoss work, providing instructions on how to install and run it, and documenting future work that is planned for Open ESB for JBoss. You can start with the OpenESBJBoss page and learn all about it.
Posted at 12:15AM Nov 21, 2007 by Mark White in Open ESB | Comments[3]
Component Loggers in Open ESB
Extensive logging capabilities are available in Open ESB 2.0 to help a component developer diagnose problems within a component. This discussion describes what logging facilities are available and how to control the levels of the various loggers.
Obtaining Component Loggers
The JSR208 specification requires the JBI runtime to provide a way for JBI components (Binding Components and Service Engines) to obtain loggers at runtime. The getLogger() method provided by the javax.jbi.component.ComponentContext interface should be used by components to obtain their loggers. The method is defined as follows in the JSR208 specification:
getLogger(String, String)
public java.util.logging.Logger getLogger(java.lang.String suffix,
java.lang.String resourceBundleName)
throws MissingResourceException, JBIException
Get a logger instance from JBI. Loggers supplied by JBI are guaranteed to have unique names such that they avoid name collisions with loggers from other components created using this method. The suffix parameter allows for the creation of subloggers as needed. The JBI specification says nothing about the exact names to be used, only that they must be unique across components and the JBI implementation itself.
Parameters:
suffix - for creating subloggers; use an empty string for the base component logger; must be non-null.
resourceBundleName - name of ResourceBundle to be used for localizing messages for the logger. May be null if none of the messages require localization. The resource, if non-null, must be loadable using the component's class loader as the initiating loader.
Returns:
a standard logger, named uniquely for this component (plus the given suffix, if applicable); must be non-null.
Throws:
java.util.MissingResourceException - if the resourceBundleName is non-null and no corresponding resource can be found.
javax.jbi.JBIException - if the resourceBundleName has changed from a previous invocation by this component of this method with the same suffix.
Runtime Support for Component Loggers
In the Open ESB 2.0 implementation, the following implementation characteristics are provided to facilitate the use of component loggers, when the loggers are obtained using the getLogger() method provided by the javax.jbi.component.ComponentContext interface:
- All component loggers have names prefixed with the component name to guarantee uniqueness across the entire JBI runtime, as required by the JSR208 specification. For example, if a component with a name "my-binding" requests a logger called "com.acme.binding.LifeCycle", the actual logger name will be set to "my-binding.com.acme.binding.LifeCycle".
- If several components share common code, and the common code is designed to use the ComponentContext to obtain loggers, each component will get its own set of loggers for the common code. This allows the log levels for the common code to be controlled on a per-component basis to facilitate debugging a single component without the added burden of extra logging from other components.
- For every component, the runtime automatically creates a top-level logger with the logger name equal to the component name. All loggers created for the component using the ComponentContext.getLogger() method inherit their log levels from the top-level logger until they are explicitly set to another level. This allows setting a global log level for the entire component by setting the level of the top-level logger.
- For every component, the runtime creates a logger MBean that keeps track of the loggers for that component. This MBean provides operations to get and set the levels of those loggers, and an operation to get a list of all loggers requested by the component.
- Logger level settings for a component are persisted by the logger MBean so that they are restored after a restart of the JBI runtime.
- Loggers for a component may be pre-declared through an extension of the installation descriptor in the jbi.xml for the component. This allows the levels of the component loggers to be set even before the component has been started for the first time after installation.
- A logger level inheritance mechanism is provided for convenience when setting logger levels.
- A shortened "display name" can be set in the installation descriptor extension and is saved by the runtime. If a display name is not provided, it defaults to the last level of the logger name.
Component Logger Level Inheritance
In order to facilitate controlling the levels of component loggers, the runtime provides for logger level inheritance. There is a main logger for the entire JBI runtime called com.sun.jbi. When the runtime creates the top-level logger for a component, as described in the previous section, that logger's level is set to null and it inherits its level from the com.sun.jbi logger until the logger's level is explicitly set. Likewise, when the runtime creates any logger for a component as a result of a call to ComponentContext.getLogger(), that logger's level is set to null and it inherits its level from the top-level component logger until its level is explicitly set. After any logger's level has been explicitly set, that level is persisted across restarts of the JBI runtime, and restored when the logger is created again. Once a logger's level has been explicitly set, the only way to make it revert to inheriting its level from its parent logger is to use the admin console to set the level to "DEFAULT" using the pull-down list of logger levels. This sets the actual level of the logger back to null, causing it to once again inherit its level from its parent logger.
Pre-Declaring Component Loggers
If you want to pre-declare the loggers for a component, you must do two things. First, you must declare the namespace URI for the logging extension in the installation descriptor contained in the jbi.xml file for the component. Add the following namespace URI:
xmlns:logging="http://www.sun.com/jbi/descriptor/logging"
Second, you must add the the logging extension, with component logger names that your component requests through the ComponentContext.getLogger() method, to the installation descriptor, in the <component> section:
<logging:Logging>
<logging:logger displayName="ACME Binding life cycle">com.acme.binding.LifeCycle</logging:logger>
<logging:logger displayName="ACME Binding messaging">com.acme.binding.Messaging</logging:logger>
<logging:logger displayName="ACME Binding deployment">com.acme.binding.Deployment</logging:logger>
<logging:logger displayName="ACME Binding utilities">com.acme.binding.Util</logging:logger>
</logging:Logging>
When the component is installed, the runtime will read this section and add the specified loggers to the component's logger MBean. Note that you do not need to add the component name prefix to the logger names; that is done automatically by the runtime. After installation completes, you can set the levels of these loggers before you start the component. This can be very useful when debugging problems in the initialization or startup processing of a component.
Note that the logger MBean does not actually create the loggers ahead of time, it merely keeps track of the logger names so that their levels can be pre-set before the component is started. Whenever a logger is requested by a component using the ComponentContext.getLogger() method, the logger's level is set to whatever level the logger MBean has saved for that logger. If the logger MBean has no level for the logger, its level is set to null to inherit its level from its parent logger.
Setting Component Logger Levels
As of the December 7, 2007 nightly build, you can use asant, asadmin, or the GlassFish admin console to list and set the component logger levels. Prior to that build, the asadmin commands were not available; only the ant commands and admin console were available.
Using ANT tasks
Here is an example using ant to list and set logger levels for the Sun HTTP binding component. First, display the loggers for the HTTP BC:
[C:/d/open3/open-esb] echo $JBI_ANT
asant -emacs -q -f C:/d/open3/open-esb/install/as8/jbi/bin/jbi_admin.xml -Djbi.username=admin -Djbi.password=adminadmin -Djbi.port=5049 -Djbi.secure=false[C:/d/open3/open-esb] $JBI_ANT -Djbi.component.name=sun-http-binding list-component-loggers
============================================================
Component Logger for "sun-http-binding" on Target "server"
============================================================
sun-http-binding=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.Extension=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.HttpNormalizer=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingDeployer=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingLifeCycle=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.InboundMessageProcessor=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundReceiver=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.SoapDenormalizer=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.SoapNormalizer=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.configuration.RuntimeConfiguration=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.embedded.EmbeddedServerController=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.jaxwssupport.JAXWSEndpointFactory=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxy=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxySelector=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.security.auth.HttpAuthenticator=INFO
sun-http-binding.com.sun.jbi.httpsoapbc.security.http.impl.BasicAuthenticator=INFO
------------------------------------------------------------
BUILD SUCCESSFUL
Total time: 0 seconds
Now, set the top-level logger's level to WARNING and display the resulting logger levels:
[C:/d/open3/open-esb] $JBI_ANT -Djbi.component.name=sun-http-binding -Djbi.logger.name=sun-http-binding -Djbi.logger.level=WARNING set-component-logger
Setting logger
jmx connection info: (host=localhost, port=5049, secure=false, username=admin, target=server )
Set logger succeeded. [
INFO:(UIANT6120)Set logger level for "sun-http-binding" set on target "server"
]
BUILD SUCCESSFUL
Total time: 0 seconds
[C:/d/open3/open-esb] $JBI_ANT -Djbi.component.name=sun-http-binding list-component-loggers
============================================================
Component Logger for "sun-http-binding" on Target "server"
============================================================
sun-http-binding=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.Extension=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpNormalizer=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingDeployer=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingLifeCycle=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.InboundMessageProcessor=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundReceiver=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.SoapDenormalizer=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.SoapNormalizer=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.configuration.RuntimeConfiguration=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.embedded.EmbeddedServerController=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.jaxwssupport.JAXWSEndpointFactory=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxy=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxySelector=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.security.auth.HttpAuthenticator=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.security.http.impl.BasicAuthenticator=WARNING
------------------------------------------------------------
BUILD SUCCESSFUL
Total time: 0 seconds
Finally, set the "Extension" logger level to FINEST and display the resulting logger levels:
[C:/d/open3/open-esb] $JBI_ANT -Djbi.component.name=sun-http-binding -Djbi.logger.name=sun-http-binding.com.sun.jbi.httpsoapbc.Extension -Djbi.logger.level=FINEST set-component-logger
Setting logger
jmx connection info: (host=localhost, port=5049, secure=false, username=admin, target=server )
Set logger succeeded. [
INFO:(UIANT6120)Set logger level for "sun-http-binding" set on target "server"
]
BUILD SUCCESSFUL
Total time: 0 seconds
[C:/d/open3/open-esb] $JBI_ANT -Djbi.component.name=sun-http-binding -Djbi.logger.name=sun-http-binding.com.sun.jbi.httpsoapbc.Extension list-component-loggers
============================================================
Component Logger for "sun-http-binding" on Target "server"
============================================================
sun-http-binding.com.sun.jbi.httpsoapbc.Extension=FINEST
------------------------------------------------------------
BUILD SUCCESSFUL
Total time: 0 seconds
[C:/d/open3/open-esb] $JBI_ANT -Djbi.component.name=sun-http-binding list-component-loggers
============================================================
Component Logger for "sun-http-binding" on Target "server"
============================================================
sun-http-binding=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.Extension=FINEST
sun-http-binding.com.sun.jbi.httpsoapbc.HttpNormalizer=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingDeployer=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingLifeCycle=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.InboundMessageProcessor=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundReceiver=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.SoapDenormalizer=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.SoapNormalizer=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.configuration.RuntimeConfiguration=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.embedded.EmbeddedServerController=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.jaxwssupport.JAXWSEndpointFactory=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxy=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxySelector=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.security.auth.HttpAuthenticator=WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.security.http.impl.BasicAuthenticator=WARNING
------------------------------------------------------------
BUILD SUCCESSFUL
Total time: 0 seconds
[C:/d/open3/open-esb]
Using asadmin commands
Here's an example using the equivalent GlassFish asadmin commands in the same sequence. These commands are available starting with the nightly build from December 7, 2007. Beginning with a display of the loggers for the Sun HTTP binding component:
[C:/d/open3/open-esb] asadmin show-jbi-binding-component --port 5049 --user admin --display loggers sun-http-binding
Please enter the admin password>
sun-http-binding = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.Extension = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.HttpNormalizer = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingDeployer = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingLifeCycle = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.InboundMessageProcessor = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundReceiver = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.SoapDenormalizer = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.SoapNormalizer = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.configuration.RuntimeConfiguration = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.embedded.EmbeddedServerController = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.jaxwssupport.JAXWSEndpointFactory = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxy = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxySelector = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.security.auth.HttpAuthenticator = INFO
sun-http-binding.com.sun.jbi.httpsoapbc.security.http.impl.BasicAuthenticator = INFO
Command show-jbi-binding-component executed successfully.
Now, set the top-level logger's level to WARNING and display the resulting logger levels:
[C:/d/open3/open-esb] asadmin set-jbi-component-logger --port 5049 --user admin
--component sun-http-binding "sun-http-binding=WARNING"
Please enter the admin password>
Command set-jbi-component-logger executed successfully.[C:/d/open3/open-esb] asadmin show-jbi-binding-component --port 5049 --user admin --display loggers sun-http-binding
Please enter the admin password>
sun-http-binding = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.Extension = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpNormalizer = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingDeployer = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingLifeCycle = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.InboundMessageProcessor = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundReceiver = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.SoapDenormalizer = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.SoapNormalizer = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.configuration.RuntimeConfiguration = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.embedded.EmbeddedServerController = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.jaxwssupport.JAXWSEndpointFactory = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxy = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxySelector = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.security.auth.HttpAuthenticator = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.security.http.impl.BasicAuthenticator = WARNING
Command show-jbi-binding-component executed successfully.
Finally, set the "Extension" logger level to FINEST and display the resulting logger levels:
[C:/d/open3/open-esb] asadmin set-jbi-component-logger --port 5049 --user admin --component sun-http-binding "sun-http-binding.com.sun.jbi.httpsoapbc.Extension=FINEST"
Please enter the admin password>
Command set-jbi-component-logger executed successfully.[C:/d/open3/open-esb] asadmin show-jbi-binding-component --port 5049 --user admin --display loggers sun-http-binding
Please enter the admin password>
sun-http-binding = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.Extension = FINEST
sun-http-binding.com.sun.jbi.httpsoapbc.HttpNormalizer = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingDeployer = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.HttpSoapBindingLifeCycle = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.InboundMessageProcessor = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundMessageProcessor = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.OutboundReceiver = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.SoapDenormalizer = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.SoapNormalizer = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.configuration.RuntimeConfiguration = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.embedded.EmbeddedServerController = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.jaxwssupport.JAXWSEndpointFactory = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxy = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.proxy.HttpProxySelector = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.security.auth.HttpAuthenticator = WARNING
sun-http-binding.com.sun.jbi.httpsoapbc.security.http.impl.BasicAuthenticator = WARNING
Command show-jbi-binding-component executed successfully.
Using admin console
Now here's an example using the GlassFish admin console. The screen shots are of only the frame that is relevant, not the entire browser window, just to cut down on the size. Beginning with a display of the loggers for the Sun HTTP binding component:

Now, set the top-level logger's level to WARNING:

After clicking "Save", this is the new logger level listing:
Finally, after changing the level of the "HttpSoapBindingDeployer" logger to FINEST and saving it:

Posted at 10:57PM Oct 25, 2007 by Mark White in Open ESB | Comments[1]