Hi Jervis,

frankly, more the contrary. Having a persistence mechanism complicates a lot of things. In professional environments, you often find that different staff (even different companies) do the administration of production environments. Beeing able to tweak more than small parts of the configuration in production makes it necessary to have a "process" to feed back this configuration information to developers, to keep track (a la versioning system) of what has changed, to take care of clustered environments where config changes have to be distributed to nodes etc.

Mika


Liu, Jervis schrieb:
Hi Mika, In Celtix 1.0, we had a configuration persistence story on the list, 
which is to save any configuration changes to configuration file during the 
shutdown. We just did not have time to tackle this story. Another reason this 
story was postponed is because we would like to see a concrete user requirement 
before we spend time on development. So followed your question, would you be 
able to identify a use case that requires configuration persistence?

Thanks,
Jervis

-----Original Message-----
From: Mika Göckel [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 05, 2006 4:23 PM
To: [email protected]
Subject: Re: Configuration Requirements CXF


Hi,

I'm trying to follow your discussion and find it very interesting.
One question about external configuration-changes (through JMX or other sources). How would you ensure the changes survive a restart of the application, or better survive a redeployment?

I like the idea of being able to tweak my soapstack at runtime, but I feel it can get really hairy and at the end leads to a sort of app-server sort of application. Is this our goal? Hot-Deployment, dynamic configuration, dependency-resolution between separate deployment-modules, etc.

Mika

Jiang Ning schrieb:
Hi Andrea,

Yep, the Current CXF management interface is not coupled
with JMX. We
are using annotations to wrap the Management Information (
attributs
and operations) and export instrumentation object through
the JMX. I
think if we want to export the configuration information to the JMX layer, we can store the configuration instance (may be the Spring beans instance) in the instrumentation. That will be much
easy for us
to maintain the configuration states when we modify the
configuration
from out side. Because we get the configuration from same
place, the
notification of configuration changed will not be necessary.

Just some rough thoughts , comments and suggestions
are welcome :)
Cheers,

Willem.

Andrea Smyth wrote:

Hi Willem,

I have updated this requirement to reflect the fact that the CXF management interface is actually a layer above JMX, and hence modifying configuration values at runtime via JMX is not
the same as
doing so via the CXF management interfaces. Not sure if everyone would consider being able to do the latter as a
requirement - but I
was under the impression that CXF management is only optionally backed up by JMS and that we don't want to depend
exclusively on it.
Maybe you want to add things like 'being able to register
listeners
so as to be notified of a configuration change' to the
requirements?
Andrea.

Jiang Ning wrote:

Hi,
Just some comments on "JMX Users should be able to tweak the configuration at runtime."

1. Which configuration instance the JMX should hold for
maintenance
of consistency

If the JMX get the core component's configuration
object's instance
, the JMX's configuration will take effect on the components self effectively. It is simple, but the configuration instance will be separated in everywhere of core.

If the JMX just get the configuration instance from the CXF configuration API, there should be an event for core components which use the configuration can be notified when the
configuration
are changed. This will make the configuration API more complex.

2. There is an issue about using Jconsole to modify the
configuration.
As you know Jconsole just display the primary object in
its GUI,
I think if we want to provide a more powerful management console, we should do it by our self.

Thanks,

Willem.

Dan Diephouse wrote:

I updated the page with these things and several of my own.

I think the Spring approach that I roughly outlined can meet the criteria, although a few tweaks are probably in order for discovery. I think we need to starting talking about two
cases for
discovery. The first is where the user is just using CXF and not trying to integrate with any container. For this we could have a spring based bus which loads all the
"META-INF/cxf/cxf-*.xml" files
off from the classpath. So it would find all of them at
startup by
virtue of searching the classpath. The second case would
be people
trying to do Spring integration. This above scenario
allow reuse by
normal spring users via an <import resource="META-INF/cxf/cxf-*.xml"/> tag.

The other tricky thing is registration. For instance,
registering a
destination with a destinationfactory. If you want out
of the box
registration from each jar on the classpath, I think there are a couple options: 1. have a @PostConstruct which does the registering.
This does seem
kind of icky though as I may not always want to register things
2. Create a component which does the registering. The spring MethodInvoker class could do this: Kind of annoying to write the extra configuration, but it only needs to be done once.. 3. Have an initialize-method="register" on the <bean> which does the registering
4. Autowiring? (not sure if Spring's autowiring can do that)

Supporting of getting configuration from multiple sources can be done pretty easily I think with: a) having a bean in a user config which overrides the
default bean
b) Grabbing configuration from the service model/context
hierarchy
c) Using spring's support for command line properties overriding spring bean values [1]

- Dan

1.
http://static.springframework.org/spring/docs/2.0.x/reference/
beans.html#beans-factory-extension-factory-postprocessors
Liu, Jervis wrote:

Hi,

Two comments:

1. Should not we have a support for dynamic
configuration? i.e.,
users can change default configurations in the runtime either programatically or through management interface (for
example, JMX
Console).

2. Configuration override: shall we have a override
mechanism so
that configurations can be taken from multiple sources
and can be
overridden in order. For example, a configuration can
be applied
in the following order: default config <- user supplied config file <- wsdl <- command line

Cheers,
Jervis

-----Original Message-----
From: Dan Diephouse [mailto:[EMAIL PROTECTED]
Sent: Saturday, September 02, 2006 4:11 AM
To: [email protected]
Subject: Re: Configuration Requirements CXF


Andrea Smyth wrote:
Before discussing further implementation details
let's collect
the requirements for configuration in CXF.
I have created a page on confluence for that purpose:



http://cwiki.apache.org/confluence/display/CXF/Configuration+R
equirements
starting out with some requirements based on experience with Celtix users.

Please update it with any further requirements that
you may have.
Andrea.



Sounds like a good plan. I'll go through this weekend and add some stuff.

- Dan

--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com
http://netzooid.com/blog



--
cyber:con gmbh
Mika Göckel

Rathausallee 10
53757 Sankt Augustin

tel (+49)2241 / 9350 0
fax (+49)2241 / 9350 99
mob (+49) 172 / 279 2771
skype mika.goeckel
email [EMAIL PROTECTED]





--
cyber:con gmbh
Mika Göckel

Rathausallee 10
53757 Sankt Augustin

tel (+49)2241 / 9350 0
fax (+49)2241 / 9350 99
mob (+49) 172 / 279 2771
skype mika.goeckel
email [EMAIL PROTECTED]

Reply via email to