Friday, May 9, 2008

@AsyncWebService in BEA Weblogic

Had a nice chat with the bods on the BEA stand today amoungst other things I found out how to do the equivalent of the @AsyncWebService annotation that we have been working on in OC4J. Turns out it was just staring me in the face and that they just use different terminology. (Need to use the buffered and callback features)

So to compare this is our version:


@WebService
@AsyncWebService
public class StockQuote
{
   public float getStockQuote(String ticker)
   {
      return 100f;
   }
}

So the basic version for stock quote would look like:


@WebService(...)
@WLHttpTransport(...)
@BufferQueue(name="my.jms.queue")

public class StockQuote {


  @Callback
  private StockQuoteResponse _response;


  @WebMethod()
  @MessageBuffer(retryCount=10, retryDelay="10 seconds")
  @Oneway()

  public void getStockPrice(String ticker) {
    _response.getStockPriceResponse(100f);

  }
}

The downside is that at least based on the documentation I have is that you cannot do this with JAX-WS. This might be something they have fixed in the 10.3 build; but I haven't got my hands on this yet to take a look. I will drill down with the BEA people as we have contact to find out how this is resolved in 10.3.

No comments: