You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Ali Sadik Kumlali <as...@yahoo.com> on 2006/05/01 13:08:51 UTC
Re: [Axis2] SimpleHTTPServer port conflict for multiple EchoNonBlockingDualClient threads
Hi Deepal,
I'm currently running 1.0RC5 and still have the same problem.
May be, as you said, I need somehow to use ListenerManager. Could you
please tell me what to do?
Thanks,
Ali Sadik Kumlali
--- Deepal Jayasinghe <de...@opensource.lk> wrote:
> Hi Sadik;
>
> In the current code base we done a major improvements in our
> transport
> freamwork with the introduction of ListenerManager. So in the next
> release onword you wont have such a problem.
>
> Ali Sadik Kumlali wrote:
>
> > Dear all,
> >
> > I simply changed EchoNonBlockingDualClient sample to make it run as
> > threads and created two threads. First one successfully starts
> > SimpleHTTPServer on port 6060 and the second one gets an
> > "java.net.BindException: Address already in use: JVM_Bind" while
> > trying to start the server.
> >
> > Doesn't I have an option to listen all the responses for its
> dedicated
> > port? For example 6060 for first request, 6061 for the second, and
> so
> > on. Or, should i assume Axis2 to use the same port for the
> responses
> > of all the long running transactions?
> >
> > Thanks a lot for any help.
> >
> > Ali Sadik Kumlali
> >
> >
>
--------------------------------------------------------------------------------------------------
> > Error Message I Get
> >
>
--------------------------------------------------------------------------------------------------
> > testEchoNonBlockingDualClient:
> > [java] [CLIENT1] Outgoing message
> > [java] <example1:ec ho
> > xmlns:example1="http://example1.org/example1"><exampl
> > e1:Text>Axis2 Echo String </example1:Text></example1:echo>
> > [java] - Deploying module : addressing
> > [java] [CLIENT2] Outgoing message
> > [java] <example1:echo
> > xmlns:example1="http://example1.org/example1"><exampl
> > e1:Text>Axis2 Echo String </example1:Text></example1:echo>
> > [java] - Deploying module : addressing
> > [java] - java.net.BindException: Address already in use:
> JVM_Bind
> > [java] org.apache.axis2.AxisFault: Address already in use:
> > JVM_Bind; nested
> > exception is:
> > [java] java.net.BindException: Address already in use:
> JVM_Bind
> > [java] at
> > org.apache.axis2.transport.http.SimpleHTTPServer.start(Simple
> > HTTPServer.java:220)
> > [java] at
> > org.apache.axis2.client.ListenerManager.makeSureStarted(Liste
> > nerManager.java:73)
> >
> >
> >
>
--------------------------------------------------------------------------------------------------
> > Modified EchoNonBlockingDualClient.java
> >
>
--------------------------------------------------------------------------------------------------
> > public class EchoNonBlockingDualClient implements Runnable {
> > private static EndpointReference targetEPR = new
> EndpointReference(
> > "http://127.0.0.1:8080/axis2/services/MyService");
> >
> > private String name;
> >
> > public EchoNonBlockingDualClient(String name) {
> > this.name = name;
> > }
> >
> > publ ic OMElement getPayload() throws XMLStreamException,
> > FactoryConfigurationError {
> > OMElement payload = ClientUtil.getEchoOMElement();
> >
> > // Log the outgoing payload
> > StringWriter writer = new StringWriter();
> >
> >
>
payload.serialize(XMLOutputFactory.newInstance().createXMLStreamWriter(
> > writer));
> > writer.flush();
> > System.out.println("[" + name + "] Outgoing message\n"
> > + writer.toString());
> > return payload;
> > }
> >
> > public Options getOptions() {
> > & nbsp; Options options = new Options();
> > options.setTo(targetEPR);
> > options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
> > options.setUseSeparateListener(true);
> > return options;
> > }
> >
> > public void makeRequest() {
> > try {
> > OMElement payload = getPayload();
> > Options options = getOptions();
> >
> > // Callback to handle the response
> > Callback callback = new Callback() {
> > public void onComplete(AsyncResult result) {
> > try {
> > StringWriter writer = new StringWriter();
> > result.getResponseEnvelope().serialize(
> > XMLOutputFactory.newInstance()
> >
> .createXMLStreamWriter(writer));
> > writer.flush();
> > System.out.println("[" + name + "] Incoming
> > message\n"
> > + writer.toString());
> > try {
> > Thread.sleep(1000);
> > } catch (InterruptedException e) {
> > // TODO Auto-generated catch block
> > e.printStackTrace();
> > }
> >
> > } catch (XMLStreamException e) {
> > onError(e);
> > }
> > }
> >
> > public void onError(Exception e) {
> > e.printStackTrace();
> > }
> > };
> >
> > // Non-Blocking Invocation
> > ServiceClient sender = new ServiceClient();
> > sender.setOptions(options);
> > sender.sendReceiveNonblocking(payload, callback);
> >
> > // Wait till the callback receives the response.
> > while (!callback.isComplete()) {
> > System.out.println("[" + name
> > + "] I'm waiting for the response from the
> > server");
> > Thread.sleep(1000);
> > }
> > // Need to close the Client Side Listener.
> >
> > } catch (AxisFault axisFault) {
> > axisFault.printStackTrace();
> > } catch (Exception ex) {
> > ex.printStackTrace();
> > }
> > }
> >
> > public void run() {
> > makeRequest();
> > }
> >
> > private static final void wait(int ms) {
> > try {
> > Thread.sleep(ms);
> > } catch (InterruptedException e) {
> > // TODO Auto-generated catch block
> > e.printStackTrace();
> > }
> > }
> >
> > public static void main(String[] args) {
> > Thread client1 = new Thread(new
> > EchoNonBlockingDualClient("CLIENT1"));
> > client1.start();
> >
> > wait(1000);
> >
> > Thread client2 = new Thread(new
> > EchoNonBlockingDualClient("CLIENT2"));
> > client2.start();
> > }
> >
> > }
> >
> >
>
------------------------------------------------------------------------
> > Yahoo! Mail
> > Bring photos to life! New PhotoMail
> >
>
<http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=39174/*http://photomail.mail.yahoo.com>
> > makes sharing a breeze.
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam protection around
> > http://mail.yahoo.com
> >
>
> --
> Thanks,
> Deepal
> ................................................................
> ~Future is Open~
>
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com