You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Oleg Kalnichevski (JIRA)" <ji...@apache.org> on 2006/08/01 20:42:13 UTC
[jira] Created: (DIRMINA-234) Simple HTTP server based on Jakarta
HttpComponents Core and MINA
Simple HTTP server based on Jakarta HttpComponents Core and MINA
----------------------------------------------------------------
Key: DIRMINA-234
URL: http://issues.apache.org/jira/browse/DIRMINA-234
Project: Directory MINA
Issue Type: New Feature
Affects Versions: 0.9.5
Reporter: Oleg Kalnichevski
I am submitting my first cut at a HTTP server based on Jakarta HttpComponents Core and MINA for your review and feedback. This is a very simple but nonetheless a full-featured and HTTP/1.1 compliant HTTP file server that supports connection persistence, chunk coding, correctly handles older (HTTP/1.0) clients among many things. I believe this sample code makes evident that it takes fairly little code and effort to put the HttpCore protocol stack on top of MINA I/O model.
This version is still far from being perfect and am working on a more advanced version that integrates better with MINA's asynchronous I/O layer.
Feedback, suggestions, critique will be hugely appreciated
Oleg
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (DIRMINA-234) Simple HTTP server based on Jakarta
HttpComponents Core and MINA
Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-234?page=all ]
Oleg Kalnichevski updated DIRMINA-234:
--------------------------------------
Attachment: mina-httpcore-httpserver.tar.gz
I am attaching the second revision of the HTTP server based on MINA and HttpComponents Core.
The most notable enchancement is that the server now utilizes MINA native buffers for its I/O operations. HTTP protocol handler is no longer based on the StreamIoHandler class.
Another optimization I can think of is an option to release worker threads more aggressively (for instance if no new incoming request is detected within a short period of time) while keeping the session alive. The worker thread can be restarted as soon as there is new I/O activity on the channel. The worker thread does not have to stay blocked waiting for I/O until the session times out.
Please let me know what you think.
Oleg
> Simple HTTP server based on Jakarta HttpComponents Core and MINA
> ----------------------------------------------------------------
>
> Key: DIRMINA-234
> URL: http://issues.apache.org/jira/browse/DIRMINA-234
> Project: Directory MINA
> Issue Type: New Feature
> Affects Versions: 0.9.5
> Reporter: Oleg Kalnichevski
> Attachments: mina-httpcore-httpserver.tar.gz, mina-httpcore-httpserver.tar.gz
>
>
> I am submitting my first cut at a HTTP server based on Jakarta HttpComponents Core and MINA for your review and feedback. This is a very simple but nonetheless a full-featured and HTTP/1.1 compliant HTTP file server that supports connection persistence, chunk coding, correctly handles older (HTTP/1.0) clients among many things. I believe this sample code makes evident that it takes fairly little code and effort to put the HttpCore protocol stack on top of MINA I/O model.
> This version is still far from being perfect and am working on a more advanced version that integrates better with MINA's asynchronous I/O layer.
> Feedback, suggestions, critique will be hugely appreciated
> Oleg
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (DIRMINA-234) Simple HTTP server based on Jakarta
HttpComponents Core and MINA
Posted by "Cameron Taggart (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-234?page=comments#action_12458027 ]
Cameron Taggart commented on DIRMINA-234:
-----------------------------------------
I saw the announcement about HttpCore 4.0-alpha3 and started reading through the documentation. In the documentation I found a reference to MINA here:
http://wiki.apache.org/jakarta-httpclient/HttpCoreNioApi
"In many ways HttpCore NIO is very similar to MINA. MINA API represents quite elegant and natural way of dealing with non-blocking I/O and anyone developing a event-driven I/O transport is bound to come up with a similar interface. There are several significant differences as well. HttpCore NIO reactor is minimalistic, bare-bone I/O multiplexer. HttpCore NIO does not and will not provide any buffering or threading primitives. It is meant to serve as an efficient asynchronous I/O transport for HttpCore and nothing else. Input/output buffering is meant to be implemented by data receiver / data transmitter respectively and development of threading primitives is entirely out of HttpCore scope.
If you are interested in supporting multiple protocols on top of a robust, flexible and well supported I/O transport mechanism please use MINA. HttpCore runs perfectly well on top of MINA. "
Does this mean that an HttpCore running on top of MINA exists? I would also be interested is seeing a MINA based HttpClient.
> Simple HTTP server based on Jakarta HttpComponents Core and MINA
> ----------------------------------------------------------------
>
> Key: DIRMINA-234
> URL: http://issues.apache.org/jira/browse/DIRMINA-234
> Project: MINA
> Issue Type: New Feature
> Affects Versions: 0.9.5
> Reporter: Oleg Kalnichevski
> Attachments: mina-httpcore-httpserver.tar.gz, mina-httpcore-httpserver.tar.gz
>
>
> I am submitting my first cut at a HTTP server based on Jakarta HttpComponents Core and MINA for your review and feedback. This is a very simple but nonetheless a full-featured and HTTP/1.1 compliant HTTP file server that supports connection persistence, chunk coding, correctly handles older (HTTP/1.0) clients among many things. I believe this sample code makes evident that it takes fairly little code and effort to put the HttpCore protocol stack on top of MINA I/O model.
> This version is still far from being perfect and am working on a more advanced version that integrates better with MINA's asynchronous I/O layer.
> Feedback, suggestions, critique will be hugely appreciated
> Oleg
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (DIRMINA-234) Simple HTTP server based on Jakarta
HttpComponents Core and MINA
Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-234?page=all ]
Oleg Kalnichevski updated DIRMINA-234:
--------------------------------------
Attachment: mina-httpcore-httpserver.tar.gz
Just for the record, this code uses publicly available HttpCore release 4.0-alpha2 and is not fully compatible with HttpCore SVN trunk
Oleg
> Simple HTTP server based on Jakarta HttpComponents Core and MINA
> ----------------------------------------------------------------
>
> Key: DIRMINA-234
> URL: http://issues.apache.org/jira/browse/DIRMINA-234
> Project: Directory MINA
> Issue Type: New Feature
> Affects Versions: 0.9.5
> Reporter: Oleg Kalnichevski
> Attachments: mina-httpcore-httpserver.tar.gz
>
>
> I am submitting my first cut at a HTTP server based on Jakarta HttpComponents Core and MINA for your review and feedback. This is a very simple but nonetheless a full-featured and HTTP/1.1 compliant HTTP file server that supports connection persistence, chunk coding, correctly handles older (HTTP/1.0) clients among many things. I believe this sample code makes evident that it takes fairly little code and effort to put the HttpCore protocol stack on top of MINA I/O model.
> This version is still far from being perfect and am working on a more advanced version that integrates better with MINA's asynchronous I/O layer.
> Feedback, suggestions, critique will be hugely appreciated
> Oleg
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira