Skip to content

Commit 2121fa7

Browse files
committed
update doc for v0.4.0
1 parent d2c5863 commit 2121fa7

22 files changed

+15599
-868
lines changed

Configuration.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ Setting JVM path and class path within `http {` block in nginx.conf
2424
###for groovy, you should append groovy runtime jar
2525
jvm_options "-Djava.class.path=#{my_jar_root}/nginx-clojure-0.2.7.jar";
2626
27+
###or we can put jars in some directories, e.g. jars-dir1, jars-dir2
28+
###so that all jars/sub directories from these directories will be appended the jvm classpath
29+
jvm_options "-Djava.ext.dirs=jars-dir1:jars-dir2"
30+
2731
###uncomment next two line to define jvm heap memory
2832
#jvm_options "-Xms1024m";
2933
#jvm_options "-Xmx1024m";
@@ -173,7 +177,7 @@ Within `location` block,
173177
* Directive `content_handler_type` is used to setting a type of handler.
174178
* Directive `content_handler_code` is used to setting an inline Ring handler.
175179
* Directive `content_handler_name` is used to setting an external Ring handler which is in a certain jar file included by your classpath.
176-
180+
* Directive `content_handler_property` is used to declare one or many properties for content handler which implements interface `nginx.clojure.Configurable`
177181

178182
###2.3.1 Inline Ring Handler
179183

@@ -303,7 +307,7 @@ three choice :
303307
* :smiley:It's non-blocking, cheap, fast and let one java main thread be able to handle thousands of connections.
304308
* :smiley:Your old code **_need not be changed_** and those plain and old java socket based code such as Apache Http Client, MySQL mysql jdbc drivers etc. will be on the fly with epoll/kqueue on Linux/BSD!
305309
* :worried:You must do some steps to get the right class waving configuration file and set it in the nginx conf file.
306-
1. Asynchronous Socket/Channel
310+
1. Asynchronous Client Socket/Channel
307311
* :smiley:It's the fastest among those three choice and you can controll it finely.
308312
* :smiley:It can work with default mode or Coroutine based Socket enabled mode but can't work with Thread Pool mode.
309313
* :worried:Your old code **_must be changed_** to use the event driven pattern.
@@ -314,7 +318,7 @@ three choice :
314318
* :worried:Becase the max number of threads is always more smaller than the total number of socket connections supported by Operation Systems and
315319
thread in java is costlier than coroutine, facing large amount of connections this choice isn't as good as Coroutine based choice.
316320

317-
### 2.4.1 Enable Coroutine based Socket
321+
### 2.4.1 Enable Coroutine based Client Socket
318322

319323
#### 1. Get a User Defined Class Waving Configuration File for Your Web App
320324

@@ -402,7 +406,7 @@ thread in java is costlier than coroutine, facing large amount of connections th
402406

403407
Nginx won't blocked until nginx connections exhuasted or jvm OutOfMemory!
404408

405-
### 2.4.2 Use Asynchronous Socket/Channel
409+
### 2.4.2 Use Asynchronous Client Socket/Channel
406410

407411
Asynchronous Socket/Channel Can be used with default mode or coroutined enabled mode without any additional settings. It just a set of API.
408412
It uses event driven pattern and works with a java callback handler or clojure function for callback. Asynchronous Channel is wrapper of Asynchronous Socket

Configuration.md.html

Lines changed: 230 additions & 224 deletions
Large diffs are not rendered by default.

CoreFeatures.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Core Features
22
=================
33

4-
The latest release is v0.3.0, more detail changes about it can be found from [Release History](downloads.html).
4+
The latest release is v0.4.0, more detail changes about it can be found from [Release History](downloads.html).
55

66
1. Compatible with [Ring](https://github.com/ring-clojure/ring/blob/master/SPEC) and obviously supports those Ring based frameworks, such as Compojure etc.
77
1. Http Services by using Clojure / Java / Groovy to write simple handlers for http services.
@@ -36,19 +36,19 @@ Nginx-Clojure has already been published to https://clojars.org/ whose maven rep
3636
</repository>
3737
```
3838

39-
After adding clojars repository, you can reference nginx-clojure 0.3.0 , e.g.
39+
After adding clojars repository, you can reference nginx-clojure 0.4.0 , e.g.
4040

4141
Leiningen (clojure, no need to add clojars repository which is a default repository for Leiningen)
4242
-----------------
4343

4444
```clojure
45-
[nginx-clojure "0.3.0"]
45+
[nginx-clojure "0.4.0"]
4646
```
4747
Gradle (groovy/java)
4848
-----------------
4949

5050
```
51-
compile "nginx-clojure:nginx-clojure:0.3.0"
51+
compile "nginx-clojure:nginx-clojure:0.4.0"
5252
```
5353
Maven
5454
-----------------

CoreFeatures.md.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<h1>
22
<a id="user-content-core-features" class="anchor" href="#core-features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Core Features</h1>
33

4-
<p>The latest release is v0.3.0, more detail changes about it can be found from <a href="downloads.html">Release History</a>.</p>
4+
<p>The latest release is v0.4.0, more detail changes about it can be found from <a href="downloads.html">Release History</a>.</p>
55

66
<ol>
77
<li>Compatible with <a href="https://github.com/ring-clojure/ring/blob/master/SPEC">Ring</a> and obviously supports those Ring based frameworks, such as Compojure etc.</li>
@@ -43,7 +43,7 @@ <h1>
4343
<h2>
4444
<a id="user-content--leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen-" class="anchor" href="#-leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen-" aria-hidden="true"><span class="octicon octicon-link"></span></a> Leiningen (clojure, no need to add clojars repository which is a default repository for Leiningen) </h2>
4545

46-
<div class="highlight highlight-clojure"><pre>[nginx-clojure <span class="pl-s1"><span class="pl-pds">"</span>0.3.0<span class="pl-pds">"</span></span>]</pre></div>
46+
<div class="highlight highlight-clojure"><pre>[nginx-clojure <span class="pl-s"><span class="pl-pds">"</span>0.3.0<span class="pl-pds">"</span></span>]</pre></div>
4747

4848
<h2>
4949
<a id="user-content-gradle-groovyjava" class="anchor" href="#gradle-groovyjava" aria-hidden="true"><span class="octicon octicon-link"></span></a>Gradle (groovy/java)</h2>

HISTORY.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,24 @@ Downloads & Release History
44
1. [Binaries of Releases](http://sourceforge.net/projects/nginx-clojure/files/)
55
1. [Sources of Releases](https://github.com/nginx-clojure/nginx-clojure/releases)
66

7+
## 0.4.0 (2015-07-06)
8+
9+
1. New Feature: Service Side Websocket (issue #73)
10+
1. New Feature: A build-in Jersey container to support java standard RESTful web services (JAX-RS 2.0) (issue #74)
11+
1. New Feature: Tomcat 8 embedding support (so servlet 3.1/jsp/sendfile/JSR-356 websocket work within nginx!) (issue #67)
12+
1. New Feature: Coroutined Based Client Socket Supports to Bind to Specified IP Address (issue #69)
13+
1. New Feature: Handler's Property Configuration (issue #66)
14+
1. Enhancement: NginxHttpServerChannel can work with Rewrite Handler or Access Handler (issue #79)
15+
1. Enhancement: Configurable Write Buffer Size for SSE or Websocket (issue #76)
16+
1. Bug Fix: When we do not configure jvm_path proxy_pass will not work (issue #72)
17+
1. Bug Fix: nginx worker restart when get the value of header X-Forwarded-For (issue #70)
18+
1. Bug Fix: proxy_cache_path causes crash (issue #64)
19+
1. Bug Fix: send_timeout does not take effect with NginxHttpServerChannel (issue #78)
20+
1. Bug Fix: Waving tool generates wrong wave information of fuzzing classes (issue #80)
21+
1. Documents : Release History link in README (issue #68)
22+
1. Binaries Distribution: built with The latest stable Nginx v1.8.0 which released at 2015-04-21.
23+
24+
725
## 0.3.0 (2014-12-11)
826

927
1. Discard: Directive `clojure`, `clojure_code` are no longer supported, use `handler_type`/`content_handler_type`,
@@ -35,7 +53,7 @@ Downloads & Release History
3553
1. Fix Bug: rewrite_handler_name does not work without content handler (issue #45). Thanks [Eric Kubacki](https://github.com/ekubacki) for finding this bug.
3654
1. Fix Bug: rewrite handler does not handle write event correctly with thread pool mode or coroutine mode (issue #43)
3755
1. Documents : Correct some inaccuracies and add section about logging in Chapter [More about Nginx-Clojure](http://nginx-clojure.github.io/more.html#user-content-37--about-logging)
38-
1. Binaries: built with The lastest stable Nginx v1.6.2 which released at 2014-09-16.
56+
1. Binaries: built with The latest stable Nginx v1.6.2 which released at 2014-09-16.
3957

4058

4159

HISTORY.md.html

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,26 @@ <h1>
66
<li><a href="https://github.com/nginx-clojure/nginx-clojure/releases">Sources of Releases</a></li>
77
</ol>
88

9+
<h2>
10+
<a id="user-content-040-2015-07-06" class="anchor" href="#040-2015-07-06" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.4.0 (2015-07-06)</h2>
11+
12+
<ol>
13+
<li>New Feature: Service Side Websocket (issue #73)</li>
14+
<li>New Feature: A build-in Jersey container to support java standard RESTful web services (JAX-RS 2.0) (issue #74)</li>
15+
<li>New Feature: Tomcat 8 embedding support (so servlet 3.1/jsp/sendfile/JSR-356 websocket work within nginx!) (issue #67)</li>
16+
<li>New Feature: Coroutined Based Client Socket Supports to Bind to Specified IP Address (issue #69)</li>
17+
<li>New Feature: Handler's Property Configuration (issue #66)</li>
18+
<li>Enhancement: NginxHttpServerChannel can work with Rewrite Handler or Access Handler (issue #79)</li>
19+
<li>Enhancement: Configurable Write Buffer Size for SSE or Websocket (issue #76)</li>
20+
<li>Bug Fix: When we do not configure jvm_path proxy_pass will not work (issue #72)</li>
21+
<li>Bug Fix: nginx worker restart when get the value of header X-Forwarded-For (issue #70)</li>
22+
<li>Bug Fix: proxy_cache_path causes crash (issue #64)</li>
23+
<li>Bug Fix: send_timeout does not take effect with NginxHttpServerChannel (issue #78)</li>
24+
<li>Bug Fix: Waving tool generates wrong wave information of fuzzing classes (issue #80)</li>
25+
<li>Documents : Release History link in README (issue #68)</li>
26+
<li>Binaries Distribution: built with The latest stable Nginx v1.8.0 which released at 2015-04-21.</li>
27+
</ol>
28+
929
<h2>
1030
<a id="user-content-030-2014-12-11" class="anchor" href="#030-2014-12-11" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.3.0 (2014-12-11)</h2>
1131

@@ -44,7 +64,7 @@ <h2>
4464
<li>Fix Bug: rewrite handler does not handle write event correctly with thread pool mode or coroutine mode (issue #43)</li>
4565
<li>Documents : Correct some inaccuracies and add section about logging in Chapter <a href="http://nginx-clojure.github.io/more.html#user-content-37--about-logging">More about Nginx-Clojure</a>
4666
</li>
47-
<li>Binaries: built with The lastest stable Nginx v1.6.2 which released at 2014-09-16.</li>
67+
<li>Binaries: built with The latest stable Nginx v1.6.2 which released at 2014-09-16.</li>
4868
</ol>
4969

5070
<h2>

0 commit comments

Comments
 (0)