Hi

Hi,

I have submitted the interceptor part as a patch in jira : 
https://issues.apache.org/jira/browse/CXF-2641.

thanks. Personally, I'm not sure we can commit it just yet. The existing response time management feature is a light weight component whose goal is to collect some operation statistics and eventually expose it over JMX. The idea of persisting exchanges and ultimately showing them without JMX being involved seems to be generally useful, but there are quite a few depedencies/details in the patch which would require users of the in/out persistence interceptors to stick to specific technologies like spring orm, etc, but they may just want to save exchanges into a text file or push them over a socket/http.

IMHO it would be useful to have persistence interceptors added to the management feature but it would be better to abstract away the details of how a current exchange can be persisted. Example, I'd only add say 2 interceptors (in/out) plus, say, some simple interface which can be used to save an exchange.

Next, we can have a demo showing one way (as shown in the patch) how the 
exchanges can be persisted.


I also have a question regarding the rt/management-web module : the packaging is "jar" in the pom.xml. Does it mean this is a library that should be included by users in their own webapp or should the packaging be "war" instead ?

It will be a jar, but ultimately it will become a 'bundle' which is a jar with its manifest updated with few extra OSGI instructions.


If this module is intended to be the management webapp, is it OK to add 
spring-webmvc dependency in it ?

The idea behind introducing this module is to let users do a number of useful management-related tasks over HTTP, by relying on the existing CXF modules and technologies already available in JDK. Ex, CXF JAXRS module can be used to create various endpoints (one will be used to let users subscribe to atom logging events, the other one will actually let users view the statisics amd possibly do spme management operations, etc). I'd prefer to have a JAXRS endpoint which could be used to show the statistics and possibly the exchanges persisted by various CXF 'working' endpoints.

Thoughts ?

thanks, Sergey


Thanks,
Rémi.


Hi

 Hi,

 I wrote a soap monitoring tool for cxf and I'd like to make it open
 source. I'd like to know if it could be included in cxf package since I
 think it could be useful to other cxf users.

 Basically it's just two soap interceptors that store requests, responses
 and some more data in a database.
 Additional data is the service name, the operation name, the exception
 type and the stacktrace if the response is a fault, the response time,
 the status, the user agent, the encoding, http headers, etc.
 It also provides a mechanism so users can store their own additional
 data if they need to.

What is your opinion about contributing some of this code to the rt/management 
module ?
Cyrille and other experts can help. The rt/management conrtains a management 
featire which
can be used to monitor both SOAP and
RESTful services. And it looks like it can do most of what you've described 
above but perhaps
you can help enhancing it for it to
match what your interceptors can do ?


 The cxf console comes with 3 maven modules :

 - cxf-soap-console-dao : used for CRUD operation in database, use
 iBatis. MySQL is supported, I'll add Oracle and Postgres support soon
 since I need it, I might also add derby support.
 - cxf-soap-console-interceptors : the soap interceptors that users need
 to add to their webservices. They are basically extended versions of
 LoggingInterceptors from cxf.
 - cxf-soap-console-webapp : a webapp to show data stored by the
 interceptors (see attached screenshots)

 It is still in an alpha stage, here are some planned features ;

 - statistics by service
 - statistics by operation
 - jfreechart inclusion in the webapp
 - a search form
 - make it a cxf feature

This is quite interesting. You may've seen we've discussed the possibility of 
introducing
a rt/management-web module which will
initially contain :
- atom based pull/push logging support for individual jaxrs/jaxrs endpoints 
(thsi code is
currently in CXF JAX-RS) with the eventual
possibility to subscribe or register callback URIs from CXF /services page
- CXF JAX-RS based endpoint for showing JMX-based data over HTTP for all CXF 
endpoints and
providing more advanced management
capabilities over time

I hope this component will eventually turn CXF itself into a well-featured Web 
application
on its own. We'll need to complete some
intial support for the Atom pull logging stuff (nearly there) and then I will 
do the move.

It looks like what you've done may be eventually added to this new CXF module. 
Others may
have a different opinion though...


cheers, Sergey


 I've attached the source code, some screenshots, and the ddl script to
 create the database. Maven should generate a war deployable in tomcat,
 mvn eclipse:eclipse will generate the eclipse projects. The datasource
 must be named jdbc/cxf/console.

 Has this any chance to be included in cxf or should I create a separate
 project on google code/sourceforge ?

 Regards,
 R�mi.






Reply via email to