geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <rick...@gmail.com>
Subject Puzzling problem with ConnectorModuleBuilder.
Date Thu, 07 Oct 2010 12:42:47 GMT
  I'm working on implementing bean validation support for the connectors 
in Geronimo 3.0.  This has involved changes to both the connector 
component and Geronimo.  I've attached a couple of patches patches to 
the Jira for this enhancement showing my progress so far:

https://issues.apache.org/jira/browse/GERONIMO-5230

Basically, each of the javabean types that require validation have had 
their corresponding wrapper classes enhanced to support injection of a 
ValidatorFactory instance and optionally validate the wrappered objects 
before the first use.

A big part of this was changes to the ConnectorModuleBuilder to add a 
reference to the ValidatorFactoryGBean for the module in question.  In 
order for this to work, a ValidatorFactoryGBean instance needs to be 
added to the module by the BValModuleBuilderExtension.  Currently, the 
ConnectorModuleBuilder did not support builder extensions, but my patch 
has added this support.

Everything is building cleanly, but when I start the server, the 
ManagedConnectorFactory GBean cannot be initialized because it can't 
find the reference to the ValidatorFactory instance.  Looking at the 
serialized config for the system-database car, the required 
ValidatorFactory GBean does appear to be missing.

Debugging this further in the build for the system-database plugin, I'm 
seeing something that I can't explain.  I'm seeing the following events 
occurring during this build:

1)  The BValModuleBuilderExtension is created (expected).
2)  The ConnectorModuleBuilder is created, but NO 
ModuleBuilderExtensions are passed in to the constructor (not expected).
3)  A second ConnectorModuleBuilder instance is created.  This instance 
is passed a collection containing the single BValModuleBuilderExtension 
instance (this was what was expected, except for the fact this a second 
instance).
4)  The first ConnectorModuleBuilder instance is called to process the 
module.  Since this instance does not have a reference to the 
BValModuleBuilderExtension, the ValidatorFactoryGBean instance is not 
getting added to the configuration.

So, I'm now at a point where I'm stuck.  So far, I've not been able to 
figure out why there are two instances of the ConnectorModuleBuilder 
getting created and why the first instance is not picking up the 
BValModuleBuilderExtension.  I'm guessing I'm missing something simple 
here, but I'm a bit stumped on how to debug this further.  Can anybody 
offer an assistance here?

Rick



Mime
View raw message