Author: rmannibucau
Date: Fri Oct 25 06:26:10 2013
New Revision: 1535644
URL: http://svn.apache.org/r1535644
Log:
cleaning a bit CXF logs - which can conflict with our logs - when deploying
webservices
Modified:
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java
Modified:
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1535644&r1=1535643&r2=1535644&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
(original)
+++
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
Fri Oct 25 06:26:10 2013
@@ -16,7 +16,9 @@
*/
package org.apache.openejb.server.cxf.rs;
+import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.endpoint.ServerImpl;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.JAXRSServiceImpl;
@@ -87,11 +89,14 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.logging.Level;
import java.util.regex.Pattern;
public class CxfRsHttpListener implements RsHttpListener {
private static final Logger LOGGER =
Logger.getInstance(LogCategory.OPENEJB_RS, CxfRsHttpListener.class);
+ private static final java.util.logging.Logger SERVER_IMPL_LOGGER =
LogUtils.getL7dLogger(ServerImpl.class);
+
public static final String CXF_JAXRS_PREFIX = "cxf.jaxrs.";
public static final String PROVIDERS_KEY = CXF_JAXRS_PREFIX + "providers";
public static final String STATIC_RESOURCE_KEY = CXF_JAXRS_PREFIX +
"static-resources-list";
@@ -382,7 +387,14 @@ public class CxfRsHttpListener implement
factory.setResourceClasses(classes);
factory.setInvoker(new AutoJAXRSInvoker(restEjbs));
- server = factory.create();
+ final Level level = SERVER_IMPL_LOGGER.getLevel();
+ SERVER_IMPL_LOGGER.setLevel(Level.OFF);
+ try {
+ server = factory.create();
+ } finally {
+ SERVER_IMPL_LOGGER.setLevel(level);
+ }
+
this.context = webContext;
if (!webContext.startsWith("/")) {
this.context = "/" + webContext;
Modified:
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java?rev=1535644&r1=1535643&r2=1535644&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
(original)
+++
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
Fri Oct 25 06:26:10 2013
@@ -18,6 +18,7 @@
package org.apache.openejb.server.cxf;
import org.apache.cxf.Bus;
+import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.databinding.DataBinding;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.endpoint.ServerImpl;
@@ -27,6 +28,7 @@ import org.apache.cxf.jaxws.support.JaxW
import org.apache.cxf.jaxws.support.JaxWsImplementorInfo;
import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
import org.apache.cxf.service.Service;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
import org.apache.cxf.transport.http.HTTPTransportFactory;
import org.apache.openejb.OpenEJBRuntimeException;
import org.apache.openejb.assembler.classic.ServiceInfo;
@@ -48,9 +50,16 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.Executor;
+import java.util.logging.Level;
+import java.util.logging.Logger;
public abstract class CxfEndpoint {
public static final String CXF_JAXWS_PREFIX = "cxf.jaxws.";
+
+ // to be able to switch off logs we don't want
+ protected static final Logger FACTORY_BEAN_LOG =
LogUtils.getLogger(ReflectionServiceFactoryBean.class);
+ private static final Logger SERVER_IMPL_LOGGER =
LogUtils.getL7dLogger(ServerImpl.class);
+
protected Bus bus;
protected PortData port;
@@ -85,6 +94,17 @@ public abstract class CxfEndpoint {
this.bus.setExtension(this, CxfEndpoint.class);
}
+ protected Service doServiceCreate() {
+ final Level level = FACTORY_BEAN_LOG.getLevel();
+ FACTORY_BEAN_LOG.setLevel(Level.SEVERE);
+ try {
+ service = serviceFactory.create();
+ } finally {
+ FACTORY_BEAN_LOG.setLevel(level);
+ }
+ return service;
+ }
+
protected Class getImplementorClass() {
return this.implementor.getClass();
}
@@ -165,7 +185,6 @@ public abstract class CxfEndpoint {
svrFactory.setServiceClass(serviceFactory.getServiceClass());
final Properties beanConfig = serviceConfiguration.getProperties();
- final Collection<ServiceInfo> availableServices =
serviceConfiguration.getAvailableServices();
// endpoint properties
if (beanConfig != null) {
@@ -186,12 +205,15 @@ public abstract class CxfEndpoint {
svrFactory.setTransportId("http://cxf.apache.org/bindings/xformat");
}
- server = svrFactory.create();
-
- init();
+ final Level level = SERVER_IMPL_LOGGER.getLevel();
+ SERVER_IMPL_LOGGER.setLevel(Level.SEVERE);
+ try {
+ server = svrFactory.create();
+ } finally {
+ SERVER_IMPL_LOGGER.setLevel(level);
+ }
- // todo do we need to call this?
- getEndpoint();
+ init();
if (getBinding() instanceof SOAPBinding) {
((SOAPBinding)
getBinding()).setMTOMEnabled(port.isMtomEnabled());
Modified:
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java?rev=1535644&r1=1535643&r2=1535644&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
(original)
+++
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
Fri Oct 25 06:26:10 2013
@@ -48,13 +48,17 @@ public abstract class CxfWsContainer imp
public void start() {
endpoint = createEndpoint();
- endpoint.publish("http://nopath" + endpoint.hashCode()); // needs to
be unique
+ endpoint.publish("http://" + getFakeUrl()); // needs to be unique
destination = (AbstractHTTPDestination)
endpoint.getServer().getDestination();
// register an MBean for this endpoint
this.jmxName = registerMBean();
}
+ protected String getFakeUrl() {
+ return "" + endpoint.hashCode();
+ }
+
protected abstract CxfEndpoint createEndpoint();
protected abstract ObjectName registerMBean();
Modified:
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java?rev=1535644&r1=1535643&r2=1535644&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java
(original)
+++
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java
Fri Oct 25 06:26:10 2013
@@ -38,6 +38,7 @@ import org.apache.openejb.server.cxf.Jax
import javax.xml.ws.WebServiceException;
import java.util.List;
+import java.util.logging.Level;
/**
* A web service endpoint which invokes an EJB container.
@@ -60,7 +61,7 @@ public class EjbEndpoint extends CxfEndp
CxfServiceConfiguration configuration = new
CxfServiceConfiguration(portData);
serviceFactory.getConfigurations().add(0, configuration);
- service = serviceFactory.create();
+ service = doServiceCreate();
}
protected Class getImplementorClass() {
Modified:
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java?rev=1535644&r1=1535643&r2=1535644&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java
(original)
+++
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java
Fri Oct 25 06:26:10 2013
@@ -55,6 +55,11 @@ public class EjbWsContainer extends CxfW
return new EjbEndpoint(bus, port, beanContext, httpTransportFactory,
serviceConfiguration);
}
+ @Override
+ protected String getFakeUrl() {
+ return beanContext.getEjbName();
+ }
+
protected ObjectName registerMBean() {
final ObjectName name = new ObjectNameBuilder("openejb.management")
.set("j2eeType", "JAX-WS")
Modified:
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java?rev=1535644&r1=1535643&r2=1535644&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java
(original)
+++
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java
Fri Oct 25 06:26:10 2013
@@ -25,6 +25,7 @@ import org.apache.cxf.jaxws.support.JaxW
import org.apache.cxf.resource.DefaultResourceManager;
import org.apache.cxf.resource.ResourceManager;
import org.apache.cxf.resource.ResourceResolver;
+import org.apache.cxf.service.Service;
import org.apache.cxf.transport.http.HTTPTransportFactory;
import org.apache.openejb.InjectionProcessor;
import org.apache.openejb.assembler.classic.util.ServiceConfiguration;
@@ -63,7 +64,7 @@ public class PojoEndpoint extends CxfEnd
CxfServiceConfiguration configuration = new
CxfServiceConfiguration(port);
serviceFactory.getConfigurations().add(0, configuration);
- service = serviceFactory.create();
+ service = doServiceCreate();
// instantiate and inject resources into service using the app
classloader to be sure to get the right InitialContext
final ClassLoader old = Thread.currentThread().getContextClassLoader();
Modified:
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java?rev=1535644&r1=1535643&r2=1535644&view=diff
==============================================================================
---
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java
(original)
+++
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java
Fri Oct 25 06:26:10 2013
@@ -61,6 +61,11 @@ public class PojoWsContainer extends Cxf
this.loader = loader;
}
+ @Override
+ protected String getFakeUrl() {
+ return target.getClass().getName() + "_" + hashCode(); // pojo are not
like ejbName: unique
+ }
+
protected PojoEndpoint createEndpoint() {
return new PojoEndpoint(loader, bus, port, context, target,
httpTransportFactory, bindings, serviceConfiguration);
}