[jboss-svn-commits] JBL Code SVN: r30550 - labs/jbossesb/workspace/performance/perf2/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Dec 8 13:31:21 EST 2009
Author: dward
Date: 2009-12-08 13:31:20 -0500 (Tue, 08 Dec 2009)
New Revision: 30550
Modified:
labs/jbossesb/workspace/performance/perf2/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java
Log:
http://www.jboss.org/index.html?module=bb&op=viewtopic&t=164713
Modified: labs/jbossesb/workspace/performance/perf2/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java
===================================================================
--- labs/jbossesb/workspace/performance/perf2/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java 2009-12-08 18:03:05 UTC (rev 30549)
+++ labs/jbossesb/workspace/performance/perf2/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java 2009-12-08 18:31:20 UTC (rev 30550)
@@ -30,6 +30,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -92,6 +93,19 @@
responseHeaderFilterset.add("content-length");
responseHeaderFilterset.add("server");
}
+
+ private static final Map<String,String> localAddr_to_localName = new ConcurrentHashMap<String,String>();
+
+ // request.getLocalName() has proven expensive, so cache it
+ private static final String getLocalName(HttpServletRequest request) {
+ String localAddr = request.getLocalAddr();
+ String localName = localAddr_to_localName.get(localAddr);
+ if (localName == null) {
+ localName = request.getLocalName();
+ localAddr_to_localName.put(localAddr, localName);
+ }
+ return localName;
+ }
/*
* Method for configue the payload proxy
@@ -114,7 +128,6 @@
/*
*Method for populating the ESB aware message from a HttpServletRequest
*/
- @SuppressWarnings("unchecked")
protected void populateMessage(Message message, T requestWrapper) throws MessageDeliverException {
HttpServletRequest request = requestWrapper.getRequest();
byte[] bodyBytes = null;
@@ -177,11 +190,9 @@
/*
* Method for decompsing a esb message to a HttpServletResponse
*/
- @SuppressWarnings("unchecked")
public Object decompose(Message message, T requestWrapper) throws MessageDeliverException {
HttpServletRequest request = requestWrapper.getRequest();
HttpServletResponse response = requestWrapper.getResponse();
- Map<String, String> headers;
Integer status = HttpServletResponse.SC_OK;
String encoding = null;
HttpResponse responseInfo = org.jboss.soa.esb.http.HttpResponse.getResponse(message);
@@ -253,6 +264,7 @@
* @return Request information includes the http header and other information parsed by
* servlet container from a servlet request
*/
+ @SuppressWarnings("unchecked")
public HttpRequest getRequestInfo(HttpServletRequest request) {
HttpRequest requestInfo = new org.jboss.soa.esb.http.HttpRequest();
@@ -261,7 +273,7 @@
requestInfo.setContentType(request.getContentType());
requestInfo.setContextPath(request.getContextPath());
requestInfo.setLocalAddr(request.getLocalAddr());
- requestInfo.setLocalName(request.getLocalName());
+ requestInfo.setLocalName(getLocalName(request));
requestInfo.setMethod(request.getMethod());
requestInfo.setProtocol(request.getProtocol());
requestInfo.setQueryString(request.getQueryString());
More information about the jboss-svn-commits
mailing list