Clute, Andrew wrote:
The configuration issue that you mention -- specifically the dependency
on singletons and Static classes is a known issue.

The goal of the 1.1 release is to remove all singleton and static
configurations and place it into an IoC-model configuration.

There is no planned release date for 1.1 -- however most of the work to
refactor the configuration has been completed and can be used. If you
build a release off HEAD from CVS, you should probably be able to
accomplish exactly what you want.


endorsement:
Be carefully when using HEAD in production environment, because the backport of many fixes from 1.0.x (and the refactored odmg-api implementation) is still outstanding. I'm currently working on that stuff.

regards
Armin

-Andrew


-----Original Message-----
From: Dr. Michael Lipp [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 09, 2005 8:49 AM
To: [email protected]
Subject: Serious design flaw

Hi,

I have spent quite some time now with OJB and found a serious problem that will -- I'm afraid -- prohibit me from using it.

The problem comes up when OJB is used in a framework (Jetspeed2 in my
case) and the application (read portlet) wants to use OJB as well -- but with a different configuration. Specifically, the framework uses some ConnectionFactoryClass that comes with Spring and looks for Spring Beans with names identical to the JCD-Alias. I'm not using Spring in my application and therefore need another ConnectionFactoryClass (I would have created the Spring Beans as a workaround, if only I could reach the Spring BeanFactory used by Jetspeed; but of course, I cannot get this; and even if I could it would make my program depend on Jetspeed2 which I do not want it to be).

Now, due to the fact that OJB uses a lot of static classes and singletons, I cannot use an alternate OJB configuration for my persistence. What OJB lacks -- and this I consider a design flaw -- is the possibility to create a ConnectionFactory instance, configure it, use this to configure a PersistenceBrokerFactory instance and use this to obtain a PersistenceBroker. This would enable me to use different OJB configurations in parallel (without doing classloader tricks which is not really an option in the J2EE environment).

I have looked at the code. I could write a PersistenceBroker wrapper that overrides the serviceConnectionManager() method. But all ConnectionManager implementations obtain the ConnectionFactory -- again
-- from using something static and they have no "setConnectionFactory"
method. So I'd end up implementing my own ConnectionManager. While, of course, I can copy the code, this is really not what I expect from a well designed framework.

Regards,

   Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to