Author: alessio.soldano(a)jboss.com
Date: 2012-12-13 14:12:57 -0500 (Thu, 13 Dec 2012)
New Revision: 17074
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerFactoryImpl.java
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java
Log:
[JBWS-3577] Native RequestHandler as singleton
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerFactoryImpl.java
===================================================================
---
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerFactoryImpl.java 2012-12-13
19:12:34 UTC (rev 17073)
+++
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerFactoryImpl.java 2012-12-13
19:12:57 UTC (rev 17074)
@@ -30,8 +30,15 @@
*/
public class RequestHandlerFactoryImpl extends RequestHandlerFactory
{
+ @Deprecated
public RequestHandler newRequestHandler()
{
return new RequestHandlerImpl();
}
+
+ @Override
+ public RequestHandler getRequestHandler()
+ {
+ return RequestHandlerImpl.getInstance();
+ }
}
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
===================================================================
---
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2012-12-13
19:12:34 UTC (rev 17073)
+++
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2012-12-13
19:12:57 UTC (rev 17074)
@@ -50,6 +50,7 @@
import org.jboss.ws.common.Constants;
import org.jboss.ws.common.DOMWriter;
import org.jboss.ws.common.IOUtils;
+import org.jboss.ws.common.management.AbstractServerConfig;
import org.jboss.ws.core.CommonBinding;
import org.jboss.ws.core.CommonBindingProvider;
import org.jboss.ws.core.CommonMessageContext;
@@ -68,15 +69,11 @@
import org.jboss.ws.core.soap.utils.SOAPUtils;
import org.jboss.ws.core.utils.ThreadLocalAssociation;
import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.EndpointState;
import org.jboss.wsf.spi.invocation.InvocationContext;
import org.jboss.wsf.spi.invocation.RequestHandler;
import org.jboss.wsf.spi.management.EndpointMetrics;
-import org.jboss.wsf.spi.management.ServerConfig;
-import org.jboss.wsf.spi.management.ServerConfigFactory;
import org.w3c.dom.Document;
/**
@@ -87,30 +84,21 @@
*/
public class RequestHandlerImpl implements RequestHandler
{
- protected ServerConfig serverConfig;
- protected MessageFactoryImpl msgFactory;
-
- public RequestHandlerImpl()
+ private static RequestHandlerImpl me;
+
+ RequestHandlerImpl()
{
- final SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- final ServerConfig serverConfig =
spiProvider.getSPI(ServerConfigFactory.class).getServerConfig();
-
- this.init(serverConfig);
+ //NOOP
}
- public RequestHandlerImpl(final ServerConfig serverConfig)
+ static synchronized RequestHandlerImpl getInstance()
{
- if (serverConfig == null)
- throw MESSAGES.serverConfigCannotBeNull();
-
- this.init(serverConfig);
+ if (me == null)
+ {
+ me = new RequestHandlerImpl();
+ }
+ return me;
}
-
- private void init(final ServerConfig serverConfig)
- {
- this.serverConfig = serverConfig;
- this.msgFactory = new MessageFactoryImpl();
- }
public void handleHttpRequest(Endpoint endpoint, HttpServletRequest req,
HttpServletResponse res, ServletContext context) throws ServletException, IOException
{
@@ -346,7 +334,7 @@
SOAPMessage reqMessage;
- msgFactory.setStyle(sepMetaData.getStyle());
+ MessageFactoryImpl msgFactory = ep.getAttachment(MessageFactoryImpl.class);
reqMessage = msgFactory.createMessage(headers, inputStream);
// Associate current message with message context
@@ -417,7 +405,7 @@
ROOT_LOGGER.trace("END handleRequest: " + ep.getName());
}
}
-
+
private long initRequestMetrics(Endpoint endpoint)
{
long beginTime = 0;
@@ -556,7 +544,7 @@
URL wsdlLocation = epMetaData.getServiceMetaData().getWsdlLocation();
String wsdlPublishLoc = epMetaData.getServiceMetaData().getWsdlPublishLocation();
- WSDLRequestHandler wsdlRequestHandler = new WSDLRequestHandler(wsdlLocation,
wsdlPublishLoc, serverConfig);
+ WSDLRequestHandler wsdlRequestHandler = new WSDLRequestHandler(wsdlLocation,
wsdlPublishLoc, AbstractServerConfig.getServerIntegrationServerConfig());
Document document = wsdlRequestHandler.getDocumentForPath(reqURL, resPath);
OutputStreamWriter writer = new OutputStreamWriter(outputStream);
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java
===================================================================
---
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java 2012-12-13
19:12:34 UTC (rev 17073)
+++
stack/native/trunk/modules/core/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java 2012-12-13
19:12:57 UTC (rev 17074)
@@ -27,6 +27,7 @@
import static org.jboss.ws.common.integration.WSHelper.isJaxrpcDeployment;
import org.jboss.ws.common.integration.AbstractDeploymentAspect;
+import org.jboss.ws.core.soap.MessageFactoryImpl;
import org.jboss.ws.metadata.builder.jaxrpc.JAXRPCServerMetaDataBuilder;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
@@ -74,6 +75,10 @@
sepMetaData.setEndpoint(ep);
ep.addAttachment(ServerEndpointMetaData.class, sepMetaData);
+
+ MessageFactoryImpl messageFactory = new MessageFactoryImpl();
+ messageFactory.setStyle(sepMetaData.getStyle());
+ ep.addAttachment(MessageFactoryImpl.class, messageFactory);
String targetBean = ep.getTargetBeanName();
if (targetBean != null)
Show replies by date