> On Apr 10, 2015, at 3:45 PM, tho huynh ngoc <[email protected]> wrote: > > Hi Daniel, > > Please let me know how to tune the CXF' work queue ? what is the size of > queue in CXF (UDP transport) ?
Are you using code or spring config or OSGi or what? In code, you should be able to do something like: WorkQueueManager wqm = bus.getExtension(WorkQueueManager.class); AutomaticWorkQueueImpl wq = new AutomaticWorkQueueImpl(“udp-transport”); wq.setHighWaterMark(50); ///50 threads //any other settings here wqm.addNamedWorkQueue(“udp-transport”, wq); Do that before you startup any services. That will create a new work queue SPECIFICALLY for the udp transport to use. The udp transport looks for a queue named “udp-transport” and uses it if found. If not, it will use the default work queue. Thus, you could grab the DefaultWorkQueue from the WorkQueueManager and just call the setHighWatermark on it if you want. However, the default work queue is used for other use cases in CXF as well (one ways, some WS-RM and ws-addrressing things, async http, etc….) Thus, having the dedicated work queue might be best. The default is 25 threads and a queue depth of 256 outstanding things waiting to run on those threads. Lots of settings on the work queues: http://cxf.apache.org/javadoc/latest-3.0.x/index.html?org/apache/cxf/workqueue/AutomaticWorkQueueImpl.html (although not documented very well, or at all) Dan > > Regards, > Tho, > > 2015-04-10 19:54 GMT+02:00 Daniel Kulp <[email protected]>: > >> >>> On Apr 8, 2015, at 8:44 AM, tho huynh ngoc <[email protected]> >> wrote: >>> >>> Hi, >>> >>> I have developed a JAX-WS server with UDP transport. Supposing i have N >>> client. >>> >>> At the same time, the N client send n packet (the size of packet is M >>> bytes). >>> >>> My question: the maximum value of N is how many without packet loss? >>> >>> Thanks in advance for your response >> >> Would likely completely depend on the network, the speed of the machine, >> etc... I doubt you can get an solid number for "N". >> >> We use the mina NioDatagramAcceptor with an acceptor that just takes the >> datagram and then sticks the "work" onto a work queue to process and then >> goes back to listening. Thus, it should be fairly efficient. The default >> work queue uses 25 threads, but that can be tuned using CXF's work queue >> settings. >> >> -- >> Daniel Kulp >> [email protected] - http://dankulp.com/blog >> Talend Community Coder - http://coders.talend.com >> >> -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
