THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Add cxf-rt-management-web
dependency to your Maven project (if you don't use Maven as management tool, omit this step and add cxf-rt-management-web
library manually):
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
<project> [...] <dependencies> [...] <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-management-web</artifactId> <version>2.3.0</version> </dependency> [...] </dependencies> [...] </project> |
...
Add new class to your project, LogBrowserApp
. Add content from sample below.
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
package yourpackage; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Set; import javax.ws.rs.core.Application; import javax.ws.rs.ext.Provider; import org.apache.cxf.jaxrs.provider.AtomEntryProvider; import org.apache.cxf.jaxrs.provider.AtomFeedProvider; import org.apache.cxf.management.web.logging.atom.AtomPullServer; import org.apache.cxf.management.web.logging.logbrowser.bootstrapping.BootstrapStorage; import org.apache.cxf.management.web.logging.logbrowser.bootstrapping.SimpleAuthenticationFilter; import org.apache.cxf.management.web.logging.logbrowser.bootstrapping.SimpleXMLSettingsStorage; @Provider public class LogBrowserApp extends Application { Set<Object> classes = new HashSet<Object>(); static { AtomPullServer aps = new AtomPullServer(); aps.setLoggers("yourpackage:INFO"); aps.init(); classes.add(aps); classes.add(new AtomFeedProvider()); classes.add(new AtomEntryProvider()); classes.add(new BootstrapStorage(new SimpleXMLSettingsStorage())); classes.add(new SimpleAuthenticationFilter(new HashMap<String, String>() { { // add all required users by specified username and password, for example: put("admin", "admin"); } })); classes.add(new BootstrapStorage.StaticFileProvider()); classes.add(new BootstrapStorage.SettingsProvider()); } @Override public Set<Class<?>> getClasses() { return Collections.emptySet(); } @Override public Set<Object> getSingletons() { return classes; } } |
...
Add new servlet definition to your web.xml
file, like in sample below:
Code Block | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
<web-app> [...] <servlet> <servlet-name>LogBrowserApp</servlet-name> <display-name>LogBrowserApp</display-name> <servlet-class> org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet </servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>yourpackage.LogBrowserApp</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>LogBrowserApp</servlet-name> <url-pattern>/log/*</url-pattern> </servlet-mapping> [...] </web-app> |
...