svn commit: r1059789 - in /axis/axis2/java/transports/trunk/modules/base/src: main/java/org/apache/axis2/transport/base/threads/ main/java/org/apache/axis2/transport/base/threads/watermark/ test/java/
Author: supun Date: Mon Jan 17 08:04:18 2011 New Revision: 1059789 URL: http://svn.apache.org/viewvc?rev=1059789&view=rev Log: adding a ThreadPoolExecutor with a waterMark to control the threading behavior Added: axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/watermark/ axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/watermark/DefaultWaterMarkQueue.java axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/watermark/WaterMarkExecutor.java axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/watermark/WaterMarkQueue.java axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/watermark/WaterMarkRejectionHandler.java axis/axis2/java/transports/trunk/modules/base/src/test/java/org/apache/axis2/transport/base/threads/ axis/axis2/java/transports/trunk/modules/base/src/test/java/org/apache/axis2/transport/base/threads/watermark/ axis/axis2/java/transports/trunk/modules/base/src/test/java/org/apache/axis2/transport/base/threads/watermark/WaterMarkExecutorTest.java Modified: axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/NativeWorkerPool.java axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/WorkerPoolFactory.java Modified: axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/NativeWorkerPool.java URL: http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/NativeWorkerPool.java?rev=1059789&r1=1059788&r2=1059789&view=diff == --- axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/NativeWorkerPool.java (original) +++ axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/threads/NativeWorkerPool.java Mon Jan 17 08:04:18 2011 @@ -19,11 +19,13 @@ package org.apache.axis2.transport.base.threads; +import org.apache.axis2.transport.base.threads.watermark.DefaultWaterMarkQueue; +import org.apache.axis2.transport.base.threads.watermark.WaterMarkExecutor; +import org.apache.axis2.transport.base.threads.watermark.WaterMarkQueue; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.util.concurrent.*; -import java.util.concurrent.atomic.AtomicInteger; /** * Worker pool implementation based on java.util.concurrent in JDK 1.5 or later. @@ -33,7 +35,7 @@ public class NativeWorkerPool implements static final Log log = LogFactory.getLog(NativeWorkerPool.class); private final ThreadPoolExecutor executor; -private final LinkedBlockingQueue blockingQueue; +private final BlockingQueue blockingQueue; public NativeWorkerPool(int core, int max, int keepAlive, int queueLength, String threadGroupName, String threadGroupId) { @@ -45,10 +47,123 @@ public class NativeWorkerPool implements (queueLength == -1 ? new LinkedBlockingQueue() : new LinkedBlockingQueue(queueLength)); executor = new ThreadPoolExecutor( -core, max, keepAlive, -TimeUnit.SECONDS, -blockingQueue, -new NativeThreadFactory(new ThreadGroup(threadGroupName), threadGroupId)); +core, max, keepAlive, +TimeUnit.SECONDS, +blockingQueue, +new NativeThreadFactory(new ThreadGroup(threadGroupName), threadGroupId)); +} + +public NativeWorkerPool(int core, int max, int keepAlive, +int queueLength, String threadGroupName, +String threadGroupId, BlockingQueue queue) { + +if (log.isDebugEnabled()) { +log.debug("Using native util.concurrent package.."); +} + +if (queue == null) { +blockingQueue = +(queueLength == -1 ? new LinkedBlockingQueue() +: new LinkedBlockingQueue(queueLength)); +} else { +blockingQueue = queue; +} + +executor = new ThreadPoolExecutor( +core, max, keepAlive, +TimeUnit.SECONDS, +blockingQueue, +new NativeThreadFactory(new ThreadGroup(threadGroupName), threadGroupId)); +} + +public NativeWorkerPool(int core, int max, int keepAlive, +int queueLength, String threadGroupName, +String threadGroupId, BlockingQueue queue, +RejectedExecutionHandler rejectedExecutionHandler) { + +if (log.is
svn commit: r1059975 - /axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaMethodsToMDCConverter.java
Author: isurues Date: Mon Jan 17 16:23:21 2011 New Revision: 1059975 URL: http://svn.apache.org/viewvc?rev=1059975&view=rev Log: fixing https://issues.apache.org/jira/browse/AXIS2-4044 Modified: axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaMethodsToMDCConverter.java Modified: axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaMethodsToMDCConverter.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaMethodsToMDCConverter.java?rev=1059975&r1=1059974&r2=1059975&view=diff == --- axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaMethodsToMDCConverter.java (original) +++ axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/converter/JavaMethodsToMDCConverter.java Mon Jan 17 16:23:21 2011 @@ -28,6 +28,7 @@ import org.apache.axis2.jaxws.descriptio import org.apache.axis2.jaxws.description.builder.WebEndpointAnnot; import org.apache.axis2.jaxws.description.builder.WebMethodAnnot; import org.apache.axis2.jaxws.description.builder.WebResultAnnot; +import sun.reflect.generics.reflectiveObjects.GenericArrayTypeImpl; import javax.jws.Oneway; import javax.jws.WebMethod; @@ -346,8 +347,10 @@ public class JavaMethodsToMDCConverter { mdc.setReturnType(fullType); } else if (type instanceof Class) { mdc.setReturnType(((Class)type).getName()); - } - } +} else if (type instanceof GenericArrayTypeImpl) { +mdc.setReturnType(type.getClass().getName()); +} +} private void setIsListType(MethodDescriptionComposite mdc, Method method) { mdc.setIsListType(ConverterUtils.hasXmlListAnnotation(method.getAnnotations()));
svn commit: r1060199 - /axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java
Author: isurues Date: Tue Jan 18 05:56:55 2011 New Revision: 1060199 URL: http://svn.apache.org/viewvc?rev=1060199&view=rev Log: Exception handling improvement. In the previous implementation, the stack trace of the original exception will be lost. Therefore, adding it into the error log. Modified: axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java Modified: axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java?rev=1060199&r1=1060198&r2=1060199&view=diff == --- axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java (original) +++ axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/builder/JAXWSRIWSDLGenerator.java Tue Jan 18 05:56:55 2011 @@ -190,7 +190,7 @@ public class JAXWSRIWSDLGenerator implem catch (Throwable t) { String msg = "Error occurred generating WSDL file for Web service implementation class " + -"{" + className + "}: {" + t + "}"; +"{" + className + "}"; log.error(msg, t); throw new WebServiceException(msg, t); } @@ -258,14 +258,14 @@ public class JAXWSRIWSDLGenerator implem } catch (WSDLException e) { String msg = "Error occurred while attempting to create Definition from " + -"generated WSDL file {" + wsdlFile.getName() + "}: {" + e + "}"; -log.error(msg); +"generated WSDL file {" + wsdlFile.getName() + "}"; +log.error(msg, e); throw new Exception(msg); } catch (IOException e) { String msg = "Error occurred while attempting to create Definition from " + -"generated WSDL file {" + wsdlFile.getName() + "}: {" + e + "}"; -log.error(msg); +"generated WSDL file {" + wsdlFile.getName() + "}"; +log.error(msg, e); throw new Exception(msg); } } @@ -332,9 +332,8 @@ public class JAXWSRIWSDLGenerator implem return docMap; } catch (Exception e) { -String msg = -"Error occurred while attempting to read generated schema file {" + e + "}"; -log.error(msg); +String msg = "Error occurred while attempting to read generated schema file"; +log.error(msg, e); throw new Exception(msg); } }