simpleweb-support Mailing List for Simple (Page 2)
Brought to you by:
niallg
You can subscribe to this list here.
2004 |
Jan
(1) |
Feb
(4) |
Mar
(2) |
Apr
(14) |
May
(22) |
Jun
(15) |
Jul
(9) |
Aug
(2) |
Sep
(7) |
Oct
(4) |
Nov
(2) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(7) |
Feb
(16) |
Mar
(17) |
Apr
|
May
(12) |
Jun
(4) |
Jul
(22) |
Aug
(50) |
Sep
(8) |
Oct
(23) |
Nov
(9) |
Dec
(50) |
2006 |
Jan
(6) |
Feb
(7) |
Mar
(8) |
Apr
(3) |
May
(13) |
Jun
(4) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
(6) |
Dec
(7) |
2007 |
Jan
(11) |
Feb
(3) |
Mar
(17) |
Apr
(21) |
May
(9) |
Jun
(4) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(8) |
Nov
(14) |
Dec
(3) |
2008 |
Jan
(3) |
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
(4) |
Aug
(4) |
Sep
(15) |
Oct
(9) |
Nov
(6) |
Dec
(2) |
2009 |
Jan
(29) |
Feb
(2) |
Mar
(8) |
Apr
(14) |
May
(4) |
Jun
(13) |
Jul
(5) |
Aug
|
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(7) |
2010 |
Jan
|
Feb
(2) |
Mar
(61) |
Apr
(9) |
May
(10) |
Jun
(9) |
Jul
(10) |
Aug
(7) |
Sep
(15) |
Oct
(5) |
Nov
(2) |
Dec
(3) |
2011 |
Jan
(11) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(4) |
Oct
|
Nov
(6) |
Dec
(9) |
2012 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
(3) |
May
(2) |
Jun
|
Jul
(17) |
Aug
|
Sep
|
Oct
|
Nov
(10) |
Dec
(5) |
2013 |
Jan
(2) |
Feb
(4) |
Mar
|
Apr
(12) |
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(1) |
2014 |
Jan
|
Feb
(2) |
Mar
(6) |
Apr
|
May
|
Jun
(20) |
Jul
(12) |
Aug
(4) |
Sep
(3) |
Oct
(5) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Niall G. <gal...@ya...> - 2014-07-19 02:57:47
|
It is fully supported in the server, don't know why you would bother though...why not use multipart? Same thing really. -------------------------------------------- On Fri, 18/7/14, Andrew Barlow <and...@sd...> wrote: Subject: [Simpleweb-Support] Chunked uploads To: sim...@li... Received: Friday, 18 July, 2014, 3:27 AM A long time - and happy - user of Simple, I wondered if anyone had looked at support for chunked uploads? Regards, Andy Barlow ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |
From: Steve K. <st...@ta...> - 2014-07-18 20:12:37
|
main = putStrLn "So long Rui, and good luck!" *From:* -=}\*/{=- [mailto:rui...@gm...] *Sent:* Thursday, July 17, 2014 8:00 PM *To:* Simple support and user issues *Subject:* [Simpleweb-Support] leaving the list... hi all, i have moved to haskell... can't code in java anymore. so i'm leaving simple web/xml mailing list. thank you all and best wishes, []r. |
From: Andrew B. <and...@sd...> - 2014-07-18 10:58:09
|
A long time - and happy - user of Simple, I wondered if anyone had looked at support for chunked uploads? Regards, Andy Barlow |
From: -=}\\*/{=- <rui...@gm...> - 2014-07-18 03:00:03
|
hi all, i have moved to haskell... can't code in java anymore. so i'm leaving simple web/xml mailing list. thank you all and best wishes, []r. |
From: Niall G. <gal...@ya...> - 2014-06-20 09:37:55
|
No problem. One of the key problems with the success (or lack of success/popularity) or this project is that there are no good examples or templates. I will ensure to include many comprehensive standalone examples on the next release, including asynchronous request/response and websockets. This should make things much easier to understand and will enable users to get started with something that actually works. -------------------------------------------- On Fri, 20/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Friday, 20 June, 2014, 1:50 AM Hey thanks a lot for your time. It's much appreciated. On Jun 19, 2014 10:17 PM, "Niall Gallagher" <gal...@ya...> wrote: The current version works with that. This actually has more to do with understanding threading, its really very easy to get Simple working on such a scale. If you have past experience with Servlets it will confuse you. Think of a Response as a pointer to logic that can create and dispatch a response. For example public class X implements Container { private Set<Response> responses; public Set<Response getResponses(){ return responses; } public void handle(Request request, Response response) { responses.add(response); } } Tell me why 200,000 responses can not be added to the responses set?? Also tell me why 1 thread cant call X.getResponses and perform some arbitrary logic on it? Then call Response.close() and send the response to the client at any arbitrary time? -------------------------------------------- On Thu, 19/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Thursday, 19 June, 2014, 3:43 AM Do you mean you need WebSockets to handle 200,000 long polling requests with 8 threads? Does the current version of Simple not do that? I'm not sure I'm following. On Wed, Jun 18, 2014 at 10:12 PM, Niall Gallagher <gal...@ya...> wrote: I should be releasing WebSockets within a week or two, I will ensure to include plenty of examples when I do. -------------------------------------------- On Mon, 16/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Monday, 16 June, 2014, 4:58 AM Hi Niall, can you point me to some code that you might use for such long polling requests? Perhaps I'm missing something, and doing something in my code I shouldn't be. On Sun, Jun 15, 2014 at 9:11 PM, Niall Gallagher <gal...@ya...> wrote: No this is not correct, I can service 200,000 long polling requests with 8 theads. -------------------------------------------- On Fri, 13/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Friday, 13 June, 2014, 2:40 AM I see that there are exactly 8 servicing threads for requests by default, in the pool. If I don't use an Executor, and I get 8 requests that are long-running, or blocking, then any other requests that come in must wait to be serviced. On Thu, Jun 12, 2014 at 12:30 PM, Niall Gallagher <gal...@ya...> wrote: Then dont use an Executer, put the Request and Response in a hashmap and send the reply whenever you want. Its fully asynchronous already... -------------------------------------------- On Thu, 12/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Thursday, 12 June, 2014, 9:21 AM Thanks everyone for your responses, but perhaps I wasn't very clear in my original message. I am simply trying to implement a Container that does not create a new thread for every request that requires an asynchronous response. In the Asynchronous services example I quoted in the original post, a java.util.concurrent.Executor is used, and that does create a new thread for each request. I can't see an obvious way to use a single separate thread and NIO in this case. On Wed, Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> wrote: On 12/06/14 14:06, Niall Gallagher wrote: > I have also implemented WebSockets for Simple, ill release it within a few months when I get some time. That would be cool :) Simple is integrated into milton.io (webdav server framework) and while most people use milton with servlets there are always some using the simple integration, particularly for embedded webdav servers. And push notifications are coming to webdav where websockets will be the main transport mechanism. ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |
From: Luis A. <lan...@gm...> - 2014-06-20 08:50:58
|
Hey thanks a lot for your time. It's much appreciated. On Jun 19, 2014 10:17 PM, "Niall Gallagher" <gal...@ya...> wrote: > The current version works with that. This actually has more to do with > understanding threading, its really very easy to get Simple working on such > a scale. If you have past experience with Servlets it will confuse you. > Think of a Response as a pointer to logic that can create and dispatch a > response. > > For example > > public class X implements Container { > private Set<Response> responses; > public Set<Response getResponses(){ > return responses; > } > public void handle(Request request, Response response) { > responses.add(response); > } > } > > Tell me why 200,000 responses can not be added to the responses set?? Also > tell me why 1 thread cant call X.getResponses and perform some arbitrary > logic on it? Then call Response.close() and send the response to the client > at any arbitrary time? > > -------------------------------------------- > On Thu, 19/6/14, Luis Antunes <lan...@gm...> wrote: > > Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service > To: "Simple support and user issues" < > sim...@li...> > Received: Thursday, 19 June, 2014, 3:43 AM > > Do you mean you need > WebSockets to handle 200,000 long polling requests with 8 > threads? Does the current version of Simple not do that? > I'm not sure I'm following. > > > On Wed, Jun 18, 2014 > at 10:12 PM, Niall Gallagher <gal...@ya...> > wrote: > > I should be releasing WebSockets within a week or two, I > will ensure to include plenty of examples when I do. > > > > -------------------------------------------- > > On Mon, 16/6/14, Luis Antunes > <lan...@gm...> > wrote: > > > > Subject: Re: [Simpleweb-Support] Non Executor-based > Asynchronous Service > > To: "Simple support and user issues" < > sim...@li...> > > Received: Monday, 16 June, 2014, 4:58 AM > > > > Hi Niall, > > can you point me to some code that you might use for such > > long polling requests? Perhaps I'm missing something, > > and doing something in my code I shouldn't be. > > > > > > On Sun, Jun 15, 2014 at > > 9:11 PM, Niall Gallagher <gal...@ya...> > > wrote: > > > > No this is not correct, I can service 200,000 long > polling > > requests with 8 theads. > > > > -------------------------------------------- > > > > On Fri, 13/6/14, Luis Antunes > > <lan...@gm...> > > wrote: > > > > > > > > Subject: Re: [Simpleweb-Support] Non Executor-based > > Asynchronous Service > > > > To: "Simple support and user issues" < > sim...@li...> > > > > Received: Friday, 13 June, 2014, 2:40 AM > > > > > > > > I see that > > > > there are exactly 8 servicing threads for requests by > > > > default, in the pool. If I don't use an Executor, > and > > I > > > > get 8 requests that are long-running, or blocking, then > > any > > > > other requests that come in must wait to be > > > > serviced. > > > > > > > > > > > > On Thu, > > > > Jun 12, 2014 at 12:30 PM, Niall Gallagher <gal...@ya...> > > > > wrote: > > > > > > > > Then > > > > dont use an Executer, put the Request and Response in a > > > > hashmap and send the reply whenever you want. Its fully > > > > asynchronous already... > > > > > > > > > > > > > > > > > > > > -------------------------------------------- > > > > > > > > On Thu, 12/6/14, Luis Antunes > > > > <lan...@gm...> > > > > wrote: > > > > > > > > > > > > > > > > Subject: Re: [Simpleweb-Support] Non Executor-based > > > > Asynchronous Service > > > > > > > > To: "Simple support and user issues" < > sim...@li...> > > > > > > > > Received: Thursday, 12 June, 2014, 9:21 AM > > > > > > > > > > > > > > > > Thanks > > > > > > > > everyone for your responses, but perhaps I wasn't > > > > very > > > > > > > > clear in my original message. I am simply trying to > > > > > > > > implement a Container that does not create a new > > thread > > > > for > > > > > > > > every request that requires an asynchronous response. > > In > > > > the > > > > > > > > Asynchronous services example I quoted in the > > original > > > > post, > > > > > > > > a java.util.concurrent.Executor is used, and that > > does > > > > > > > > create a new thread for each request. I can't see > > > > an > > > > > > > > obvious way to use a single separate thread and NIO > > in > > > > this > > > > > > > > case. > > > > > > > > > > > > > > > > > > > > > > > > On Wed, > > > > > > > > Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 12/06/14 14:06, Niall Gallagher wrote: > > > > > > > > > > > > > > > > > I have also implemented WebSockets for Simple, > > ill > > > > > > > > release it within a few months when I get some time. > > > > > > > > > > > > > > > > That would be cool :) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Simple is integrated into milton.io > > > > > > > > (webdav server framework) and while > > > > > > > > > > > > > > > > most people use milton with servlets there are always > > > > some > > > > > > > > using the > > > > > > > > > > > > > > > > simple integration, particularly for embedded webdav > > > > > > > > servers. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > And push notifications are coming to webdav where > > > > websockets > > > > > > > > will be the > > > > > > > > > > > > > > > > main transport mechanism. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > > > > > > > > > HPCC Systems Open Source Big Data Platform from > > > > LexisNexis > > > > > > > > Risk Solutions > > > > > > > > > > > > > > > > Find What Matters Most in Your Big Data with HPCC > > > > Systems > > > > > > > > > > > > > > > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > > > > > > > > Data. > > > > > > > > > > > > > > > > Leverages Graph Analysis for Fast Processing & > > Easy > > > > Data > > > > > > > > Exploration > > > > > > > > > > > > > > > > http://p.sf.net/sfu/hpccsystems > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > > > > Simpleweb-Support mailing list > > > > > > > > > > > > > > > > Sim...@li... > > > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Inline Attachment Follows----- > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > HPCC Systems Open Source Big Data Platform from > > > > > > > > LexisNexis Risk Solutions > > > > > > > > Find What Matters > > > > > > > > Most in Your Big Data with HPCC Systems > > > > > > > > Open > > > > > > > > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > > > > > > > > Leverages Graph Analysis for Fast Processing > > > > > > > > & Easy Data Exploration > > > > > > > > http://p.sf.net/sfu/hpccsystems > > > > > > > > -----Inline Attachment Follows----- > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > Simpleweb-Support mailing list > > > > > > > > Sim...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > HPCC Systems Open Source Big Data Platform from > > LexisNexis > > > > Risk Solutions > > > > > > > > Find What Matters Most in Your Big Data with HPCC > > Systems > > > > > > > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > > > > Data. > > > > > > > > Leverages Graph Analysis for Fast Processing & Easy > > Data > > > > Exploration > > > > > > > > http://p.sf.net/sfu/hpccsystems > > > > > > > > _______________________________________________ > > > > > > > > Simpleweb-Support mailing list > > > > > > > > Sim...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > > > > > > > > > -----Inline Attachment Follows----- > > > > > > > > > ------------------------------------------------------------------------------ > > > > HPCC Systems Open Source Big Data Platform from > > > > LexisNexis Risk Solutions > > > > Find What Matters > > > > Most in Your Big Data with HPCC Systems > > > > Open > > > > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > > > > Leverages Graph Analysis for Fast Processing > > > > & Easy Data Exploration > > > > http://p.sf.net/sfu/hpccsystems > > > > -----Inline Attachment Follows----- > > > > > > > > _______________________________________________ > > > > Simpleweb-Support mailing list > > > > Sim...@li... > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > HPCC Systems Open Source Big Data Platform from > LexisNexis > > Risk Solutions > > > > Find What Matters Most in Your Big Data with HPCC Systems > > > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > > Data. > > > > Leverages Graph Analysis for Fast Processing & Easy > Data > > Exploration > > > > http://p.sf.net/sfu/hpccsystems > > > > _______________________________________________ > > > > Simpleweb-Support mailing list > > > > Sim...@li... > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > -----Inline Attachment Follows----- > > > > > ------------------------------------------------------------------------------ > > HPCC Systems Open Source Big Data Platform from > > LexisNexis Risk Solutions > > Find What Matters > > Most in Your Big Data with HPCC Systems > > Open > > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > > Leverages Graph Analysis for Fast Processing > > & Easy Data Exploration > > http://p.sf.net/sfu/hpccsystems > > -----Inline Attachment Follows----- > > > > _______________________________________________ > > Simpleweb-Support mailing list > > Sim...@li... > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > ------------------------------------------------------------------------------ > > HPCC Systems Open Source Big Data Platform from LexisNexis > Risk Solutions > > Find What Matters Most in Your Big Data with HPCC Systems > > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > > Leverages Graph Analysis for Fast Processing & Easy Data > Exploration > > http://p.sf.net/sfu/hpccsystems > > _______________________________________________ > > Simpleweb-Support mailing list > > Sim...@li... > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > -----Inline Attachment Follows----- > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis > Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data > Exploration > http://p.sf.net/sfu/hpccsystems > -----Inline Attachment Follows----- > > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > |
From: Niall G. <gal...@ya...> - 2014-06-20 02:16:55
|
The current version works with that. This actually has more to do with understanding threading, its really very easy to get Simple working on such a scale. If you have past experience with Servlets it will confuse you. Think of a Response as a pointer to logic that can create and dispatch a response. For example public class X implements Container { private Set<Response> responses; public Set<Response getResponses(){ return responses; } public void handle(Request request, Response response) { responses.add(response); } } Tell me why 200,000 responses can not be added to the responses set?? Also tell me why 1 thread cant call X.getResponses and perform some arbitrary logic on it? Then call Response.close() and send the response to the client at any arbitrary time? -------------------------------------------- On Thu, 19/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Thursday, 19 June, 2014, 3:43 AM Do you mean you need WebSockets to handle 200,000 long polling requests with 8 threads? Does the current version of Simple not do that? I'm not sure I'm following. On Wed, Jun 18, 2014 at 10:12 PM, Niall Gallagher <gal...@ya...> wrote: I should be releasing WebSockets within a week or two, I will ensure to include plenty of examples when I do. -------------------------------------------- On Mon, 16/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Monday, 16 June, 2014, 4:58 AM Hi Niall, can you point me to some code that you might use for such long polling requests? Perhaps I'm missing something, and doing something in my code I shouldn't be. On Sun, Jun 15, 2014 at 9:11 PM, Niall Gallagher <gal...@ya...> wrote: No this is not correct, I can service 200,000 long polling requests with 8 theads. -------------------------------------------- On Fri, 13/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Friday, 13 June, 2014, 2:40 AM I see that there are exactly 8 servicing threads for requests by default, in the pool. If I don't use an Executor, and I get 8 requests that are long-running, or blocking, then any other requests that come in must wait to be serviced. On Thu, Jun 12, 2014 at 12:30 PM, Niall Gallagher <gal...@ya...> wrote: Then dont use an Executer, put the Request and Response in a hashmap and send the reply whenever you want. Its fully asynchronous already... -------------------------------------------- On Thu, 12/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Thursday, 12 June, 2014, 9:21 AM Thanks everyone for your responses, but perhaps I wasn't very clear in my original message. I am simply trying to implement a Container that does not create a new thread for every request that requires an asynchronous response. In the Asynchronous services example I quoted in the original post, a java.util.concurrent.Executor is used, and that does create a new thread for each request. I can't see an obvious way to use a single separate thread and NIO in this case. On Wed, Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> wrote: On 12/06/14 14:06, Niall Gallagher wrote: > I have also implemented WebSockets for Simple, ill release it within a few months when I get some time. That would be cool :) Simple is integrated into milton.io (webdav server framework) and while most people use milton with servlets there are always some using the simple integration, particularly for embedded webdav servers. And push notifications are coming to webdav where websockets will be the main transport mechanism. ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |
From: Luis A. <lan...@gm...> - 2014-06-19 10:43:44
|
Do you mean you need WebSockets to handle 200,000 long polling requests with 8 threads? Does the current version of Simple not do that? I'm not sure I'm following. On Wed, Jun 18, 2014 at 10:12 PM, Niall Gallagher <gal...@ya... > wrote: > I should be releasing WebSockets within a week or two, I will ensure to > include plenty of examples when I do. > > -------------------------------------------- > On Mon, 16/6/14, Luis Antunes <lan...@gm...> wrote: > > Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service > To: "Simple support and user issues" < > sim...@li...> > Received: Monday, 16 June, 2014, 4:58 AM > > Hi Niall, > can you point me to some code that you might use for such > long polling requests? Perhaps I'm missing something, > and doing something in my code I shouldn't be. > > > On Sun, Jun 15, 2014 at > 9:11 PM, Niall Gallagher <gal...@ya...> > wrote: > > No this is not correct, I can service 200,000 long polling > requests with 8 theads. > > -------------------------------------------- > > On Fri, 13/6/14, Luis Antunes > <lan...@gm...> > wrote: > > > > Subject: Re: [Simpleweb-Support] Non Executor-based > Asynchronous Service > > To: "Simple support and user issues" < > sim...@li...> > > Received: Friday, 13 June, 2014, 2:40 AM > > > > I see that > > there are exactly 8 servicing threads for requests by > > default, in the pool. If I don't use an Executor, and > I > > get 8 requests that are long-running, or blocking, then > any > > other requests that come in must wait to be > > serviced. > > > > > > On Thu, > > Jun 12, 2014 at 12:30 PM, Niall Gallagher <gal...@ya...> > > wrote: > > > > Then > > dont use an Executer, put the Request and Response in a > > hashmap and send the reply whenever you want. Its fully > > asynchronous already... > > > > > > > > > > -------------------------------------------- > > > > On Thu, 12/6/14, Luis Antunes > > <lan...@gm...> > > wrote: > > > > > > > > Subject: Re: [Simpleweb-Support] Non Executor-based > > Asynchronous Service > > > > To: "Simple support and user issues" < > sim...@li...> > > > > Received: Thursday, 12 June, 2014, 9:21 AM > > > > > > > > Thanks > > > > everyone for your responses, but perhaps I wasn't > > very > > > > clear in my original message. I am simply trying to > > > > implement a Container that does not create a new > thread > > for > > > > every request that requires an asynchronous response. > In > > the > > > > Asynchronous services example I quoted in the > original > > post, > > > > a java.util.concurrent.Executor is used, and that > does > > > > create a new thread for each request. I can't see > > an > > > > obvious way to use a single separate thread and NIO > in > > this > > > > case. > > > > > > > > > > > > On Wed, > > > > Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> > > > > wrote: > > > > > > > > > > > > > > > > On 12/06/14 14:06, Niall Gallagher wrote: > > > > > > > > > I have also implemented WebSockets for Simple, > ill > > > > release it within a few months when I get some time. > > > > > > > > That would be cool :) > > > > > > > > > > > > > > > > Simple is integrated into milton.io > > > > (webdav server framework) and while > > > > > > > > most people use milton with servlets there are always > > some > > > > using the > > > > > > > > simple integration, particularly for embedded webdav > > > > servers. > > > > > > > > > > > > > > > > And push notifications are coming to webdav where > > websockets > > > > will be the > > > > > > > > main transport mechanism. > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > HPCC Systems Open Source Big Data Platform from > > LexisNexis > > > > Risk Solutions > > > > > > > > Find What Matters Most in Your Big Data with HPCC > > Systems > > > > > > > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > > > > Data. > > > > > > > > Leverages Graph Analysis for Fast Processing & > Easy > > Data > > > > Exploration > > > > > > > > http://p.sf.net/sfu/hpccsystems > > > > > > > > _______________________________________________ > > > > > > > > Simpleweb-Support mailing list > > > > > > > > Sim...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > > > > > > > > > -----Inline Attachment Follows----- > > > > > > > > > ------------------------------------------------------------------------------ > > > > HPCC Systems Open Source Big Data Platform from > > > > LexisNexis Risk Solutions > > > > Find What Matters > > > > Most in Your Big Data with HPCC Systems > > > > Open > > > > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > > > > Leverages Graph Analysis for Fast Processing > > > > & Easy Data Exploration > > > > http://p.sf.net/sfu/hpccsystems > > > > -----Inline Attachment Follows----- > > > > > > > > _______________________________________________ > > > > Simpleweb-Support mailing list > > > > Sim...@li... > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > HPCC Systems Open Source Big Data Platform from > LexisNexis > > Risk Solutions > > > > Find What Matters Most in Your Big Data with HPCC > Systems > > > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > > Data. > > > > Leverages Graph Analysis for Fast Processing & Easy > Data > > Exploration > > > > http://p.sf.net/sfu/hpccsystems > > > > _______________________________________________ > > > > Simpleweb-Support mailing list > > > > Sim...@li... > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > -----Inline Attachment Follows----- > > > > > ------------------------------------------------------------------------------ > > HPCC Systems Open Source Big Data Platform from > > LexisNexis Risk Solutions > > Find What Matters > > Most in Your Big Data with HPCC Systems > > Open > > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > > Leverages Graph Analysis for Fast Processing > > & Easy Data Exploration > > http://p.sf.net/sfu/hpccsystems > > -----Inline Attachment Follows----- > > > > _______________________________________________ > > Simpleweb-Support mailing list > > Sim...@li... > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > ------------------------------------------------------------------------------ > > HPCC Systems Open Source Big Data Platform from LexisNexis > Risk Solutions > > Find What Matters Most in Your Big Data with HPCC Systems > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > Data. > > Leverages Graph Analysis for Fast Processing & Easy Data > Exploration > > http://p.sf.net/sfu/hpccsystems > > _______________________________________________ > > Simpleweb-Support mailing list > > Sim...@li... > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > -----Inline Attachment Follows----- > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from > LexisNexis Risk Solutions > Find What Matters > Most in Your Big Data with HPCC Systems > Open > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing > & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > -----Inline Attachment Follows----- > > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > |
From: Niall G. <gal...@ya...> - 2014-06-19 02:12:57
|
I should be releasing WebSockets within a week or two, I will ensure to include plenty of examples when I do. -------------------------------------------- On Mon, 16/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Monday, 16 June, 2014, 4:58 AM Hi Niall, can you point me to some code that you might use for such long polling requests? Perhaps I'm missing something, and doing something in my code I shouldn't be. On Sun, Jun 15, 2014 at 9:11 PM, Niall Gallagher <gal...@ya...> wrote: No this is not correct, I can service 200,000 long polling requests with 8 theads. -------------------------------------------- On Fri, 13/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Friday, 13 June, 2014, 2:40 AM I see that there are exactly 8 servicing threads for requests by default, in the pool. If I don't use an Executor, and I get 8 requests that are long-running, or blocking, then any other requests that come in must wait to be serviced. On Thu, Jun 12, 2014 at 12:30 PM, Niall Gallagher <gal...@ya...> wrote: Then dont use an Executer, put the Request and Response in a hashmap and send the reply whenever you want. Its fully asynchronous already... -------------------------------------------- On Thu, 12/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Thursday, 12 June, 2014, 9:21 AM Thanks everyone for your responses, but perhaps I wasn't very clear in my original message. I am simply trying to implement a Container that does not create a new thread for every request that requires an asynchronous response. In the Asynchronous services example I quoted in the original post, a java.util.concurrent.Executor is used, and that does create a new thread for each request. I can't see an obvious way to use a single separate thread and NIO in this case. On Wed, Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> wrote: On 12/06/14 14:06, Niall Gallagher wrote: > I have also implemented WebSockets for Simple, ill release it within a few months when I get some time. That would be cool :) Simple is integrated into milton.io (webdav server framework) and while most people use milton with servlets there are always some using the simple integration, particularly for embedded webdav servers. And push notifications are coming to webdav where websockets will be the main transport mechanism. ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |
From: Luis A. <lan...@gm...> - 2014-06-16 11:58:35
|
Hi Niall, can you point me to some code that you might use for such long polling requests? Perhaps I'm missing something, and doing something in my code I shouldn't be. On Sun, Jun 15, 2014 at 9:11 PM, Niall Gallagher <gal...@ya...> wrote: > No this is not correct, I can service 200,000 long polling requests with 8 > theads. > -------------------------------------------- > On Fri, 13/6/14, Luis Antunes <lan...@gm...> wrote: > > Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service > To: "Simple support and user issues" < > sim...@li...> > Received: Friday, 13 June, 2014, 2:40 AM > > I see that > there are exactly 8 servicing threads for requests by > default, in the pool. If I don't use an Executor, and I > get 8 requests that are long-running, or blocking, then any > other requests that come in must wait to be > serviced. > > > On Thu, > Jun 12, 2014 at 12:30 PM, Niall Gallagher <gal...@ya...> > wrote: > > Then > dont use an Executer, put the Request and Response in a > hashmap and send the reply whenever you want. Its fully > asynchronous already... > > > > > -------------------------------------------- > > On Thu, 12/6/14, Luis Antunes > <lan...@gm...> > wrote: > > > > Subject: Re: [Simpleweb-Support] Non Executor-based > Asynchronous Service > > To: "Simple support and user issues" < > sim...@li...> > > Received: Thursday, 12 June, 2014, 9:21 AM > > > > Thanks > > everyone for your responses, but perhaps I wasn't > very > > clear in my original message. I am simply trying to > > implement a Container that does not create a new thread > for > > every request that requires an asynchronous response. In > the > > Asynchronous services example I quoted in the original > post, > > a java.util.concurrent.Executor is used, and that does > > create a new thread for each request. I can't see > an > > obvious way to use a single separate thread and NIO in > this > > case. > > > > > > On Wed, > > Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> > > wrote: > > > > > > > > On 12/06/14 14:06, Niall Gallagher wrote: > > > > > I have also implemented WebSockets for Simple, ill > > release it within a few months when I get some time. > > > > That would be cool :) > > > > > > > > Simple is integrated into milton.io > > (webdav server framework) and while > > > > most people use milton with servlets there are always > some > > using the > > > > simple integration, particularly for embedded webdav > > servers. > > > > > > > > And push notifications are coming to webdav where > websockets > > will be the > > > > main transport mechanism. > > > > > > > > > ------------------------------------------------------------------------------ > > > > HPCC Systems Open Source Big Data Platform from > LexisNexis > > Risk Solutions > > > > Find What Matters Most in Your Big Data with HPCC > Systems > > > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > > Data. > > > > Leverages Graph Analysis for Fast Processing & Easy > Data > > Exploration > > > > http://p.sf.net/sfu/hpccsystems > > > > _______________________________________________ > > > > Simpleweb-Support mailing list > > > > Sim...@li... > > > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > > -----Inline Attachment Follows----- > > > > > ------------------------------------------------------------------------------ > > HPCC Systems Open Source Big Data Platform from > > LexisNexis Risk Solutions > > Find What Matters > > Most in Your Big Data with HPCC Systems > > Open > > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > > Leverages Graph Analysis for Fast Processing > > & Easy Data Exploration > > http://p.sf.net/sfu/hpccsystems > > -----Inline Attachment Follows----- > > > > _______________________________________________ > > Simpleweb-Support mailing list > > Sim...@li... > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > > > > ------------------------------------------------------------------------------ > > HPCC Systems Open Source Big Data Platform from LexisNexis > Risk Solutions > > Find What Matters Most in Your Big Data with HPCC Systems > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > Data. > > Leverages Graph Analysis for Fast Processing & Easy Data > Exploration > > http://p.sf.net/sfu/hpccsystems > > _______________________________________________ > > Simpleweb-Support mailing list > > Sim...@li... > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > -----Inline Attachment Follows----- > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from > LexisNexis Risk Solutions > Find What Matters > Most in Your Big Data with HPCC Systems > Open > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing > & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > -----Inline Attachment Follows----- > > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > |
From: Niall G. <gal...@ya...> - 2014-06-16 01:14:55
|
No this is not correct, I can service 200,000 long polling requests with 8 theads. -------------------------------------------- On Fri, 13/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Friday, 13 June, 2014, 2:40 AM I see that there are exactly 8 servicing threads for requests by default, in the pool. If I don't use an Executor, and I get 8 requests that are long-running, or blocking, then any other requests that come in must wait to be serviced. On Thu, Jun 12, 2014 at 12:30 PM, Niall Gallagher <gal...@ya...> wrote: Then dont use an Executer, put the Request and Response in a hashmap and send the reply whenever you want. Its fully asynchronous already... -------------------------------------------- On Thu, 12/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Thursday, 12 June, 2014, 9:21 AM Thanks everyone for your responses, but perhaps I wasn't very clear in my original message. I am simply trying to implement a Container that does not create a new thread for every request that requires an asynchronous response. In the Asynchronous services example I quoted in the original post, a java.util.concurrent.Executor is used, and that does create a new thread for each request. I can't see an obvious way to use a single separate thread and NIO in this case. On Wed, Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> wrote: On 12/06/14 14:06, Niall Gallagher wrote: > I have also implemented WebSockets for Simple, ill release it within a few months when I get some time. That would be cool :) Simple is integrated into milton.io (webdav server framework) and while most people use milton with servlets there are always some using the simple integration, particularly for embedded webdav servers. And push notifications are coming to webdav where websockets will be the main transport mechanism. ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |
From: Kai S. <sch...@gm...> - 2014-06-14 00:22:38
|
hrrm... Simple is a framework, not a toolbox or library. Don't abstract away from Simple, rather go deeper. What you're looking for exists! Download the source, read the docs. If something doesn't do what you want it to, replace it, inherit it's classes and implement them differently. It's open source, have at it, share your results if you can! --- I see that there are exactly 8 servicing threads for requests by default, in the pool. If I don't use an Executor, and I get 8 requests that are long-running, or blocking, then any other requests that come in must wait to be serviced. That's true, and I lied in my first reply... Simple does allocate a certain number of threads, but their number is always fixed to waaaaay below max capacity, like for example 8. Those 8 threads are about as much your concern as the 8 threads running in the kernel of your 16 processor server, that are idling cause they have no memory to clean up. So. If you have request coming onto Simple that will block a certain resource forever (like an infinite loop, or a faulty hardware device), then make sure your server knows how to kill it. Simple isn't your server. It's just a high level interface to the bits that come at your real physical computer, and allows you, at a high level to tell that real physical computer to send bits back. It's up to you to programme something that takes inputs from Simple, manages it and it's failures, and then spits it back out to the client side. -k ---- PS @Niall: I'd love to test drive WebSockets for you. please let us know when and where :) On Fri, Jun 13, 2014 at 10:40 AM, Luis Antunes <lan...@gm...> wrote: > I see that there are exactly 8 servicing threads for requests by default, > in the pool. If I don't use an Executor, and I get 8 requests that are > long-running, or blocking, then any other requests that come in must wait > to be serviced. > > > On Thu, Jun 12, 2014 at 12:30 PM, Niall Gallagher < > gal...@ya...> wrote: > >> Then dont use an Executer, put the Request and Response in a hashmap and >> send the reply whenever you want. Its fully asynchronous already... >> >> -------------------------------------------- >> On Thu, 12/6/14, Luis Antunes <lan...@gm...> wrote: >> >> Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service >> To: "Simple support and user issues" < >> sim...@li...> >> Received: Thursday, 12 June, 2014, 9:21 AM >> >> >> Thanks >> everyone for your responses, but perhaps I wasn't very >> clear in my original message. I am simply trying to >> implement a Container that does not create a new thread for >> every request that requires an asynchronous response. In the >> Asynchronous services example I quoted in the original post, >> a java.util.concurrent.Executor is used, and that does >> create a new thread for each request. I can't see an >> obvious way to use a single separate thread and NIO in this >> case. >> >> >> On Wed, >> Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> >> wrote: >> >> >> >> On 12/06/14 14:06, Niall Gallagher wrote: >> >> > I have also implemented WebSockets for Simple, ill >> release it within a few months when I get some time. >> >> That would be cool :) >> >> >> >> Simple is integrated into milton.io >> (webdav server framework) and while >> >> most people use milton with servlets there are always some >> using the >> >> simple integration, particularly for embedded webdav >> servers. >> >> >> >> And push notifications are coming to webdav where websockets >> will be the >> >> main transport mechanism. >> >> >> >> >> ------------------------------------------------------------------------------ >> >> HPCC Systems Open Source Big Data Platform from LexisNexis >> Risk Solutions >> >> Find What Matters Most in Your Big Data with HPCC Systems >> >> Open Source. Fast. Scalable. Simple. Ideal for Dirty >> Data. >> >> Leverages Graph Analysis for Fast Processing & Easy Data >> Exploration >> >> http://p.sf.net/sfu/hpccsystems >> >> _______________________________________________ >> >> Simpleweb-Support mailing list >> >> Sim...@li... >> >> https://lists.sourceforge.net/lists/listinfo/simpleweb-support >> >> >> >> -----Inline Attachment Follows----- >> >> >> >> ------------------------------------------------------------------------------ >> HPCC Systems Open Source Big Data Platform from >> LexisNexis Risk Solutions >> Find What Matters >> Most in Your Big Data with HPCC Systems >> Open >> Source. Fast. Scalable. Simple. Ideal for Dirty Data. >> Leverages Graph Analysis for Fast Processing >> & Easy Data Exploration >> http://p.sf.net/sfu/hpccsystems >> -----Inline Attachment Follows----- >> >> >> _______________________________________________ >> Simpleweb-Support mailing list >> Sim...@li... >> https://lists.sourceforge.net/lists/listinfo/simpleweb-support >> >> >> >> ------------------------------------------------------------------------------ >> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions >> Find What Matters Most in Your Big Data with HPCC Systems >> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. >> Leverages Graph Analysis for Fast Processing & Easy Data Exploration >> http://p.sf.net/sfu/hpccsystems >> _______________________________________________ >> Simpleweb-Support mailing list >> Sim...@li... >> https://lists.sourceforge.net/lists/listinfo/simpleweb-support >> > > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > |
From: Luis A. <lan...@gm...> - 2014-06-13 09:40:54
|
I see that there are exactly 8 servicing threads for requests by default, in the pool. If I don't use an Executor, and I get 8 requests that are long-running, or blocking, then any other requests that come in must wait to be serviced. On Thu, Jun 12, 2014 at 12:30 PM, Niall Gallagher <gal...@ya... > wrote: > Then dont use an Executer, put the Request and Response in a hashmap and > send the reply whenever you want. Its fully asynchronous already... > > -------------------------------------------- > On Thu, 12/6/14, Luis Antunes <lan...@gm...> wrote: > > Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service > To: "Simple support and user issues" < > sim...@li...> > Received: Thursday, 12 June, 2014, 9:21 AM > > Thanks > everyone for your responses, but perhaps I wasn't very > clear in my original message. I am simply trying to > implement a Container that does not create a new thread for > every request that requires an asynchronous response. In the > Asynchronous services example I quoted in the original post, > a java.util.concurrent.Executor is used, and that does > create a new thread for each request. I can't see an > obvious way to use a single separate thread and NIO in this > case. > > > On Wed, > Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> > wrote: > > > > On 12/06/14 14:06, Niall Gallagher wrote: > > > I have also implemented WebSockets for Simple, ill > release it within a few months when I get some time. > > That would be cool :) > > > > Simple is integrated into milton.io > (webdav server framework) and while > > most people use milton with servlets there are always some > using the > > simple integration, particularly for embedded webdav > servers. > > > > And push notifications are coming to webdav where websockets > will be the > > main transport mechanism. > > > > > ------------------------------------------------------------------------------ > > HPCC Systems Open Source Big Data Platform from LexisNexis > Risk Solutions > > Find What Matters Most in Your Big Data with HPCC Systems > > Open Source. Fast. Scalable. Simple. Ideal for Dirty > Data. > > Leverages Graph Analysis for Fast Processing & Easy Data > Exploration > > http://p.sf.net/sfu/hpccsystems > > _______________________________________________ > > Simpleweb-Support mailing list > > Sim...@li... > > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > -----Inline Attachment Follows----- > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from > LexisNexis Risk Solutions > Find What Matters > Most in Your Big Data with HPCC Systems > Open > Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing > & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > -----Inline Attachment Follows----- > > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > |
From: Niall G. <gal...@ya...> - 2014-06-12 16:30:41
|
Then dont use an Executer, put the Request and Response in a hashmap and send the reply whenever you want. Its fully asynchronous already... -------------------------------------------- On Thu, 12/6/14, Luis Antunes <lan...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Thursday, 12 June, 2014, 9:21 AM Thanks everyone for your responses, but perhaps I wasn't very clear in my original message. I am simply trying to implement a Container that does not create a new thread for every request that requires an asynchronous response. In the Asynchronous services example I quoted in the original post, a java.util.concurrent.Executor is used, and that does create a new thread for each request. I can't see an obvious way to use a single separate thread and NIO in this case. On Wed, Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> wrote: On 12/06/14 14:06, Niall Gallagher wrote: > I have also implemented WebSockets for Simple, ill release it within a few months when I get some time. That would be cool :) Simple is integrated into milton.io (webdav server framework) and while most people use milton with servlets there are always some using the simple integration, particularly for embedded webdav servers. And push notifications are coming to webdav where websockets will be the main transport mechanism. ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |
From: Luis A. <lan...@gm...> - 2014-06-12 16:21:17
|
Thanks everyone for your responses, but perhaps I wasn't very clear in my original message. I am simply trying to implement a Container that does not create a new thread for every request that requires an asynchronous response. In the Asynchronous services example I quoted in the original post, a java.util.concurrent.Executor is used, and that does create a new thread for each request. I can't see an obvious way to use a single separate thread and NIO in this case. On Wed, Jun 11, 2014 at 10:20 PM, Brad McEvoy <br...@mc...> wrote: > > On 12/06/14 14:06, Niall Gallagher wrote: > > I have also implemented WebSockets for Simple, ill release it within a > few months when I get some time. > That would be cool :) > > Simple is integrated into milton.io (webdav server framework) and while > most people use milton with servlets there are always some using the > simple integration, particularly for embedded webdav servers. > > And push notifications are coming to webdav where websockets will be the > main transport mechanism. > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > |
From: Brad M. <br...@mc...> - 2014-06-12 02:38:30
|
On 12/06/14 14:06, Niall Gallagher wrote: > I have also implemented WebSockets for Simple, ill release it within a few months when I get some time. That would be cool :) Simple is integrated into milton.io (webdav server framework) and while most people use milton with servlets there are always some using the simple integration, particularly for embedded webdav servers. And push notifications are coming to webdav where websockets will be the main transport mechanism. |
From: Niall G. <gal...@ya...> - 2014-06-12 02:06:47
|
Hi, The whole point of this project is to offer a HTTP server that can handle hundreds of thousands of concurrent connections without the need for thread per connection. I have tested several billion requests at a concurrency of 200,000. Spend some time looking at how it works, do not think of servlets, there is little to no relationship. I have also implemented WebSockets for Simple, ill release it within a few months when I get some time. Niall -------------------------------------------- On Wed, 11/6/14, Kai Schutte <sch...@gm...> wrote: Subject: Re: [Simpleweb-Support] Non Executor-based Asynchronous Service To: "Simple support and user issues" <sim...@li...> Received: Wednesday, 11 June, 2014, 10:38 AM Now take this with a grain of salt cause I'm using an older version from 3 years ago, but, as far as I know: Simple doesn't use one thread for every one request at all, quite the opposite: it is essentially is a select based IO http server. The async tasks of Simple are just objects that give you acess to each request / underlining connection. Simple doesn't manage nor create threads itself, not at it's core at least. This is one of the main reasons I use it, cause I made my own Thread manager. The documentation you linked is just a very simple example of how to handle a request asynchronously. If you don't want your thread count to explode, you need to build your own thread manager, that will poll the org.simpleframework.http.Request objects for those that are ready to become active, something like this: https://commons.apache.org/dormant/threadpool/ As for handling several HTTP requests from a single connection in Simple, I know it's possible, but honestly I forgot and I can't find it right now. Btw, if you're designing a new project, HTTP may not be the best choice for long connections (ie, several days), not even cause of Simple, but cause most long range routers are trained to drop HTTP connections after a while, and besides, HTTP really isn't meant for persistant connections. So I'd suggest you look into WebSocket protocol... it's not very popular, but it is standardised, kind of a bastard child of HTTP, works with most browsers, and there's decent implementation in nearly every language, and is specifically designed for processing many, even concurrent server requests over a single, long term / persistent connection. So if you're just looking to shove some XML or JSON back and forth, then please have a look at WebSocket :) Bon Courage :) -k On Wed, Jun 11, 2014 at 1:00 PM, Luis Antunes <lan...@gm...> wrote: Hi, I have read through the section on Asynchronous Services located at http://www.simpleframework.org/doc/tutorial/tutorial.php. I notice that the example uses a java.util.concurrent.Executor to spawn the asynchronous task. Is it possible to do the same without using a thread-based approach? That is, can we achieve the same result using a Selector and NIO? For example, I thought about using the SocketChannel associated with the Request to register with a Selector, but I cannot see any way to access that SocketChannel. I am trying to allow potentially many requests to remain suspended for long periods of time. If I start a new thread for every request, this becomes resource-intensive and expensive. Using NIO, I could have just a single separate thread that monitors the Selector. Any help you could provide would be much appreciated. By the way, thanks for contributing such great software! Luis ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support -----Inline Attachment Follows----- ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |
From: Kai S. <sch...@gm...> - 2014-06-11 17:38:57
|
Now take this with a grain of salt cause I'm using an older version from 3 years ago, but, as far as I know: Simple doesn't use one thread for every one request at all, quite the opposite: it is essentially is a select based IO http server. The async tasks of Simple are just objects that give you acess to each request / underlining connection. Simple doesn't manage nor create threads itself, not at it's core at least. This is one of the main reasons I use it, cause I made my own Thread manager. The documentation you linked is just a very simple example of how to handle a request asynchronously. If you don't want your thread count to explode, you need to build your own thread manager, that will poll the org.simpleframework.http.Request objects for those that are ready to become active, something like this: https://commons.apache.org/dormant/threadpool/ As for handling several HTTP requests from a single connection in Simple, I know it's possible, but honestly I forgot and I can't find it right now. Btw, if you're designing a new project, HTTP may not be the best choice for long connections (ie, several days), not even cause of Simple, but cause most long range routers are trained to drop HTTP connections after a while, and besides, HTTP really isn't meant for persistant connections. So I'd suggest you look into WebSocket protocol... it's not very popular, but it is standardised, kind of a bastard child of HTTP, works with most browsers, and there's decent implementation in nearly every language, and is specifically designed for processing many, even concurrent server requests over a single, long term / persistent connection. So if you're just looking to shove some XML or JSON back and forth, then please have a look at WebSocket :) Bon Courage :) -k On Wed, Jun 11, 2014 at 1:00 PM, Luis Antunes <lan...@gm...> wrote: > Hi, > > I have read through the section on Asynchronous Services located at > http://www.simpleframework.org/doc/tutorial/tutorial.php. I notice that > the example uses a java.util.concurrent.Executor to spawn the asynchronous > task. Is it possible to do the same without using a thread-based approach? > That is, can we achieve the same result using a Selector and NIO? > > For example, I thought about using the SocketChannel associated with the > Request to register with a Selector, but I cannot see any way to access > that SocketChannel. > > I am trying to allow potentially many requests to remain suspended for > long periods of time. If I start a new thread for every request, this > becomes resource-intensive and expensive. Using NIO, I could have just a > single separate thread that monitors the Selector. > > Any help you could provide would be much appreciated. By the way, thanks > for contributing such great software! > > Luis > > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > |
From: Luis A. <lan...@gm...> - 2014-06-11 12:01:01
|
Hi, I have read through the section on Asynchronous Services located at http://www.simpleframework.org/doc/tutorial/tutorial.php. I notice that the example uses a java.util.concurrent.Executor to spawn the asynchronous task. Is it possible to do the same without using a thread-based approach? That is, can we achieve the same result using a Selector and NIO? For example, I thought about using the SocketChannel associated with the Request to register with a Selector, but I cannot see any way to access that SocketChannel. I am trying to allow potentially many requests to remain suspended for long periods of time. If I start a new thread for every request, this becomes resource-intensive and expensive. Using NIO, I could have just a single separate thread that monitors the Selector. Any help you could provide would be much appreciated. By the way, thanks for contributing such great software! Luis |
From: Stefano F. <ste...@gm...> - 2014-06-08 15:27:43
|
Hi, got it to work. I am ready for the next question :) Ste On Sun, Jun 8, 2014 at 3:52 PM, Stefano Fornari <ste...@gm...> wrote: > Hi, > thanks for your reply. It's a good suggestion, which is what I started to > do as well. No luck so far. Do you know which module should I look at? in > the simple artifact there is no any useful unit tests.... :( > > thanks in advance, > > Ste > > > On Sun, Jun 8, 2014 at 8:14 AM, Niall Gallagher <gal...@ya... > > wrote: > >> There should be plenty of very comprehensive examples in the unit tests, >> they should cover just about everything. >> -------------------------------------------- >> On Sat, 7/6/14, Stefano Fornari <ste...@gm...> wrote: >> >> Subject: Re: [Simpleweb-Support] best way to build >> To: sim...@li... >> Received: Saturday, 7 June, 2014, 11:12 PM >> >> ok, I managed to build >> org.simpleframework:simple, but I need to fix a few missing >> methods (see attached). I guess it is because of a earlier >> version of the JDK? with which version are you building? >> >> I am now trying to start the server following the >> tutorial. Is it still up-to-date? what about SSL? I've >> seen some messages on the list, but I have also seen >> activity on SVN that suggests there is a more direct way to >> use it. >> >> >> Thanks again in advance. >> >> Stefano >> >> Ste >> >> >> On Fri, Jun 6, 2014 at >> 11:55 PM, Stefano Fornari <ste...@gm...> >> wrote: >> >> Hi, sorry if this is a dumb question, >> but what's the best way to build the trunk? in >> particular, what module is the basic server and can it be >> build with maven? >> >> thanks in advance, >> Stefano >> >> >> >> >> >> -----Inline Attachment Follows----- >> >> >> ------------------------------------------------------------------------------ >> Learn Graph Databases - Download FREE >> O'Reilly Book >> "Graph >> Databases" is the definitive new guide to graph >> databases and their >> applications. Written >> by three acclaimed leaders in the field, >> this first edition is now available. Download >> your free book today! >> http://p.sf.net/sfu/NeoTech >> -----Inline Attachment Follows----- >> >> _______________________________________________ >> Simpleweb-Support mailing list >> Sim...@li... >> https://lists.sourceforge.net/lists/listinfo/simpleweb-support >> >> >> >> ------------------------------------------------------------------------------ >> Learn Graph Databases - Download FREE O'Reilly Book >> "Graph Databases" is the definitive new guide to graph databases and their >> applications. Written by three acclaimed leaders in the field, >> this first edition is now available. Download your free book today! >> http://p.sf.net/sfu/NeoTech >> _______________________________________________ >> Simpleweb-Support mailing list >> Sim...@li... >> https://lists.sourceforge.net/lists/listinfo/simpleweb-support >> > > |
From: Stefano F. <ste...@gm...> - 2014-06-08 13:52:36
|
Hi, thanks for your reply. It's a good suggestion, which is what I started to do as well. No luck so far. Do you know which module should I look at? in the simple artifact there is no any useful unit tests.... :( thanks in advance, Ste On Sun, Jun 8, 2014 at 8:14 AM, Niall Gallagher <gal...@ya...> wrote: > There should be plenty of very comprehensive examples in the unit tests, > they should cover just about everything. > -------------------------------------------- > On Sat, 7/6/14, Stefano Fornari <ste...@gm...> wrote: > > Subject: Re: [Simpleweb-Support] best way to build > To: sim...@li... > Received: Saturday, 7 June, 2014, 11:12 PM > > ok, I managed to build > org.simpleframework:simple, but I need to fix a few missing > methods (see attached). I guess it is because of a earlier > version of the JDK? with which version are you building? > > I am now trying to start the server following the > tutorial. Is it still up-to-date? what about SSL? I've > seen some messages on the list, but I have also seen > activity on SVN that suggests there is a more direct way to > use it. > > > Thanks again in advance. > > Stefano > > Ste > > > On Fri, Jun 6, 2014 at > 11:55 PM, Stefano Fornari <ste...@gm...> > wrote: > > Hi, sorry if this is a dumb question, > but what's the best way to build the trunk? in > particular, what module is the basic server and can it be > build with maven? > > thanks in advance, > Stefano > > > > > > -----Inline Attachment Follows----- > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE > O'Reilly Book > "Graph > Databases" is the definitive new guide to graph > databases and their > applications. Written > by three acclaimed leaders in the field, > this first edition is now available. Download > your free book today! > http://p.sf.net/sfu/NeoTech > -----Inline Attachment Follows----- > > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/NeoTech > _______________________________________________ > Simpleweb-Support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simpleweb-support > |
From: Niall G. <gal...@ya...> - 2014-06-08 06:15:03
|
There should be plenty of very comprehensive examples in the unit tests, they should cover just about everything. -------------------------------------------- On Sat, 7/6/14, Stefano Fornari <ste...@gm...> wrote: Subject: Re: [Simpleweb-Support] best way to build To: sim...@li... Received: Saturday, 7 June, 2014, 11:12 PM ok, I managed to build org.simpleframework:simple, but I need to fix a few missing methods (see attached). I guess it is because of a earlier version of the JDK? with which version are you building? I am now trying to start the server following the tutorial. Is it still up-to-date? what about SSL? I've seen some messages on the list, but I have also seen activity on SVN that suggests there is a more direct way to use it. Thanks again in advance. Stefano Ste On Fri, Jun 6, 2014 at 11:55 PM, Stefano Fornari <ste...@gm...> wrote: Hi, sorry if this is a dumb question, but what's the best way to build the trunk? in particular, what module is the basic server and can it be build with maven? thanks in advance, Stefano -----Inline Attachment Follows----- ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |
From: Stefano F. <ste...@gm...> - 2014-06-08 06:12:58
|
Index: simple/src/test/java/org/simpleframework/transport/Console.java =================================================================== --- simple/src/test/java/org/simpleframework/transport/Console.java (revision 2194) +++ simple/src/test/java/org/simpleframework/transport/Console.java (working copy) @@ -3,11 +3,13 @@ import java.io.IOException; import java.net.Socket; import java.net.SocketAddress; +import java.net.SocketOption; import java.nio.ByteBuffer; import java.nio.channels.Channels; import java.nio.channels.ReadableByteChannel; import java.nio.channels.SocketChannel; import java.nio.channels.WritableByteChannel; +import java.util.Set; class Console extends SocketChannel { @@ -78,4 +80,41 @@ @Override protected void implConfigureBlocking(boolean block) throws IOException { } + + @Override + public SocketChannel bind(SocketAddress local) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public <T> SocketChannel setOption(SocketOption<T> name, T value) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketChannel shutdownInput() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketChannel shutdownOutput() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketAddress getRemoteAddress() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public SocketAddress getLocalAddress() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public <T> T getOption(SocketOption<T> name) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public Set<SocketOption<?>> supportedOptions() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } } Index: simple/src/test/java/org/simpleframework/transport/NetworkSimulator.java =================================================================== --- simple/src/test/java/org/simpleframework/transport/NetworkSimulator.java (revision 2194) +++ simple/src/test/java/org/simpleframework/transport/NetworkSimulator.java (working copy) @@ -7,8 +7,10 @@ import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; +import java.net.SocketOption; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; +import java.util.Set; public class NetworkSimulator extends SocketChannel { private SocketChannel channel; @@ -94,4 +96,41 @@ protected void implConfigureBlocking(boolean arg0) throws IOException { return; } + + @Override + public SocketChannel bind(SocketAddress local) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public <T> SocketChannel setOption(SocketOption<T> name, T value) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketChannel shutdownInput() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketChannel shutdownOutput() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketAddress getRemoteAddress() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public SocketAddress getLocalAddress() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public <T> T getOption(SocketOption<T> name) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public Set<SocketOption<?>> supportedOptions() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } } Index: simple/src/test/java/org/simpleframework/transport/connect/FilterSocketChannel.java =================================================================== --- simple/src/test/java/org/simpleframework/transport/connect/FilterSocketChannel.java (revision 2194) +++ simple/src/test/java/org/simpleframework/transport/connect/FilterSocketChannel.java (working copy) @@ -4,8 +4,10 @@ import java.io.IOException; import java.net.Socket; import java.net.SocketAddress; +import java.net.SocketOption; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; +import java.util.Set; // Can this be selected with????? public class FilterSocketChannel extends SocketChannel { @@ -109,4 +111,41 @@ protected void implConfigureBlocking(boolean block) throws IOException { channel.configureBlocking(block); } + + @Override + public SocketChannel bind(SocketAddress local) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public <T> SocketChannel setOption(SocketOption<T> name, T value) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketChannel shutdownInput() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketChannel shutdownOutput() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public SocketAddress getRemoteAddress() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public SocketAddress getLocalAddress() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public <T> T getOption(SocketOption<T> name) throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + public Set<SocketOption<?>> supportedOptions() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } } Index: simple =================================================================== --- simple (revision 2194) +++ simple (working copy) Property changes on: simple ___________________________________________________________________ Modified: svn:ignore ## -6,3 +6,4 ## maven report site +target |
From: Stefano F. <ste...@gm...> - 2014-06-06 21:55:45
|
Hi, sorry if this is a dumb question, but what's the best way to build the trunk? in particular, what module is the basic server and can it be build with maven? thanks in advance, Stefano |
From: Niall G. <gal...@ya...> - 2014-03-29 03:08:20
|
Hi, Good to hear! I may at some point do some HTTP/2.0 work on it. However I have been thoroughly unimpressed with it so far, apart from the removal of FIFO restrictions. It reminds me of Cookie2, lets see if it catches on? I have plans to support web sockets, which is a fairly easy enhancement. Its just a matter of getting the time. Niall -------------------------------------------- On Fri, 28/3/14, Jerome Louvel <jl...@re...> wrote: Subject: [Simpleweb-Support] [ANN] Restlet Framework 2.2.0 and 2.3 M1 released, including Simple update To: sim...@li... Received: Friday, 28 March, 2014, 6:42 PM Hi all, We just released a new stable version of Restlet Framework:http://blog.restlet.com/2014/03/27/restlet-framework-2-2-0-and-2-3-m1-released/ It includes version 5.1 of Simple as an extension HTTP/HTTPS server connector. Restlet developers like the performance/size profile of Simple. Also, I would be interested to know what are the plans for next version of Simple. Any client-side or SPDY/HTTP 2.0 support planned? Thanks!Jérôme -----Inline Attachment Follows----- ------------------------------------------------------------------------------ -----Inline Attachment Follows----- _______________________________________________ Simpleweb-Support mailing list Sim...@li... https://lists.sourceforge.net/lists/listinfo/simpleweb-support |