I've tried this and it fixes all the problems I've been having with building
the Axis2 binding, before building the binding would usually fail, now so
far its worked every time, so I've committed the fix. However, I do now get
am intermittent read timeout in the SDOWSDLTestCase itest which looks
possibly related. This is a new test so I'm not sure if its failing worse
than without this fix applied. Could others say the SDOWSDLTestCase is
working ok or if they're seeing any failures?

Thanks,

  ...ant

On 4/21/07, Simon Nash (JIRA) <[email protected]> wrote:


     [ 
https://issues.apache.org/jira/browse/TUSCANY-1218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Simon Nash updated TUSCANY-1218:
--------------------------------

    Attachment: patch-1218

After extensive investigation including tracing all WinSock API calls, it
appears that the problem is caused by client-side connections and sockets
not being released when they are no longer in use.  By default,
commons-httpclient uses SimpleHttpConnectionManager which creates a new
connection for every request and does not track connections or release them
later.  Setting the Axis2 REUSE_HTTP_CLIENT property causes
commons-httpclient to use MultiThreadedHttpConnectionManager instead,  which
tracks connections and has a shutdown() method that releases all
connections.

This patch modifies Axis2TargetInvoker to set REUSE_HTTP_CLIENT.  The
other part of the fix is to ensure that
MultiThreadedHttpConenctionManager.shutdown() gets called at the correct
time.  For now I have modified Axis2ModuleActivator, Axis2BindingBuilder and
Axis2ReferenceBinding to call this method when the Axis2 binding extension
is unloaded.  This solves the problem for the tests used by the build, but
it isn't a complete solution since shutdown() won't be called when an Axis2
reference binding is removed without the Axis2 extension being
unloaded.  Further investigation is needed to determine the correct point to
call  the MultiThreadedHttpConenctionManager.shutdown()  method in all
scenarios.

I also updated Axis2ServiceBinding to remove the now obsolete @Destroy
annotation on the stop() method, and I updated the pom.xml for
binding-ws-axis2 to change the dependency on commons-httpclient from runtime
to compile (needed because of the change to Axis2ReferenceBinding).

I have tested this change on my machine and it resolves the build problem
with no apparent adverse side-effects.

> java.net.ConnectException: Connection refused: connect when building
binding-ws-axis2
>
-------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-1218
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1218
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Axis Binding
>    Affects Versions: Java-SCA-Next
>         Environment: Windows XP
>            Reporter: Simon Nash
>         Assigned To: Simon Nash
>             Fix For: Java-SCA-Next
>
>         Attachments: patch-1218
>
>
> When building java/sca from the trunk, the following error occurs:
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> Running org.apache.tuscany.binding.axis2.itests.HelloWorldTestCase
> log4j:WARN No appenders could be found for logger (
org.apache.axiom.om.util.StAXUtils).
> log4j:WARN Please initialize the log4j system properly.
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.52 sec
> Running org.apache.tuscany.binding.axis2.Axis2ServiceTestCase
> Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec
> Running
org.apache.tuscany.binding.axis2.itests.endpoints.WSDLRelativeURITestCase
> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.975sec
> Running org.apache.tuscany.binding.axis2.itests.HelloWorldOMTestCase
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.307sec <<< 
FAILURE!
> testCalculator(
org.apache.tuscany.binding.axis2.itests.HelloWorldOMTestCase)  Time
elapsed: 4.247 sec  <<< ERROR!
> java.lang.reflect.UndeclaredThrowableException
>       at $Proxy8.getGreetings(Unknown Source)
>       at
org.apache.tuscany.binding.axis2.itests.HelloWorldOMComponent.getGreetings
(HelloWorldOMComponent.java :31)
>       at
org.apache.tuscany.binding.axis2.itests.HelloWorldOMTestCase.testCalculator
(HelloWorldOMTestCase.java:43)
> Caused by: org.apache.axis2.AxisFault: Connection refused: connect;
nested exception is:
>       java.net.ConnectException: Connection refused: connect; nested
exception is:
>       org.apache.axis2.AxisFault: Connection refused: connect; nested
exception is:
>       java.net.ConnectException : Connection refused: connect
>       at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(
CommonsHTTPTransportSender.java:227)
>       at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java :674)
>       at org.apache.axis2.description.OutInAxisOperationClient.send(
OutInAxisOperation.java:237)
>       at org.apache.axis2.description.OutInAxisOperationClient.execute(
OutInAxisOperation.java:202)
>       at
org.apache.tuscany.binding.axis2.Axis2TargetInvoker.invokeTarget(
Axis2TargetInvoker.java:77)
>       at org.apache.tuscany.spi.extension.TargetInvokerExtension.invoke(
TargetInvokerExtension.java:52)
>       at org.apache.tuscany.core.wire.InvokerInterceptor.invoke(
InvokerInterceptor.java:45)
>       at org.apache.tuscany.spi.wire.AbstractInvocationHandler.invoke(
AbstractInvocationHandler.java:91)
>       at
org.apache.tuscany.implementation.java.proxy.JDKInvocationHandler.invoke(
JDKInvocationHandler.java:150)
>       ... 29 more
> On my machine, this occurs every time when building from the root.  It
does not occur if I only build the binding-ws-axis2 module.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to