JBossWS SVN: r5206 - in common: tags and 1 other directory.
by jbossws-commits@lists.jboss.org
Author: darran.lofthouse(a)jboss.com
Date: 2007-12-06 11:01:37 -0500 (Thu, 06 Dec 2007)
New Revision: 5206
Added:
common/tags/jbossws-common-1.0.2.GA.CP01/
Removed:
common/branches/jbossws-common-1.0.2.GA.CP01/
Log:
Release jbossws-common-1.0.2.GA.CP01
Copied: common/tags/jbossws-common-1.0.2.GA.CP01 (from rev 5205, common/branches/jbossws-common-1.0.2.GA.CP01)
17 years, 1 month
JBossWS SVN: r5205 - common/branches/jbossws-common-1.0.2.GA.CP01.
by jbossws-commits@lists.jboss.org
Author: darran.lofthouse(a)jboss.com
Date: 2007-12-06 11:00:51 -0500 (Thu, 06 Dec 2007)
New Revision: 5205
Modified:
common/branches/jbossws-common-1.0.2.GA.CP01/version.properties
Log:
Update version
Modified: common/branches/jbossws-common-1.0.2.GA.CP01/version.properties
===================================================================
--- common/branches/jbossws-common-1.0.2.GA.CP01/version.properties 2007-12-06 15:48:30 UTC (rev 5204)
+++ common/branches/jbossws-common-1.0.2.GA.CP01/version.properties 2007-12-06 16:00:51 UTC (rev 5205)
@@ -5,7 +5,7 @@
specification.vendor=JBoss (http://www.jboss.org)
specification.version=jbossws-2.0
-version.id=1.0.2.CP
+version.id=1.0.2.CP01
repository.id=snapshot
implementation.url=http://www.jboss.org/products/jbossws
17 years, 1 month
JBossWS SVN: r5204 - common/branches.
by jbossws-commits@lists.jboss.org
Author: darran.lofthouse(a)jboss.com
Date: 2007-12-06 10:48:30 -0500 (Thu, 06 Dec 2007)
New Revision: 5204
Added:
common/branches/jbossws-common-1.0.2.GA.CP01/
Log:
Prepare to release.
Copied: common/branches/jbossws-common-1.0.2.GA.CP01 (from rev 5203, common/branches/jbossws-common-1.0.2.GA.CP)
17 years, 1 month
JBossWS SVN: r5203 - common/branches.
by jbossws-commits@lists.jboss.org
Author: darran.lofthouse(a)jboss.com
Date: 2007-12-06 09:36:11 -0500 (Thu, 06 Dec 2007)
New Revision: 5203
Added:
common/branches/jbossws-common-1.0.2.GA.CP/
Removed:
common/branches/jbossws-common-1.0.2.CP/
Log:
Naming consistency with JBossAS CP branches.
Copied: common/branches/jbossws-common-1.0.2.GA.CP (from rev 5202, common/branches/jbossws-common-1.0.2.CP)
17 years, 1 month
JBossWS SVN: r5202 - in stack/cxf/trunk: ant-import and 2 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-12-06 07:36:18 -0500 (Thu, 06 Dec 2007)
New Revision: 5202
Added:
stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/AbstractInvoker.java
Modified:
stack/cxf/trunk/ant-import/build-thirdparty.xml
stack/cxf/trunk/build.xml
stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerEJB3.java
stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerJSE.java
stack/cxf/trunk/src/test/resources/test-excludes-jboss500.txt
stack/cxf/trunk/version.properties
Log:
Add support for EJB3 endpoints
Modified: stack/cxf/trunk/ant-import/build-thirdparty.xml
===================================================================
--- stack/cxf/trunk/ant-import/build-thirdparty.xml 2007-12-06 12:32:32 UTC (rev 5201)
+++ stack/cxf/trunk/ant-import/build-thirdparty.xml 2007-12-06 12:36:18 UTC (rev 5202)
@@ -67,6 +67,7 @@
<get src="${jboss.repository}/sun-jaxb/${sun-jaxb}/lib/jaxb-api.jar" dest="${thirdparty.dir}/jaxb-api.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/sun-jaxb/${sun-jaxb}/lib/jaxb-impl.jar" dest="${thirdparty.dir}/jaxb-impl.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/sun-jaxb/${sun-jaxb}/lib/jaxb-xjc.jar" dest="${thirdparty.dir}/jaxb-xjc.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/sun-jaxrpc/${sun-jaxrpc}/lib/jaxrpc-api.jar" dest="${thirdparty.dir}/jaxrpc-api.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/sun-servlet/${sun-servlet}/lib/servlet-api.jar" dest="${thirdparty.dir}/servlet-api.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/woodstox/${woodstox}/lib/wstx.jar" dest="${thirdparty.dir}/wstx.jar" usetimestamp="true" verbose="true"/>
Modified: stack/cxf/trunk/build.xml
===================================================================
--- stack/cxf/trunk/build.xml 2007-12-06 12:32:32 UTC (rev 5201)
+++ stack/cxf/trunk/build.xml 2007-12-06 12:36:18 UTC (rev 5202)
@@ -171,6 +171,7 @@
<include name="XmlSchema-${cxf.xmlschema}.jar"/>
<include name="jaxb-api.jar"/>
<include name="jaxb-impl.jar"/>
+ <include name="jaxrpc-api.jar"/>
<include name="stax-api.jar"/>
<include name="wsdl4j.jar"/>
<include name="wstx.jar"/>
@@ -223,6 +224,7 @@
<include name="XmlSchema-${cxf.xmlschema}.jar"/>
<include name="jaxb-api.jar"/>
<include name="jaxb-impl.jar"/>
+ <include name="jaxrpc-api.jar"/>
<include name="stax-api.jar"/>
<include name="wsdl4j.jar"/>
<include name="wstx.jar"/>
Added: stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/AbstractInvoker.java
===================================================================
--- stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/AbstractInvoker.java (rev 0)
+++ stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/AbstractInvoker.java 2007-12-06 12:36:18 UTC (rev 5202)
@@ -0,0 +1,144 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.cxf;
+
+//$Id: InvokerJSE.java 5200 2007-12-06 11:46:07Z thomas.diesler(a)jboss.com $
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.MessageContext.Scope;
+
+import org.apache.cxf.frontend.MethodDispatcher;
+import org.apache.cxf.helpers.CastUtils;
+import org.apache.cxf.jaxws.context.WebServiceContextImpl;
+import org.apache.cxf.jaxws.context.WrappedMessageContext;
+import org.apache.cxf.jaxws.support.ContextPropertiesMapping;
+import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.MessageContentsList;
+import org.apache.cxf.service.Service;
+import org.apache.cxf.service.invoker.Invoker;
+import org.apache.cxf.service.model.BindingOperationInfo;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.EndpointAssociation;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationContext;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+
+/**
+ * An abstract CXF invoker
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 06-Dec-2007
+ */
+public abstract class AbstractInvoker implements Invoker
+{
+ public Object invoke(Exchange exchange, Object o)
+ {
+ // set up the webservice request context
+ MessageContext msgCtx = ContextPropertiesMapping.createWebServiceContext(exchange);
+
+ Map<String, Scope> scopes = CastUtils.cast((Map<?, ?>)msgCtx.get(WrappedMessageContext.SCOPES));
+ Map<String, Object> handlerScopedStuff = new HashMap<String, Object>();
+ if (scopes != null)
+ {
+ for (Map.Entry<String, Scope> scope : scopes.entrySet())
+ {
+ if (scope.getValue() == Scope.HANDLER)
+ {
+ handlerScopedStuff.put(scope.getKey(), msgCtx.get(scope.getKey()));
+ }
+ }
+ for (String key : handlerScopedStuff.keySet())
+ {
+ msgCtx.remove(key);
+ }
+ }
+
+ WebServiceContextImpl.setMessageContext(msgCtx);
+
+ BindingOperationInfo bop = exchange.get(BindingOperationInfo.class);
+ MethodDispatcher md = (MethodDispatcher)exchange.get(Service.class).get(MethodDispatcher.class.getName());
+ Method m = md.getMethod(bop);
+
+ List<Object> paramList = CastUtils.cast((List<?>)o);
+ Object[] params = paramList.toArray();
+
+ Endpoint ep = EndpointAssociation.getEndpoint();
+ InvocationHandler invHandler = ep.getInvocationHandler();
+
+ Invocation inv = invHandler.createInvocation();
+ InvocationContext invContext = inv.getInvocationContext();
+ inv.getInvocationContext().addAttachment(WebServiceContext.class, getWebServiceContext(msgCtx));
+ invContext.addAttachment(MessageContext.class, msgCtx);
+ inv.setJavaMethod(m);
+ inv.setArgs(params);
+
+ Object retObj = null;
+ try
+ {
+ invContext.setTargetBean(getTargetBean(ep));
+ invHandler.invoke(ep, inv);
+ retObj = inv.getReturnValue();
+ }
+ catch (Exception ex)
+ {
+ handleException(ex);
+ }
+
+ for (Map.Entry<String, Object> key : handlerScopedStuff.entrySet())
+ {
+ msgCtx.put(key.getKey(), key.getValue());
+ msgCtx.setScope(key.getKey(), Scope.HANDLER);
+ }
+
+ //update the webservice response context
+ ContextPropertiesMapping.updateWebServiceContext(exchange, msgCtx);
+ //clear the WebServiceContextImpl's ThreadLocal variable
+ WebServiceContextImpl.clear();
+
+ return new MessageContentsList(retObj);
+ }
+
+ protected abstract WebServiceContext getWebServiceContext(MessageContext msgCtx);
+
+ protected Object getTargetBean(Endpoint ep) throws InstantiationException, IllegalAccessException
+ {
+ Class beanClass = ep.getTargetBeanClass();
+ return beanClass.newInstance();
+ }
+
+ protected void handleException(Exception ex)
+ {
+ Throwable th = ex;
+ if (ex instanceof InvocationTargetException)
+ th = ((InvocationTargetException)ex).getTargetException();
+
+ throw new RuntimeException(th);
+ }
+
+}
\ No newline at end of file
Modified: stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerEJB3.java
===================================================================
--- stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerEJB3.java 2007-12-06 12:32:32 UTC (rev 5201)
+++ stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerEJB3.java 2007-12-06 12:36:18 UTC (rev 5202)
@@ -23,54 +23,21 @@
//$Id$
-import org.apache.cxf.message.Exchange;
-import org.apache.cxf.service.invoker.Invoker;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.handler.MessageContext;
+import org.jboss.wsf.spi.invocation.WebServiceContextEJB;
+
/**
* An XFire invoker for EJB3
*
* @author Thomas.Diesler(a)jboss.org
* @since 21-May-2007
*/
-public class InvokerEJB3 implements Invoker
+public class InvokerEJB3 extends AbstractInvoker
{
- public Object invoke(Exchange arg0, Object arg1)
+ protected WebServiceContext getWebServiceContext(MessageContext msgCtx)
{
- // TODO Auto-generated method stub
- return null;
+ return new WebServiceContextEJB(msgCtx);
}
-
- /*
- public Object invoke(Method m, Object[] params, MessageContext context)
- {
- Endpoint ep = EndpointAssociation.getEndpoint();
- InvocationHandler invHandler = ep.getInvocationHandler();
-
- Invocation inv = invHandler.createInvocation();
- inv.getInvocationContext().addAttachment(MessageContext.class, context);
- inv.setJavaMethod(m);
- inv.setArgs(params);
-
- Object retObj = null;
- try
- {
- invHandler.invoke(ep, inv);
- retObj = inv.getReturnValue();
- }
- catch (Exception ex)
- {
- handleException(ex);
- }
-
- return retObj;
- }
-
- private void handleException(Exception ex) throws XFireFault
- {
- if (ex instanceof InvocationTargetException)
- throw XFireFault.createFault(((InvocationTargetException)ex).getTargetException());
-
- throw XFireFault.createFault(ex);
- }
- */
}
Modified: stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerJSE.java
===================================================================
--- stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerJSE.java 2007-12-06 12:32:32 UTC (rev 5201)
+++ stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerJSE.java 2007-12-06 12:36:18 UTC (rev 5202)
@@ -23,31 +23,9 @@
//$Id$
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.MessageContext.Scope;
-import org.apache.cxf.frontend.MethodDispatcher;
-import org.apache.cxf.helpers.CastUtils;
-import org.apache.cxf.jaxws.context.WebServiceContextImpl;
-import org.apache.cxf.jaxws.context.WrappedMessageContext;
-import org.apache.cxf.jaxws.support.ContextPropertiesMapping;
-import org.apache.cxf.message.Exchange;
-import org.apache.cxf.message.MessageContentsList;
-import org.apache.cxf.service.Service;
-import org.apache.cxf.service.invoker.Invoker;
-import org.apache.cxf.service.model.BindingOperationInfo;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.EndpointAssociation;
-import org.jboss.wsf.spi.invocation.Invocation;
-import org.jboss.wsf.spi.invocation.InvocationContext;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
import org.jboss.wsf.spi.invocation.WebServiceContextJSE;
/**
@@ -56,88 +34,10 @@
* @author Thomas.Diesler(a)jboss.org
* @since 21-May-2007
*/
-public class InvokerJSE implements Invoker
+public class InvokerJSE extends AbstractInvoker
{
- public Object invoke(Exchange exchange, Object o)
+ protected WebServiceContext getWebServiceContext(MessageContext msgCtx)
{
- // set up the webservice request context
- MessageContext msgCtx = ContextPropertiesMapping.createWebServiceContext(exchange);
-
- Map<String, Scope> scopes = CastUtils.cast((Map<?, ?>)msgCtx.get(WrappedMessageContext.SCOPES));
- Map<String, Object> handlerScopedStuff = new HashMap<String, Object>();
- if (scopes != null)
- {
- for (Map.Entry<String, Scope> scope : scopes.entrySet())
- {
- if (scope.getValue() == Scope.HANDLER)
- {
- handlerScopedStuff.put(scope.getKey(), msgCtx.get(scope.getKey()));
- }
- }
- for (String key : handlerScopedStuff.keySet())
- {
- msgCtx.remove(key);
- }
- }
-
- WebServiceContextImpl.setMessageContext(msgCtx);
-
- BindingOperationInfo bop = exchange.get(BindingOperationInfo.class);
- MethodDispatcher md = (MethodDispatcher)exchange.get(Service.class).get(MethodDispatcher.class.getName());
- Method m = md.getMethod(bop);
-
- List<Object> paramList = CastUtils.cast((List<?>)o);
- Object[] params = paramList.toArray();
-
- Endpoint ep = EndpointAssociation.getEndpoint();
- InvocationHandler invHandler = ep.getInvocationHandler();
-
- Invocation inv = invHandler.createInvocation();
- InvocationContext invContext = inv.getInvocationContext();
- inv.getInvocationContext().addAttachment(WebServiceContext.class, new WebServiceContextJSE(msgCtx));
- invContext.addAttachment(MessageContext.class, msgCtx);
- inv.setJavaMethod(m);
- inv.setArgs(params);
-
- Object retObj = null;
- try
- {
- invContext.setTargetBean(getTargetBean(ep));
- invHandler.invoke(ep, inv);
- retObj = inv.getReturnValue();
- }
- catch (Exception ex)
- {
- handleException(ex);
- }
-
- for (Map.Entry<String, Object> key : handlerScopedStuff.entrySet())
- {
- msgCtx.put(key.getKey(), key.getValue());
- msgCtx.setScope(key.getKey(), Scope.HANDLER);
- }
-
- //update the webservice response context
- ContextPropertiesMapping.updateWebServiceContext(exchange, msgCtx);
- //clear the WebServiceContextImpl's ThreadLocal variable
- WebServiceContextImpl.clear();
-
- return new MessageContentsList(retObj);
+ return new WebServiceContextJSE(msgCtx);
}
-
- private Object getTargetBean(Endpoint ep) throws InstantiationException, IllegalAccessException
- {
- Class beanClass = ep.getTargetBeanClass();
- return beanClass.newInstance();
- }
-
- private void handleException(Exception ex)
- {
- Throwable th = ex;
- if (ex instanceof InvocationTargetException)
- th = ((InvocationTargetException)ex).getTargetException();
-
- throw new RuntimeException(th);
- }
-
}
\ No newline at end of file
Modified: stack/cxf/trunk/src/test/resources/test-excludes-jboss500.txt
===================================================================
--- stack/cxf/trunk/src/test/resources/test-excludes-jboss500.txt 2007-12-06 12:32:32 UTC (rev 5201)
+++ stack/cxf/trunk/src/test/resources/test-excludes-jboss500.txt 2007-12-06 12:36:18 UTC (rev 5202)
@@ -11,11 +11,6 @@
#
###################################################################
-# [CXF-817] Add support for configurable invoker in cxf.xml
-org/jboss/test/ws/jaxws/samples/context/WebServiceContextEJBTestCase.*
-org/jboss/test/ws/jaxws/samples/webservice/WebServiceEJB3TestCase.*
-org/jboss/test/ws/jaxws/samples/swaref/**
-
# [JBWS-1683] Fix JAXR samples for CXF
org/jboss/test/ws/jaxws/samples/jaxr/**
Modified: stack/cxf/trunk/version.properties
===================================================================
--- stack/cxf/trunk/version.properties 2007-12-06 12:32:32 UTC (rev 5201)
+++ stack/cxf/trunk/version.properties 2007-12-06 12:36:18 UTC (rev 5202)
@@ -47,6 +47,7 @@
jboss-security-spi=2.0.0.Beta
stax-api=1.0
sun-jaxb=2.1.4
+sun-jaxrpc=1.1
sun-servlet=2.5
woodstox=3.1.1
17 years, 1 month
JBossWS SVN: r5201 - framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-12-06 07:32:32 -0500 (Thu, 06 Dec 2007)
New Revision: 5201
Modified:
framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/BareEndpoint.java
framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/BareEndpointImpl.java
framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/RpcLitEndpoint.java
framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/RpcLitEndpointImpl.java
framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/WrappedEndpoint.java
framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/WrappedEndpointImpl.java
Log:
Remove RemoteException
Modified: framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/BareEndpoint.java
===================================================================
--- framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/BareEndpoint.java 2007-12-06 11:46:07 UTC (rev 5200)
+++ framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/BareEndpoint.java 2007-12-06 12:32:32 UTC (rev 5201)
@@ -24,19 +24,16 @@
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.soap.SOAPBinding;
-import javax.ejb.Remote;
import javax.xml.bind.annotation.XmlAttachmentRef;
-import java.rmi.RemoteException;
-@Remote
@WebService(name="BareEndpoint", serviceName="BareEndpointService")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface BareEndpoint
{
@WebMethod
- DocumentPayload beanAnnotation(DocumentPayload payload) throws RemoteException;
+ DocumentPayload beanAnnotation(DocumentPayload payload);
@WebMethod
@XmlAttachmentRef
- DocumentPayloadWithoutRef parameterAnnotation(@XmlAttachmentRef DocumentPayloadWithoutRef payload) throws RemoteException;
+ DocumentPayloadWithoutRef parameterAnnotation(@XmlAttachmentRef DocumentPayloadWithoutRef payload);
}
Modified: framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/BareEndpointImpl.java
===================================================================
--- framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/BareEndpointImpl.java 2007-12-06 11:46:07 UTC (rev 5200)
+++ framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/BareEndpointImpl.java 2007-12-06 12:32:32 UTC (rev 5201)
@@ -41,7 +41,7 @@
public class BareEndpointImpl implements BareEndpoint
{
@WebMethod
- public DocumentPayload beanAnnotation(DocumentPayload payload) throws RemoteException
+ public DocumentPayload beanAnnotation(DocumentPayload payload)
{
try
{
@@ -56,7 +56,7 @@
@WebMethod
@XmlAttachmentRef
- public DocumentPayloadWithoutRef parameterAnnotation(@XmlAttachmentRef DocumentPayloadWithoutRef payload) throws RemoteException
+ public DocumentPayloadWithoutRef parameterAnnotation(@XmlAttachmentRef DocumentPayloadWithoutRef payload)
{
try
{
Modified: framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/RpcLitEndpoint.java
===================================================================
--- framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/RpcLitEndpoint.java 2007-12-06 11:46:07 UTC (rev 5200)
+++ framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/RpcLitEndpoint.java 2007-12-06 12:32:32 UTC (rev 5201)
@@ -24,20 +24,17 @@
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
-import javax.ejb.Remote;
import javax.activation.DataHandler;
import javax.xml.bind.annotation.XmlAttachmentRef;
-import java.rmi.RemoteException;
-@Remote
@WebService(name="RpcLitEndpoint", serviceName="RpcLitEndpointService")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface RpcLitEndpoint
{
@WebMethod
@XmlAttachmentRef
- DataHandler parameterAnnotation(@XmlAttachmentRef DataHandler data) throws RemoteException;
+ DataHandler parameterAnnotation(@XmlAttachmentRef DataHandler data) ;
@WebMethod
- DocumentPayload beanAnnotation(DocumentPayload payload) throws RemoteException;
+ DocumentPayload beanAnnotation(DocumentPayload payload) ;
}
Modified: framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/RpcLitEndpointImpl.java
===================================================================
--- framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/RpcLitEndpointImpl.java 2007-12-06 11:46:07 UTC (rev 5200)
+++ framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/RpcLitEndpointImpl.java 2007-12-06 12:32:32 UTC (rev 5201)
@@ -41,7 +41,7 @@
{
@WebMethod
@XmlAttachmentRef
- public DataHandler parameterAnnotation(@XmlAttachmentRef DataHandler data) throws RemoteException
+ public DataHandler parameterAnnotation(@XmlAttachmentRef DataHandler data)
{
try
{
@@ -56,7 +56,7 @@
}
@WebMethod
- public DocumentPayload beanAnnotation(DocumentPayload payload) throws RemoteException
+ public DocumentPayload beanAnnotation(DocumentPayload payload)
{
try
{
Modified: framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/WrappedEndpoint.java
===================================================================
--- framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/WrappedEndpoint.java 2007-12-06 11:46:07 UTC (rev 5200)
+++ framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/WrappedEndpoint.java 2007-12-06 12:32:32 UTC (rev 5201)
@@ -23,20 +23,17 @@
import javax.jws.WebMethod;
import javax.jws.WebService;
-import javax.ejb.Remote;
import javax.activation.DataHandler;
import javax.xml.bind.annotation.XmlAttachmentRef;
-import java.rmi.RemoteException;
-@Remote
@WebService(name = "WrappedEndpoint", serviceName = "WrappedEndpointService")
public interface WrappedEndpoint
{
@WebMethod
- DocumentPayload beanAnnotation(DocumentPayload dhw, String test) throws RemoteException;
+ DocumentPayload beanAnnotation(DocumentPayload dhw, String test);
@WebMethod
@XmlAttachmentRef
- DataHandler parameterAnnotation(DocumentPayload payload, String test, @XmlAttachmentRef DataHandler data) throws RemoteException;
+ DataHandler parameterAnnotation(DocumentPayload payload, String test, @XmlAttachmentRef DataHandler data);
}
Modified: framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/WrappedEndpointImpl.java
===================================================================
--- framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/WrappedEndpointImpl.java 2007-12-06 11:46:07 UTC (rev 5200)
+++ framework/trunk/src/test/java/org/jboss/test/ws/jaxws/samples/swaref/WrappedEndpointImpl.java 2007-12-06 12:32:32 UTC (rev 5201)
@@ -42,7 +42,7 @@
public class WrappedEndpointImpl implements WrappedEndpoint
{
@WebMethod
- public DocumentPayload beanAnnotation(DocumentPayload dhw, String test) throws RemoteException
+ public DocumentPayload beanAnnotation(DocumentPayload dhw, String test)
{
DataHandler dh;
@@ -79,7 +79,7 @@
@WebMethod
@XmlAttachmentRef
- public DataHandler parameterAnnotation(DocumentPayload payload, String test, @XmlAttachmentRef DataHandler data) throws RemoteException
+ public DataHandler parameterAnnotation(DocumentPayload payload, String test, @XmlAttachmentRef DataHandler data)
{
try
{
17 years, 1 month
JBossWS SVN: r5200 - in stack/cxf/trunk/src: main/java/org/jboss/wsf/stack/cxf/metadata/services and 1 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-12-06 06:46:07 -0500 (Thu, 06 Dec 2007)
New Revision: 5200
Modified:
stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/DescriptorDeploymentAspect.java
stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerJSE.java
stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/metadata/services/DDEndpoint.java
stack/cxf/trunk/src/test/resources/test-excludes-jboss500.txt
Log:
[JBWS-1746] Add support for configurable invoker in cxf.xml
Modified: stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/DescriptorDeploymentAspect.java
===================================================================
--- stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/DescriptorDeploymentAspect.java 2007-12-06 11:42:59 UTC (rev 5199)
+++ stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/DescriptorDeploymentAspect.java 2007-12-06 11:46:07 UTC (rev 5200)
@@ -23,18 +23,17 @@
//$Id: XFireServicesDeployer.java 3802 2007-07-05 16:44:32Z thomas.diesler(a)jboss.com $
+import java.util.HashMap;
+import java.util.Map;
+
import org.jboss.logging.Logger;
import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.stack.cxf.metadata.services.DDBean;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
import org.jboss.wsf.stack.cxf.metadata.services.DDBeans;
import org.jboss.wsf.stack.cxf.metadata.services.DDEndpoint;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* A deployer that generates cxf.xml
*
@@ -77,13 +76,11 @@
if (depType == DeploymentType.JAXWS_EJB3)
{
- //ddep.setServiceFactory(ServiceFactoryBeanEJB3.class.getName());
ddep.setInvoker(invokerEJB3);
}
if (depType == DeploymentType.JAXWS_JSE)
{
- //ddep.setServiceFactory(ServiceFactoryBeanJSE.class.getName());
ddep.setInvoker(invokerJSE);
}
@@ -91,18 +88,6 @@
dd.addEndpoint(ddep);
}
- if (depType == DeploymentType.JAXWS_EJB3)
- {
- DDBean bean = new DDBean("InvokerBeanEJB3", invokerEJB3);
- dd.addBean(bean);
- }
-
- if (depType == DeploymentType.JAXWS_JSE)
- {
- DDBean bean = new DDBean("InvokerBeanJSE", invokerJSE);
- dd.addBean(bean);
- }
-
dep.addAttachment(DDBeans.class, dd);
String propKey = "org.jboss.ws.webapp.ContextParameterMap";
Modified: stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerJSE.java
===================================================================
--- stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerJSE.java 2007-12-06 11:42:59 UTC (rev 5199)
+++ stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/InvokerJSE.java 2007-12-06 11:46:07 UTC (rev 5200)
@@ -25,11 +25,21 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.MessageContext.Scope;
+
import org.apache.cxf.frontend.MethodDispatcher;
import org.apache.cxf.helpers.CastUtils;
+import org.apache.cxf.jaxws.context.WebServiceContextImpl;
+import org.apache.cxf.jaxws.context.WrappedMessageContext;
+import org.apache.cxf.jaxws.support.ContextPropertiesMapping;
import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.MessageContentsList;
import org.apache.cxf.service.Service;
import org.apache.cxf.service.invoker.Invoker;
import org.apache.cxf.service.model.BindingOperationInfo;
@@ -38,6 +48,7 @@
import org.jboss.wsf.spi.invocation.Invocation;
import org.jboss.wsf.spi.invocation.InvocationContext;
import org.jboss.wsf.spi.invocation.InvocationHandler;
+import org.jboss.wsf.spi.invocation.WebServiceContextJSE;
/**
* An CXF invoker for JSE
@@ -49,6 +60,28 @@
{
public Object invoke(Exchange exchange, Object o)
{
+ // set up the webservice request context
+ MessageContext msgCtx = ContextPropertiesMapping.createWebServiceContext(exchange);
+
+ Map<String, Scope> scopes = CastUtils.cast((Map<?, ?>)msgCtx.get(WrappedMessageContext.SCOPES));
+ Map<String, Object> handlerScopedStuff = new HashMap<String, Object>();
+ if (scopes != null)
+ {
+ for (Map.Entry<String, Scope> scope : scopes.entrySet())
+ {
+ if (scope.getValue() == Scope.HANDLER)
+ {
+ handlerScopedStuff.put(scope.getKey(), msgCtx.get(scope.getKey()));
+ }
+ }
+ for (String key : handlerScopedStuff.keySet())
+ {
+ msgCtx.remove(key);
+ }
+ }
+
+ WebServiceContextImpl.setMessageContext(msgCtx);
+
BindingOperationInfo bop = exchange.get(BindingOperationInfo.class);
MethodDispatcher md = (MethodDispatcher)exchange.get(Service.class).get(MethodDispatcher.class.getName());
Method m = md.getMethod(bop);
@@ -61,8 +94,8 @@
Invocation inv = invHandler.createInvocation();
InvocationContext invContext = inv.getInvocationContext();
- //inv.getInvocationContext().addAttachment(WebServiceContext.class, new WebServiceContextJSE(context));
- //invContext.addAttachment(MessageContext.class, context);
+ inv.getInvocationContext().addAttachment(WebServiceContext.class, new WebServiceContextJSE(msgCtx));
+ invContext.addAttachment(MessageContext.class, msgCtx);
inv.setJavaMethod(m);
inv.setArgs(params);
@@ -78,7 +111,18 @@
handleException(ex);
}
- return retObj;
+ for (Map.Entry<String, Object> key : handlerScopedStuff.entrySet())
+ {
+ msgCtx.put(key.getKey(), key.getValue());
+ msgCtx.setScope(key.getKey(), Scope.HANDLER);
+ }
+
+ //update the webservice response context
+ ContextPropertiesMapping.updateWebServiceContext(exchange, msgCtx);
+ //clear the WebServiceContextImpl's ThreadLocal variable
+ WebServiceContextImpl.clear();
+
+ return new MessageContentsList(retObj);
}
private Object getTargetBean(Endpoint ep) throws InstantiationException, IllegalAccessException
@@ -87,7 +131,7 @@
return beanClass.newInstance();
}
- private void handleException(Exception ex)
+ private void handleException(Exception ex)
{
Throwable th = ex;
if (ex instanceof InvocationTargetException)
Modified: stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/metadata/services/DDEndpoint.java
===================================================================
--- stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/metadata/services/DDEndpoint.java 2007-12-06 11:42:59 UTC (rev 5199)
+++ stack/cxf/trunk/src/main/java/org/jboss/wsf/stack/cxf/metadata/services/DDEndpoint.java 2007-12-06 11:46:07 UTC (rev 5200)
@@ -38,7 +38,6 @@
private String address;
private String implementor;
private String invoker;
- private String serviceFactory;
public DDEndpoint(String id, String address, String implementor)
{
@@ -52,30 +51,17 @@
this.invoker = invoker;
}
- public void setServiceFactory(String serviceFactory)
- {
- this.serviceFactory = serviceFactory;
- }
-
public void writeTo(Writer writer) throws IOException
{
writer.write("<jaxws:endpoint id='" + id + "'");
writer.write(" address='" + address + "'");
writer.write(" implementor='" + implementor + "'");
writer.write(">");
- //writer.write("<jaxws:implementor><bean class='" + implementor + "'/></jaxws:implementor>");
// [JBWS-1746] Add support for configurable invoker in cxf.xml
- /*
- writer.write("<jaxws:properties>");
if (invoker != null)
- writer.write("<entry key='serviceFactory.invoker' value-ref='" + invoker + "'/>");
- writer.write("</jaxws:properties>");
- */
+ writer.write("<jaxws:invoker><bean class='" + invoker + "'/></jaxws:invoker>");
- //if (serviceFactory != null)
- // writer.write("<jaxws:serviceFactory><bean class='" + serviceFactory + "'/></jaxws:serviceFactory>");
-
writer.write("</jaxws:endpoint>");
}
@@ -85,6 +71,7 @@
str.append("\n id=" + id);
str.append("\n address=" + address);
str.append("\n implementor=" + implementor);
+ str.append("\n invoker=" + invoker);
return str.toString();
}
}
\ No newline at end of file
Modified: stack/cxf/trunk/src/test/resources/test-excludes-jboss500.txt
===================================================================
--- stack/cxf/trunk/src/test/resources/test-excludes-jboss500.txt 2007-12-06 11:42:59 UTC (rev 5199)
+++ stack/cxf/trunk/src/test/resources/test-excludes-jboss500.txt 2007-12-06 11:46:07 UTC (rev 5200)
@@ -11,7 +11,7 @@
#
###################################################################
-# [JBWS-1746] Add support for configurable invoker in cxf.xml
+# [CXF-817] Add support for configurable invoker in cxf.xml
org/jboss/test/ws/jaxws/samples/context/WebServiceContextEJBTestCase.*
org/jboss/test/ws/jaxws/samples/webservice/WebServiceEJB3TestCase.*
org/jboss/test/ws/jaxws/samples/swaref/**
17 years, 1 month
JBossWS SVN: r5199 - in stack/native/trunk/src: main/java/org/jboss/ws/extensions/wsrm/config and 7 other directories.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2007-12-06 06:42:59 -0500 (Thu, 06 Dec 2007)
New Revision: 5199
Added:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMMessageRetransmissionConfig.java
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMSequenceImpl.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMConfig.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java
stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java
stack/native/trunk/src/main/java/org/jboss/ws/metadata/config/binding/OMFactoryJAXWS.java
stack/native/trunk/src/main/resources/schema/jaxws-config_2_0.xsd
stack/native/trunk/src/test/java/org/jboss/test/ws/common/config/ConfigFactoryTestCase.java
stack/native/trunk/src/test/resources/common/config/jaxws-endpoint-config.xml
stack/native/trunk/src/test/resources/jaxws/wsrm/META-INF/wsrm-jaxws-client-config.xml
Log:
making WS-RM retransmission process configurable
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMSequenceImpl.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMSequenceImpl.java 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/RMSequenceImpl.java 2007-12-06 11:42:59 UTC (rev 5199)
@@ -84,14 +84,6 @@
private AtomicLong messageNumber = new AtomicLong();
private AtomicInteger countOfUnassignedMessagesAvailable = new AtomicInteger();
- public void unassignedMessageReceived()
- {
- // we can't use objectLock in the method - possible deadlock
- this.countOfUnassignedMessagesAvailable.addAndGet(1);
- logger.debug("Expected sequence expiration in " + ((System.currentTimeMillis() - this.creationTime) / 1000) + "seconds");
- logger.debug("Unassigned message available in callback handler");
- }
-
public RMSequenceImpl(boolean addrType, RMConfig wsrmConfig)
{
super();
@@ -126,6 +118,19 @@
}
}
+ public void unassignedMessageReceived()
+ {
+ // we can't use objectLock in the method - possible deadlock
+ this.countOfUnassignedMessagesAvailable.addAndGet(1);
+ logger.debug("Expected sequence expiration in " + ((System.currentTimeMillis() - this.creationTime) / 1000) + "seconds");
+ logger.debug("Unassigned message available in callback handler");
+ }
+
+ public final RMConfig getRMConfig()
+ {
+ return this.wsrmConfig;
+ }
+
public final Set<Long> getReceivedInboundMessages()
{
return this.receivedInboundMessages;
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMConfig.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMConfig.java 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMConfig.java 2007-12-06 11:42:59 UTC (rev 5199)
@@ -35,14 +35,22 @@
private RMDeliveryAssuranceConfig deliveryAssurance;
private RMProviderConfig provider;
private RMBackPortsServerConfig backportsServer;
+ private RMMessageRetransmissionConfig messageRetransmission;
private RMMessageStoreConfig messageStore;
private List<RMPortConfig> ports = new LinkedList<RMPortConfig>();
+ public final void setMessageRetransmission(RMMessageRetransmissionConfig messageRetransmission)
+ {
+ this.messageRetransmission = messageRetransmission;
+ }
+
+ public final RMMessageRetransmissionConfig getMessageRetransmission()
+ {
+ return this.messageRetransmission;
+ }
+
public final void setDeliveryAssurance(RMDeliveryAssuranceConfig deliveryAssurance)
{
- if (deliveryAssurance == null)
- throw new IllegalArgumentException();
-
this.deliveryAssurance = deliveryAssurance;
}
@@ -63,9 +71,6 @@
public final void setProvider(RMProviderConfig provider)
{
- if (provider == null)
- throw new IllegalArgumentException();
-
this.provider = provider;
}
@@ -76,9 +81,6 @@
public final void setMessageStore(RMMessageStoreConfig messageStore)
{
- if (messageStore == null)
- throw new IllegalArgumentException();
-
this.messageStore = messageStore;
}
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMMessageRetransmissionConfig.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMMessageRetransmissionConfig.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMMessageRetransmissionConfig.java 2007-12-06 11:42:59 UTC (rev 5199)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.config;
+
+/**
+ * Message retransmission configuration
+ *
+ * @author richard.opalka(a)jboss.com
+ *
+ * @since Dec 6, 2007
+ */
+public final class RMMessageRetransmissionConfig
+{
+
+ private int countOfAttempts;
+ private int retransmissionInterval;
+ private int messageTimeout;
+
+ public final int getCountOfAttempts()
+ {
+ return countOfAttempts;
+ }
+
+ public final void setCountOfAttempts(int countOfAttempts)
+ {
+ this.countOfAttempts = countOfAttempts;
+ }
+
+ public final int getRetransmissionInterval()
+ {
+ return retransmissionInterval;
+ }
+
+ public final void setRetransmissionInterval(int retransmissionInterval)
+ {
+ this.retransmissionInterval = retransmissionInterval;
+ }
+
+ public final int getMessageTimeout()
+ {
+ return messageTimeout;
+ }
+
+ public final void setMessageTimeout(int messageTimeout)
+ {
+ this.messageTimeout = messageTimeout;
+ }
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/config/RMMessageRetransmissionConfig.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java 2007-12-06 11:42:59 UTC (rev 5199)
@@ -37,6 +37,7 @@
import org.jboss.logging.Logger;
import org.jboss.remoting.transport.http.HTTPMetadataConstants;
import org.jboss.ws.extensions.wsrm.api.RMException;
+import org.jboss.ws.extensions.wsrm.config.RMMessageRetransmissionConfig;
/**
* WS-RM channel manager ensures message reliable delivery according to sequence retransmission configuration
@@ -51,8 +52,6 @@
private static final Logger logger = Logger.getLogger(RMChannelManagerImpl.class);
private static RMChannelManager instance = new RMChannelManagerImpl();
private static final ExecutorService rmChannelPool = Executors.newFixedThreadPool(5, new RMThreadFactory());
- private static final int countOfAttempts = 100;
- private static final int timeToWait = 3;
private static final class RMThreadFactory implements ThreadFactory
{
@@ -89,6 +88,13 @@
public final RMMessage send(RMMessage request) throws Throwable
{
+ RMMessageRetransmissionConfig qos = RMTransportHelper.getSequence(request).getRMConfig().getMessageRetransmission();
+ if (qos == null)
+ throw new RMException("User must specify message retransmission configuration in JAX-WS WS-RM config");
+
+ int countOfAttempts = qos.getCountOfAttempts();
+ int inactivityTimeout = qos.getMessageTimeout();
+ int retransmissionInterval = qos.getRetransmissionInterval();
RMChannelResponse result = null;
long startTime = 0L;
long endTime = 0L;
@@ -101,7 +107,7 @@
try
{
startTime = System.currentTimeMillis();
- result = futureResult.get(timeToWait, TimeUnit.SECONDS);
+ result = futureResult.get(inactivityTimeout, TimeUnit.SECONDS);
if (result != null)
{
Throwable t = result.getFault();
@@ -127,13 +133,28 @@
logger.debug("Response message received in " + (endTime - startTime) + " miliseconds");
break;
}
- Thread.sleep(timeToWait * 1000);
+ try
+ {
+ Thread.sleep(retransmissionInterval * 1000);
+ }
+ catch (InterruptedException ie)
+ {
+ logger.warn(ie.getMessage(), ie);
+ }
}
}
catch (TimeoutException te)
{
endTime = System.currentTimeMillis();
logger.warn("Timeout - response message not received in " + (endTime - startTime) + " miliseconds");
+ try
+ {
+ Thread.sleep(retransmissionInterval * 1000);
+ }
+ catch (InterruptedException ie)
+ {
+ logger.warn(ie.getMessage(), ie);
+ }
}
}
Modified: stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java 2007-12-06 11:42:59 UTC (rev 5199)
@@ -115,8 +115,7 @@
private void setupRMOperations(EndpointMetaData endpointMD)
{
- String rmSpecVersion = endpointMD.getConfig().getRMMetaData().getProvider().getSpecVersion();
- RMProvider rmProvider = RMProvider.getInstance(rmSpecVersion);
+ RMProvider rmProvider = RMProvider.get();
// register createSequence method
QName createSequenceQName = rmProvider.getConstants().getCreateSequenceQName();
Modified: stack/native/trunk/src/main/java/org/jboss/ws/metadata/config/binding/OMFactoryJAXWS.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/metadata/config/binding/OMFactoryJAXWS.java 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/main/java/org/jboss/ws/metadata/config/binding/OMFactoryJAXWS.java 2007-12-06 11:42:59 UTC (rev 5199)
@@ -40,6 +40,7 @@
import org.jboss.ws.extensions.wsrm.RMDeliveryAssuranceFactory;
import org.jboss.ws.extensions.wsrm.config.RMBackPortsServerConfig;
import org.jboss.ws.extensions.wsrm.config.RMDeliveryAssuranceConfig;
+import org.jboss.ws.extensions.wsrm.config.RMMessageRetransmissionConfig;
import org.jboss.ws.extensions.wsrm.config.RMMessageStoreConfig;
import org.jboss.ws.extensions.wsrm.config.RMConfig;
import org.jboss.ws.extensions.wsrm.config.RMPortConfig;
@@ -153,6 +154,27 @@
wsrmConfig.setDeliveryAssurance(deliveryAssurance);
return deliveryAssurance;
}
+ if (localName.equals("message-retransmission"))
+ {
+ int interval = 0, attempts = 0, timeout=0;
+ for (int i = 0; i < countOfAttributes; i++)
+ {
+ String attrLocalName = attrs.getLocalName(i);
+ if (attrLocalName.equals("interval"))
+ interval = Integer.valueOf(attrs.getValue(i));
+ if (attrLocalName.equals("attempts"))
+ attempts = Integer.valueOf(attrs.getValue(i));
+ if (attrLocalName.equals("timeout"))
+ timeout = Integer.valueOf(attrs.getValue(i));
+ }
+
+ RMMessageRetransmissionConfig retransmissionConfig = new RMMessageRetransmissionConfig();
+ retransmissionConfig.setCountOfAttempts(attempts);
+ retransmissionConfig.setRetransmissionInterval(interval);
+ retransmissionConfig.setMessageTimeout(timeout);
+ wsrmConfig.setMessageRetransmission(retransmissionConfig);
+ return retransmissionConfig;
+ }
if (localName.equals("backports-server"))
{
String host = null, port = null;
Modified: stack/native/trunk/src/main/resources/schema/jaxws-config_2_0.xsd
===================================================================
--- stack/native/trunk/src/main/resources/schema/jaxws-config_2_0.xsd 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/main/resources/schema/jaxws-config_2_0.xsd 2007-12-06 11:42:59 UTC (rev 5199)
@@ -71,7 +71,7 @@
</xsd:documentation>
</xsd:annotation>
</xsd:element>
- <xsd:element name="backports-server" type="tns:backportsServerType" minOccurs="0" maxOccurs="1">
+ <xsd:element name="backports-server" type="tns:backportsServerType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Backports server configuration to be used for addressable clients.
@@ -79,14 +79,21 @@
</xsd:documentation>
</xsd:annotation>
</xsd:element>
- <xsd:element name="provider" type="tns:providerType">
+ <xsd:element name="message-retransmission" type="tns:messageRetransmissionType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
+ Message retransmission allow users to configure the QoS of WS-RM.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="provider" type="tns:providerType" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
WS-RM specification version to be used for reliable messaging.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
- <xsd:element name="message-store" type="tns:msgStoreType">
+ <xsd:element name="message-store" type="tns:msgStoreType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
WS-RM message store to be used for reliable messaging.
@@ -102,6 +109,29 @@
</xsd:element>
</xsd:sequence>
</xsd:complexType>
+ <xsd:complexType name="messageRetransmissionType">
+ <xsd:attribute name="interval" type="xsd:int" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Message retransmission interval (in seconds)
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="attempts" type="xsd:int" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Maximum count of message retransmission attempts.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="timeout" type="xsd:int" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+ Maximum count of seconds to wait for response.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ </xsd:complexType>
<xsd:complexType name="backportsServerType">
<xsd:attribute name="host" type="xsd:string" use="optional">
<xsd:annotation>
Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/common/config/ConfigFactoryTestCase.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/common/config/ConfigFactoryTestCase.java 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/common/config/ConfigFactoryTestCase.java 2007-12-06 11:42:59 UTC (rev 5199)
@@ -28,6 +28,7 @@
import org.jboss.ws.extensions.wsrm.config.RMBackPortsServerConfig;
import org.jboss.ws.extensions.wsrm.config.RMDeliveryAssuranceConfig;
+import org.jboss.ws.extensions.wsrm.config.RMMessageRetransmissionConfig;
import org.jboss.ws.extensions.wsrm.config.RMMessageStoreConfig;
import org.jboss.ws.extensions.wsrm.config.RMConfig;
import org.jboss.ws.extensions.wsrm.config.RMPortConfig;
@@ -158,5 +159,9 @@
RMBackPortsServerConfig backportsServer = wsrmConfig.getBackPortsServer();
assertEquals(backportsServer.getHost(), "realhostname.realdomain");
assertEquals(backportsServer.getPort(), "9999");
+ RMMessageRetransmissionConfig messageRetransmission = wsrmConfig.getMessageRetransmission();
+ assertEquals(messageRetransmission.getCountOfAttempts(), 50);
+ assertEquals(messageRetransmission.getRetransmissionInterval(), 10);
+ assertEquals(messageRetransmission.getMessageTimeout(), 3);
}
}
Modified: stack/native/trunk/src/test/resources/common/config/jaxws-endpoint-config.xml
===================================================================
--- stack/native/trunk/src/test/resources/common/config/jaxws-endpoint-config.xml 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/test/resources/common/config/jaxws-endpoint-config.xml 2007-12-06 11:42:59 UTC (rev 5199)
@@ -47,6 +47,7 @@
<reliable-messaging>
<delivery-assurance inOrder="true" quality="AtLeastOnce"/>
<backports-server host="realhostname.realdomain" port="9999"/>
+ <message-retransmission attempts="50" interval="10" timeout="3"/>
<provider
specVersion="http://docs.oasis-open.org/ws-rx/wsrm/200702"/>
<message-store
Modified: stack/native/trunk/src/test/resources/jaxws/wsrm/META-INF/wsrm-jaxws-client-config.xml
===================================================================
--- stack/native/trunk/src/test/resources/jaxws/wsrm/META-INF/wsrm-jaxws-client-config.xml 2007-12-06 10:29:09 UTC (rev 5198)
+++ stack/native/trunk/src/test/resources/jaxws/wsrm/META-INF/wsrm-jaxws-client-config.xml 2007-12-06 11:42:59 UTC (rev 5199)
@@ -9,12 +9,8 @@
<client-config>
<config-name>Standard WSRM Client</config-name>
<reliable-messaging>
- <delivery-assurance inOrder="true" quality="AtLeastOnce"/>
<backports-server port="7777"/>
- <provider specVersion="http://docs.oasis-open.org/ws-rx/wsrm/200702"/>
- <message-store id="wsrmStoreId" class="custom.MessageStoreImpl">
- <config-file>META-INF/config.xml</config-file>
- </message-store>
+ <message-retransmission attempts="50" interval="10" timeout="3"/>
</reliable-messaging>
<post-handler-chains>
<javaee:handler-chain>
17 years, 1 month
JBossWS SVN: r5198 - in stack/native/trunk/src: test/java/org/jboss/test/ws/jaxws/wsrm/emulator and 1 other directory.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2007-12-06 05:29:09 -0500 (Thu, 06 Dec 2007)
New Revision: 5198
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/emulator/EndpointEmulator.java
Log:
finalizing WS-RM resending capability
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java 2007-12-05 19:57:58 UTC (rev 5197)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java 2007-12-06 10:29:09 UTC (rev 5198)
@@ -21,7 +21,9 @@
*/
package org.jboss.ws.extensions.wsrm.transport;
-import java.io.IOException;
+import static org.jboss.ws.extensions.wsrm.RMConstant.REMOTING_INVOCATION_CONTEXT;
+
+import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
@@ -30,17 +32,20 @@
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
+import javax.servlet.http.HttpServletResponse;
+
import org.jboss.logging.Logger;
+import org.jboss.remoting.transport.http.HTTPMetadataConstants;
import org.jboss.ws.extensions.wsrm.api.RMException;
/**
- * WS-RM channel manager ensures message reliable delivery according to sequence configuration
+ * WS-RM channel manager ensures message reliable delivery according to sequence retransmission configuration
*
* @author richard.opalka(a)jboss.com
*
* @since Dec 5, 2007
*/
-public final class RMChannelManagerImpl implements Runnable, RMChannelManager
+public final class RMChannelManagerImpl implements RMChannelManager
{
private static final Logger logger = Logger.getLogger(RMChannelManagerImpl.class);
@@ -74,9 +79,7 @@
private RMChannelManagerImpl()
{
- Thread thread = new Thread(this, "RMChannelManager");
- thread.setDaemon(true);
- thread.start();
+ // forbidden inheritance
}
public static final RMChannelManager getInstance()
@@ -84,23 +87,6 @@
return instance;
}
- public final void run()
- {
- while (true)
- {
- logger.debug("checking persistent store for undelivered messages");
- try
- {
- Thread.sleep(10);
- }
- catch (InterruptedException ie)
- {
- logger.warn(ie.getMessage(), ie);
- }
- }
-
- }
-
public final RMMessage send(RMMessage request) throws Throwable
{
RMChannelResponse result = null;
@@ -122,14 +108,26 @@
if (t != null)
{
logger.warn(result.getFault().getClass().getName(), result.getFault());
- Thread.sleep(timeToWait * 1000);
}
else
{
endTime = System.currentTimeMillis();
+ if (result.getResponse() != null)
+ {
+ Map<String, Object> remotingCtx = result.getResponse().getMetadata().getContext(REMOTING_INVOCATION_CONTEXT);
+ if (remotingCtx != null)
+ {
+ if (Integer.valueOf(HttpServletResponse.SC_INTERNAL_SERVER_ERROR).equals(remotingCtx.get(HTTPMetadataConstants.RESPONSE_CODE)))
+ {
+ logger.debug("Response message received in " + (endTime - startTime) + " miliseconds, but contains internal server code, going to resend the request message");
+ continue;
+ }
+ }
+ }
logger.debug("Response message received in " + (endTime - startTime) + " miliseconds");
break;
}
+ Thread.sleep(timeToWait * 1000);
}
}
catch (TimeoutException te)
Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/emulator/EndpointEmulator.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/emulator/EndpointEmulator.java 2007-12-05 19:57:58 UTC (rev 5197)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/emulator/EndpointEmulator.java 2007-12-06 10:29:09 UTC (rev 5198)
@@ -58,7 +58,6 @@
private String configFile;
private ServletContext ctx;
private List<View> views;
- private Map<String, Integer> delayedMessages = new HashMap<String, Integer>();
@Override
public void init(ServletConfig config) throws ServletException
@@ -93,7 +92,6 @@
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
- delayedMessages = new HashMap<String, Integer>();
handleRequest(HTTP_GET, req, res);
}
@@ -132,36 +130,31 @@
}
}
- try
+ boolean returnServerError = HTTP_POST.equalsIgnoreCase(httpMethod) ? (generator.nextInt(3) % 3 == 1) : false;
+ if (returnServerError)
{
- boolean sleep = generator.nextBoolean();
- if (sleep)
+ resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ ctx.log("returning HTTP code 500");
+ PrintWriter out = resp.getWriter();
+ out.write("<html><body><h1>Internal Server Error</h1><p>Generated by endpoint emulator for testing purposes.</p></body></html>");
+ out.flush();
+ out.close();
+ return;
+ }
+
+ boolean delayResponse = HTTP_POST.equalsIgnoreCase(httpMethod) ? (generator.nextInt(3) % 3 == 1) : false;
+ if (delayResponse)
+ {
+ try
{
- Integer countOfDelayedMessages = this.delayedMessages.get(view.getId());
- if (countOfDelayedMessages == null)
- {
- countOfDelayedMessages = 0;
- }
- if (countOfDelayedMessages.intValue() < 5)
- {
- Thread.sleep(5 * 1000);
- ctx.log("serving request after " + 5 + " seconds");
- this.delayedMessages.put(view.getId(), countOfDelayedMessages.intValue() + 1);
- }
- else
- {
- ctx.log("serving request immediately");
- }
- }
- else
+ ctx.log("delaying response, will be send in 5 seconds");
+ Thread.sleep(5 * 1000);
+ }
+ catch (InterruptedException ie)
{
- ctx.log("serving request immediately");
+ ctx.log(ie.getMessage(), ie);
}
}
- catch (InterruptedException ie)
- {
- ctx.log(ie.getMessage(), ie);
- }
if (responseTo == null)
{
17 years, 1 month
JBossWS SVN: r5197 - in stack/native/trunk/src: test/java/org/jboss/test/ws/jaxws/wsrm/emulator and 1 other directories.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2007-12-05 14:57:58 -0500 (Wed, 05 Dec 2007)
New Revision: 5197
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelTask.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/emulator/EndpointEmulator.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/reqres/RMAbstractReqResTest.java
Log:
implementing resending functionality - second iteration
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java 2007-12-05 18:16:22 UTC (rev 5196)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelManagerImpl.java 2007-12-05 19:57:58 UTC (rev 5197)
@@ -21,6 +21,7 @@
*/
package org.jboss.ws.extensions.wsrm.transport;
+import java.io.IOException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
@@ -45,8 +46,8 @@
private static final Logger logger = Logger.getLogger(RMChannelManagerImpl.class);
private static RMChannelManager instance = new RMChannelManagerImpl();
private static final ExecutorService rmChannelPool = Executors.newFixedThreadPool(5, new RMThreadFactory());
- private static final int countOfAttempts = 10;
- private static final int timeToWait = 2;
+ private static final int countOfAttempts = 100;
+ private static final int timeToWait = 3;
private static final class RMThreadFactory implements ThreadFactory
{
@@ -102,39 +103,49 @@
public final RMMessage send(RMMessage request) throws Throwable
{
- // submit new task to channel
- // if response has no fault - delete saved request and return response to the client
- // if response has fault - try to detect it's type
-
RMChannelResponse result = null;
long startTime = 0L;
long endTime = 0L;
+ int attemptNumber = 1;
for (int i = 0; i < countOfAttempts; i++)
{
+ logger.debug("Sending RM request - attempt no. " + attemptNumber++);
Future<RMChannelResponse> futureResult = rmChannelPool.submit(new RMChannelTask(request));
try
{
startTime = System.currentTimeMillis();
result = futureResult.get(timeToWait, TimeUnit.SECONDS);
- endTime = System.currentTimeMillis();
- logger.debug("Response message received in " + (endTime - startTime) + " miliseconds");
- break;
+ if (result != null)
+ {
+ Throwable t = result.getFault();
+ if (t != null)
+ {
+ logger.warn(result.getFault().getClass().getName(), result.getFault());
+ Thread.sleep(timeToWait * 1000);
+ }
+ else
+ {
+ endTime = System.currentTimeMillis();
+ logger.debug("Response message received in " + (endTime - startTime) + " miliseconds");
+ break;
+ }
+ }
}
catch (TimeoutException te)
{
endTime = System.currentTimeMillis();
- logger.warn("Response message not received in " + (endTime - startTime) + " miliseconds");
+ logger.warn("Timeout - response message not received in " + (endTime - startTime) + " miliseconds");
}
}
if (result == null)
- throw new RMException("Unable to deliver message with addressing id: " + RMTransportHelper.getMessageId(request));
+ throw new RMException("Unable to deliver message with addressing id: " + RMTransportHelper.getMessageId(request) + ". Count of attempts to deliver the message was: " + countOfAttempts);
Throwable fault = result.getFault();
if (fault != null)
{
- throw fault;
+ throw new RMException("Unable to deliver message with addressing id: " + RMTransportHelper.getMessageId(request) + ". Count of attempts to deliver the message was: " + countOfAttempts, fault);
}
else
{
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelTask.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelTask.java 2007-12-05 18:16:22 UTC (rev 5196)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/transport/RMChannelTask.java 2007-12-05 19:57:58 UTC (rev 5197)
@@ -23,6 +23,7 @@
import static org.jboss.ws.extensions.wsrm.RMConstant.*;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URI;
import java.util.Map;
@@ -112,7 +113,7 @@
{
String msg = retVal.getClass().getName() + ": '" + retVal + "'";
logger.warn(msg);
- throw new RuntimeException(msg);
+ throw new IOException(msg);
}
rmResponse = (RMMessage)retVal;
}
Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/emulator/EndpointEmulator.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/emulator/EndpointEmulator.java 2007-12-05 18:16:22 UTC (rev 5196)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/emulator/EndpointEmulator.java 2007-12-05 19:57:58 UTC (rev 5197)
@@ -58,7 +58,7 @@
private String configFile;
private ServletContext ctx;
private List<View> views;
- private Map<String, Integer> delayedMessages;
+ private Map<String, Integer> delayedMessages = new HashMap<String, Integer>();
@Override
public void init(ServletConfig config) throws ServletException
Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/reqres/RMAbstractReqResTest.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/reqres/RMAbstractReqResTest.java 2007-12-05 18:16:22 UTC (rev 5196)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/reqres/RMAbstractReqResTest.java 2007-12-05 19:57:58 UTC (rev 5197)
@@ -62,7 +62,7 @@
private boolean asyncHandlerCalled;
private ReqResServiceIface proxy;
private static final TimeUnit testTimeUnit = TimeUnit.SECONDS;
- private static final long testWaitPeriod = 180L;
+ private static final long testWaitPeriod = 300L;
private static final Executor testExecutor = new ThreadPoolExecutor(
0, 5, testWaitPeriod, testTimeUnit, new SynchronousQueue<Runnable>()
);
17 years, 1 month