Repository: qpid-site Updated Branches: refs/heads/asf-site f8a53e176 -> 2069e43da
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/2069e43d/input/releases/qpid-java-6.0.3/qpid-jms/examples/OptionParser.java.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-java-6.0.3/qpid-jms/examples/OptionParser.java.html.in b/input/releases/qpid-java-6.0.3/qpid-jms/examples/OptionParser.java.html.in new file mode 100644 index 0000000..27f5081 --- /dev/null +++ b/input/releases/qpid-java-6.0.3/qpid-jms/examples/OptionParser.java.html.in @@ -0,0 +1,336 @@ + +<h1>OptionParser.java</h1> +<div class="highlight"><pre><span></span><span class="kn">package</span> <span class="nn">org.apache.qpid.example</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">java.util.ArrayList</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.util.HashMap</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.util.List</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.util.Map</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">javax.jms.Connection</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">org.apache.qpid.client.AMQConnection</span><span class="o">;</span> + +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">OptionParser</span> +<span class="o">{</span> + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">BROKER</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="s">"b"</span><span class="o">,</span> + <span class="s">"broker"</span><span class="o">,</span> + <span class="s">"connect to specified broker"</span><span class="o">,</span> + <span class="s">"USER:PASS@HOST:PORT"</span><span class="o">,</span> + <span class="s">"guest:guest@localhost:5672"</span><span class="o">,</span> + <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">HELP</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="s">"h"</span><span class="o">,</span> + <span class="s">"help"</span><span class="o">,</span> + <span class="s">"show this help message and exit"</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="n">Boolean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">TIMEOUT</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="s">"t"</span><span class="o">,</span> + <span class="s">"timeout"</span><span class="o">,</span> + <span class="s">"timeout in seconds to wait before exiting"</span><span class="o">,</span> + <span class="s">"TIMEOUT"</span><span class="o">,</span> + <span class="s">"0"</span><span class="o">,</span> + <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">CON_OPTIONS</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> + <span class="s">"con-option"</span><span class="o">,</span> + <span class="s">"JMS Connection URL options. Ex sync_ack=true sync_publish=all "</span><span class="o">,</span> + <span class="s">"NAME=VALUE"</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">BROKER_OPTIONS</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> + <span class="s">"broker-option"</span><span class="o">,</span> + <span class="s">"JMS Broker URL options. Ex ssl=true sasl_mechs=GSSAPI "</span><span class="o">,</span> + <span class="s">"NAME=VALUE"</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="n">String</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + + <span class="kd">private</span> <span class="n">Map</span><span class="o"><</span><span class="n">String</span><span class="o">,</span><span class="n">Object</span><span class="o">></span> <span class="n">optMap</span> <span class="o">=</span> <span class="k">new</span> <span class="n">HashMap</span><span class="o"><</span><span class="n">String</span><span class="o">,</span><span class="n">Object</span><span class="o">>();</span> + <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">List</span><span class="o"><</span><span class="n">Option</span><span class="o">></span> <span class="n">optDefs</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ArrayList</span><span class="o"><</span><span class="n">Option</span><span class="o">>();</span> + + <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">CLIENTID</span> <span class="o">=</span> <span class="s">"test"</span><span class="o">;</span> + + <span class="kd">private</span> <span class="n">String</span> <span class="n">usage</span><span class="o">;</span> + <span class="kd">private</span> <span class="n">String</span> <span class="n">desc</span><span class="o">;</span> + <span class="kd">private</span> <span class="n">String</span> <span class="n">address</span><span class="o">;</span> + + <span class="kd">public</span> <span class="nf">OptionParser</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">,</span> <span class="n">String</span> <span class="n">usage</span><span class="o">,</span> <span class="n">String</span> <span class="n">desc</span><span class="o">)</span> + <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">usage</span> <span class="o">=</span> <span class="n">usage</span><span class="o">;</span> + <span class="k">this</span><span class="o">.</span><span class="na">desc</span> <span class="o">=</span> <span class="n">desc</span><span class="o">;</span> + + <span class="k">if</span> <span class="o">(</span><span class="n">args</span><span class="o">.</span><span class="na">length</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">||</span> + <span class="o">(</span><span class="n">args</span><span class="o">.</span><span class="na">length</span> <span class="o">==</span> <span class="mi">1</span> <span class="o">&&</span> <span class="o">(</span><span class="n">args</span><span class="o">[</span><span class="mi">0</span><span class="o">].</span><span class="na">equals</span><span class="o">(</span><span class="s">"-h"</span><span class="o">)</span> <span class="o">||</span> <span class="n">args</span><span class="o">[</span><span class="mi">0</span><span class="o">].</span><span class="na">equals</span><span class="o">(</span><span class="s">"--help"</span><span class="o">))))</span> + <span class="o">{</span> + <span class="n">printHelp</span><span class="o">();</span> + <span class="o">}</span> + + <span class="n">address</span> <span class="o">=</span> <span class="n">args</span><span class="o">[</span><span class="n">args</span><span class="o">.</span><span class="na">length</span> <span class="o">-</span><span class="mi">1</span><span class="o">];</span> + <span class="n">String</span><span class="o">[]</span> <span class="n">ops</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">[</span><span class="n">args</span><span class="o">.</span><span class="na">length</span> <span class="o">-</span><span class="mi">1</span><span class="o">];</span> + <span class="n">System</span><span class="o">.</span><span class="na">arraycopy</span><span class="o">(</span><span class="n">args</span><span class="o">,</span> <span class="mi">0</span><span class="o">,</span> <span class="n">ops</span><span class="o">,</span> <span class="mi">0</span><span class="o">,</span> <span class="n">ops</span><span class="o">.</span><span class="na">length</span><span class="o">);</span> + <span class="n">parseOpts</span><span class="o">(</span><span class="n">ops</span><span class="o">);</span> + + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">optMap</span><span class="o">);</span> + + <span class="k">if</span> <span class="o">(</span><span class="n">isHelp</span><span class="o">())</span> + <span class="o">{</span> + <span class="n">printHelp</span><span class="o">();</span> + <span class="o">}</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">isHelp</span><span class="o">()</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="s">"h"</span><span class="o">)</span> <span class="o">||</span> <span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="s">"help"</span><span class="o">);</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">printHelp</span><span class="o">()</span> + <span class="o">{</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">String</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="s">"%s\n"</span><span class="o">,</span><span class="n">usage</span><span class="o">));</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">String</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="s">"%s\n"</span><span class="o">,</span><span class="n">desc</span><span class="o">));</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">String</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="s">"%s\n"</span><span class="o">,</span><span class="s">"Options:"</span><span class="o">));</span> + + <span class="k">for</span> <span class="o">(</span><span class="n">Option</span> <span class="n">op</span> <span class="o">:</span> <span class="n">optDefs</span><span class="o">)</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">valueLabel</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="na">getValueLabel</span><span class="o">()</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">?</span> <span class="s">"="</span> <span class="o">+</span> <span class="n">op</span><span class="o">.</span><span class="na">getValueLabel</span><span class="o">()</span> <span class="o">:</span> <span class="s">""</span><span class="o">;</span> + <span class="n">String</span> <span class="n">shortForm</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="na">getShortForm</span><span class="o">()</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">?</span> <span class="s">"-"</span> <span class="o">+</span> <span class="n">op</span><span class="o">.</span><span class="na">getShortForm</span><span class="o">()</span> <span class="o">+</span> <span class="n">valueLabel</span> <span class="o">:</span> <span class="s">""</span><span class="o">;</span> + <span class="n">String</span> <span class="n">longForm</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="na">getLongForm</span><span class="o">()</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">?</span> <span class="s">"--"</span> <span class="o">+</span> <span class="n">op</span><span class="o">.</span><span class="na">getLongForm</span><span class="o">()</span> <span class="o">+</span> <span class="n">valueLabel</span> <span class="o">:</span> <span class="s">""</span><span class="o">;</span> + <span class="n">String</span> <span class="n">desc</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="na">getDesc</span><span class="o">();</span> + <span class="n">String</span> <span class="n">defaultValue</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="na">getDefaultValue</span><span class="o">()</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">?</span> + <span class="s">" (default "</span> <span class="o">+</span> <span class="n">op</span><span class="o">.</span><span class="na">getDefaultValue</span><span class="o">()</span> <span class="o">+</span> <span class="s">")"</span> <span class="o">:</span> <span class="s">""</span><span class="o">;</span> + + <span class="k">if</span> <span class="o">(!</span><span class="n">shortForm</span><span class="o">.</span><span class="na">equals</span><span class="o">(</span><span class="s">""</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">longForm</span> <span class="o">=</span> <span class="n">shortForm</span> <span class="o">+</span> <span class="s">", "</span> <span class="o">+</span> <span class="n">longForm</span><span class="o">;</span> + <span class="o">}</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> + <span class="n">String</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="s">"%-54s%s%s"</span><span class="o">,</span> <span class="n">longForm</span><span class="o">,</span><span class="n">desc</span><span class="o">,</span><span class="n">defaultValue</span><span class="o">));</span> + <span class="o">}</span> + + <span class="n">System</span><span class="o">.</span><span class="na">exit</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span> + <span class="o">}</span> + + <span class="kd">private</span> <span class="kt">void</span> <span class="nf">parseOpts</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">prevOpt</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> + <span class="k">for</span><span class="o">(</span><span class="n">String</span> <span class="n">op</span><span class="o">:</span> <span class="n">args</span><span class="o">)</span> + <span class="o">{</span> + <span class="c1">// covers both -h and --help formats</span> + <span class="k">if</span> <span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">"-"</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">key</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">"--"</span><span class="o">)?</span> <span class="mi">2</span><span class="o">:</span><span class="mi">1</span> <span class="o">,</span> + <span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'='</span><span class="o">)</span> <span class="o">></span> <span class="mi">0</span><span class="o">)</span> <span class="o">?</span> + <span class="n">op</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'='</span><span class="o">):</span> + <span class="n">op</span><span class="o">.</span><span class="na">length</span><span class="o">());</span> + + <span class="kt">boolean</span> <span class="n">match</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> + <span class="k">for</span> <span class="o">(</span><span class="n">Option</span> <span class="n">option</span><span class="o">:</span> <span class="n">optDefs</span><span class="o">)</span> + <span class="o">{</span> + + <span class="k">if</span> <span class="o">((</span><span class="n">op</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">"-"</span><span class="o">)</span> <span class="o">&&</span> <span class="n">option</span><span class="o">.</span><span class="na">getShortForm</span><span class="o">()</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">&&</span> <span class="n">option</span><span class="o">.</span><span class="na">getShortForm</span><span class="o">().</span><span class="na">equals</span><span class="o">(</span><span class="n">key</span><span class="o">))</span> <span class="o">||</span> + <span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">"--"</span><span class="o">)</span> <span class="o">&&</span> <span class="n">option</span><span class="o">.</span><span class="na">getLongForm</span><span class="o">()</span> <span class="o">!=</span> <span class="kc">null</span> <span class="o">&&</span> <span class="n">option</span><span class="o">.</span><span class="na">getLongForm</span><span class="o">().</span><span class="na">equals</span><span class="o">(</span><span class="n">key</span><span class="o">))</span> <span class="o">)</span> + <span class="o">{</span> + <span class="n">match</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> + <span class="k">break</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">}</span> + + <span class="k">if</span> <span class="o">(!</span><span class="n">match</span><span class="o">)</span> + <span class="o">{</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">op</span> <span class="o">+</span> <span class="s">" is not a valid option"</span><span class="o">);</span> + <span class="n">System</span><span class="o">.</span><span class="na">exit</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span> + <span class="o">}</span> + + <span class="k">if</span> <span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'='</span><span class="o">)</span> <span class="o">></span> <span class="mi">0</span><span class="o">)</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">val</span> <span class="o">=</span> <span class="n">extractValue</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'='</span><span class="o">)+</span><span class="mi">1</span><span class="o">));</span> + <span class="k">if</span> <span class="o">(</span><span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">key</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">optMap</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="n">key</span><span class="o">,</span> <span class="n">optMap</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">key</span><span class="o">)</span> <span class="o">+</span> <span class="s">","</span> <span class="o">+</span> <span class="n">val</span><span class="o">);</span> + <span class="o">}</span> + <span class="k">else</span> + <span class="o">{</span> + <span class="n">optMap</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="n">key</span><span class="o">,</span> <span class="n">val</span><span class="o">);</span> + <span class="o">}</span> + <span class="o">}</span> + <span class="k">else</span> + <span class="o">{</span> + <span class="k">if</span> <span class="o">(!</span> <span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">key</span><span class="o">)){</span> <span class="n">optMap</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="n">key</span><span class="o">,</span> <span class="s">""</span><span class="o">);</span> <span class="o">}</span> + <span class="n">prevOpt</span> <span class="o">=</span> <span class="n">key</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">}</span> + <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">prevOpt</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="c1">// this is to catch broker localhost:5672 instead broker=localhost:5672</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">val</span> <span class="o">=</span> <span class="n">extractValue</span><span class="o">(</span><span class="n">op</span><span class="o">);</span> + <span class="k">if</span> <span class="o">(</span><span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">prevOpt</span><span class="o">)</span> <span class="o">&&</span> <span class="o">!</span><span class="n">optMap</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">prevOpt</span><span class="o">).</span><span class="na">toString</span><span class="o">().</span><span class="na">equals</span><span class="o">(</span><span class="s">""</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">optMap</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="n">prevOpt</span><span class="o">,</span> <span class="n">optMap</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">prevOpt</span><span class="o">)</span> <span class="o">+</span> <span class="s">","</span> <span class="o">+</span> <span class="n">val</span><span class="o">);</span> + <span class="o">}</span> + <span class="k">else</span> + <span class="o">{</span> + <span class="n">optMap</span><span class="o">.</span><span class="na">put</span><span class="o">(</span><span class="n">prevOpt</span><span class="o">,</span> <span class="n">val</span><span class="o">);</span> + <span class="o">}</span> + <span class="n">prevOpt</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> + <span class="o">}</span> + <span class="k">else</span> + <span class="o">{</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">optMap</span><span class="o">);</span> + <span class="k">throw</span> <span class="k">new</span> <span class="n">IllegalArgumentException</span><span class="o">(</span><span class="n">op</span> <span class="o">+</span> <span class="s">" is not a valid option"</span><span class="o">);</span> + <span class="o">}</span> + <span class="o">}</span> + <span class="o">}</span> + + <span class="kd">private</span> <span class="n">String</span> <span class="nf">extractValue</span><span class="o">(</span><span class="n">String</span> <span class="n">op</span><span class="o">)</span> + <span class="o">{</span> + <span class="k">if</span> <span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">startsWith</span><span class="o">(</span><span class="s">"'"</span><span class="o">))</span> + <span class="o">{</span> + <span class="k">if</span> <span class="o">(!</span><span class="n">op</span><span class="o">.</span><span class="na">endsWith</span><span class="o">(</span><span class="s">"'"</span><span class="o">))</span> + <span class="o">{</span> + <span class="k">throw</span> <span class="k">new</span> <span class="n">IllegalArgumentException</span><span class="o">(</span><span class="s">" The option "</span> <span class="o">+</span> <span class="n">op</span> <span class="o">+</span> <span class="s">" needs to be inside quotes"</span><span class="o">);</span> + <span class="o">}</span> + + <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="mi">1</span><span class="o">,</span><span class="n">op</span><span class="o">.</span><span class="na">length</span><span class="o">()</span> <span class="o">-</span><span class="mi">1</span><span class="o">);</span> + <span class="o">}</span> + <span class="k">else</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">op</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">}</span> + + <span class="kd">protected</span> <span class="kt">boolean</span> <span class="nf">containsOp</span><span class="o">(</span><span class="n">Option</span> <span class="n">op</span><span class="o">)</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">getShortForm</span><span class="o">())</span> <span class="o">||</span> <span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">getLongForm</span><span class="o">());</span> + <span class="o">}</span> + + <span class="kd">protected</span> <span class="n">String</span> <span class="nf">getOp</span><span class="o">(</span><span class="n">Option</span> <span class="n">op</span><span class="o">)</span> + <span class="o">{</span> + <span class="k">if</span> <span class="o">(</span><span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">getShortForm</span><span class="o">()))</span> + <span class="o">{</span> + <span class="k">return</span> <span class="o">(</span><span class="n">String</span><span class="o">)</span><span class="n">optMap</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">getShortForm</span><span class="o">());</span> + <span class="o">}</span> + <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="n">optMap</span><span class="o">.</span><span class="na">containsKey</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">getLongForm</span><span class="o">()))</span> + <span class="o">{</span> + <span class="k">return</span> <span class="o">(</span><span class="n">String</span><span class="o">)</span><span class="n">optMap</span><span class="o">.</span><span class="na">get</span><span class="o">(</span><span class="n">op</span><span class="o">.</span><span class="na">getLongForm</span><span class="o">());</span> + <span class="o">}</span> + <span class="k">else</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="na">getDefaultValue</span><span class="o">();</span> + <span class="o">}</span> + <span class="o">}</span> + + <span class="kd">protected</span> <span class="n">Connection</span> <span class="nf">createConnection</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">Exception</span> + <span class="o">{</span> + <span class="n">StringBuffer</span> <span class="n">buf</span><span class="o">;</span> + <span class="n">buf</span> <span class="o">=</span> <span class="k">new</span> <span class="n">StringBuffer</span><span class="o">();</span> + <span class="n">buf</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="s">"amqp://"</span><span class="o">);</span> + <span class="n">String</span> <span class="n">userPass</span> <span class="o">=</span> <span class="s">"guest:guest"</span><span class="o">;</span> + <span class="n">String</span> <span class="n">broker</span> <span class="o">=</span> <span class="s">"localhost:5672"</span><span class="o">;</span> + <span class="k">if</span><span class="o">(</span><span class="n">containsOp</span><span class="o">(</span><span class="n">BROKER</span><span class="o">))</span> + <span class="o">{</span> + <span class="k">try</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">b</span> <span class="o">=</span> <span class="n">getOp</span><span class="o">(</span><span class="n">BROKER</span><span class="o">);</span> + <span class="n">userPass</span> <span class="o">=</span> <span class="n">b</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span><span class="n">b</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'@'</span><span class="o">));</span> + <span class="n">broker</span> <span class="o">=</span> <span class="n">b</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="n">b</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'@'</span><span class="o">)+</span><span class="mi">1</span><span class="o">);</span> + <span class="o">}</span> + <span class="k">catch</span> <span class="o">(</span><span class="n">StringIndexOutOfBoundsException</span> <span class="n">e</span><span class="o">)</span> + <span class="o">{</span> + <span class="n">Exception</span> <span class="n">ex</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Exception</span><span class="o">(</span><span class="s">"Error parsing broker string "</span> <span class="o">+</span> <span class="n">getOp</span><span class="o">(</span><span class="n">BROKER</span><span class="o">));</span> + <span class="n">ex</span><span class="o">.</span><span class="na">initCause</span><span class="o">(</span><span class="n">e</span><span class="o">);</span> + <span class="k">throw</span> <span class="n">ex</span><span class="o">;</span> + <span class="o">}</span> + + <span class="o">}</span> + + <span class="k">if</span><span class="o">(</span><span class="n">containsOp</span><span class="o">(</span><span class="n">BROKER_OPTIONS</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">bOps</span> <span class="o">=</span> <span class="n">getOp</span><span class="o">(</span><span class="n">BROKER_OPTIONS</span><span class="o">);</span> + <span class="n">bOps</span> <span class="o">=</span> <span class="n">bOps</span><span class="o">.</span><span class="na">replaceAll</span><span class="o">(</span><span class="s">","</span><span class="o">,</span> <span class="s">"'&"</span><span class="o">);</span> + <span class="n">bOps</span> <span class="o">=</span> <span class="n">bOps</span><span class="o">.</span><span class="na">replaceAll</span><span class="o">(</span><span class="s">"="</span><span class="o">,</span> <span class="s">"='"</span><span class="o">);</span> + <span class="n">broker</span> <span class="o">=</span> <span class="n">broker</span> <span class="o">+</span> <span class="s">"?"</span> <span class="o">+</span> <span class="n">bOps</span> <span class="o">+</span> <span class="s">"'"</span><span class="o">;</span> + <span class="o">}</span> + <span class="n">buf</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">userPass</span><span class="o">);</span> + <span class="n">buf</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="s">"@"</span><span class="o">);</span> + <span class="n">buf</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">CLIENTID</span><span class="o">);</span> + <span class="n">buf</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="s">"/?brokerlist='tcp://"</span><span class="o">);</span> + <span class="n">buf</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="n">broker</span><span class="o">).</span><span class="na">append</span><span class="o">(</span><span class="s">"'"</span><span class="o">);</span> + <span class="k">if</span><span class="o">(</span><span class="n">containsOp</span><span class="o">(</span><span class="n">CON_OPTIONS</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">bOps</span> <span class="o">=</span> <span class="n">getOp</span><span class="o">(</span><span class="n">CON_OPTIONS</span><span class="o">);</span> + <span class="n">bOps</span> <span class="o">=</span> <span class="n">bOps</span><span class="o">.</span><span class="na">replaceAll</span><span class="o">(</span><span class="s">","</span><span class="o">,</span> <span class="s">"'&"</span><span class="o">);</span> + <span class="n">bOps</span> <span class="o">=</span> <span class="n">bOps</span><span class="o">.</span><span class="na">replaceAll</span><span class="o">(</span><span class="s">"="</span><span class="o">,</span> <span class="s">"='"</span><span class="o">);</span> + <span class="n">buf</span><span class="o">.</span><span class="na">append</span><span class="o">(</span><span class="s">"&"</span><span class="o">).</span><span class="na">append</span><span class="o">(</span><span class="n">bOps</span><span class="o">).</span><span class="na">append</span><span class="o">(</span><span class="s">"'"</span><span class="o">);</span> + <span class="o">}</span> + + <span class="n">Connection</span> <span class="n">con</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AMQConnection</span><span class="o">(</span><span class="n">buf</span><span class="o">.</span><span class="na">toString</span><span class="o">());</span> + <span class="k">return</span> <span class="n">con</span><span class="o">;</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">addOption</span><span class="o">(</span><span class="n">Option</span> <span class="n">opt</span><span class="o">)</span> + <span class="o">{</span> + <span class="n">optDefs</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">opt</span><span class="o">);</span> + <span class="o">}</span> + + <span class="kd">protected</span> <span class="n">String</span> <span class="nf">getAddress</span><span class="o">()</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">address</span><span class="o">;</span> + <span class="o">}</span> + + <span class="kd">static</span> <span class="kd">class</span> <span class="nc">Option</span> + <span class="o">{</span> + <span class="kd">private</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">shortForm</span><span class="o">;</span> + <span class="kd">private</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">longForm</span><span class="o">;</span> + <span class="kd">private</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">desc</span><span class="o">;</span> + <span class="kd">private</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">valueLabel</span><span class="o">;</span> + <span class="kd">private</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">defaultValue</span><span class="o">;</span> + <span class="kd">private</span> <span class="kd">final</span> <span class="n">Class</span> <span class="n">type</span><span class="o">;</span> + + <span class="kd">public</span> <span class="nf">Option</span><span class="o">(</span><span class="n">String</span> <span class="n">shortForm</span><span class="o">,</span> <span class="n">String</span> <span class="n">longForm</span><span class="o">,</span> <span class="n">String</span> <span class="n">desc</span><span class="o">,</span> + <span class="n">String</span> <span class="n">valueLabel</span><span class="o">,</span> <span class="n">String</span> <span class="n">defaultValue</span><span class="o">,</span> <span class="n">Class</span> <span class="n">type</span><span class="o">)</span> + <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">shortForm</span> <span class="o">=</span> <span class="n">shortForm</span><span class="o">;</span> + <span class="k">this</span><span class="o">.</span><span class="na">longForm</span> <span class="o">=</span> <span class="n">longForm</span><span class="o">;</span> + <span class="k">this</span><span class="o">.</span><span class="na">defaultValue</span> <span class="o">=</span> <span class="n">defaultValue</span><span class="o">;</span> + <span class="k">this</span><span class="o">.</span><span class="na">type</span> <span class="o">=</span> <span class="n">type</span><span class="o">;</span> + <span class="k">this</span><span class="o">.</span><span class="na">desc</span> <span class="o">=</span> <span class="n">desc</span><span class="o">;</span> + <span class="k">this</span><span class="o">.</span><span class="na">valueLabel</span> <span class="o">=</span> <span class="n">valueLabel</span><span class="o">;</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="n">String</span> <span class="nf">getShortForm</span><span class="o">()</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">shortForm</span><span class="o">;</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="n">String</span> <span class="nf">getLongForm</span><span class="o">()</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">longForm</span><span class="o">;</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="n">String</span> <span class="nf">getDefaultValue</span><span class="o">()</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">defaultValue</span><span class="o">;</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="n">Class</span> <span class="nf">getType</span><span class="o">()</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">type</span><span class="o">;</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="n">String</span> <span class="nf">getDesc</span><span class="o">()</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">desc</span><span class="o">;</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="n">String</span> <span class="nf">getValueLabel</span><span class="o">()</span> + <span class="o">{</span> + <span class="k">return</span> <span class="n">valueLabel</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">}</span> +<span class="o">}</span> +</pre></div> + +<p><a href="OptionParser.java">Download this file</a></p> http://git-wip-us.apache.org/repos/asf/qpid-site/blob/2069e43d/input/releases/qpid-java-6.0.3/qpid-jms/examples/Spout.java ---------------------------------------------------------------------- diff --git a/input/releases/qpid-java-6.0.3/qpid-jms/examples/Spout.java b/input/releases/qpid-java-6.0.3/qpid-jms/examples/Spout.java new file mode 100644 index 0000000..09e813f --- /dev/null +++ b/input/releases/qpid-java-6.0.3/qpid-jms/examples/Spout.java @@ -0,0 +1,149 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.apache.qpid.example; + +import javax.jms.Connection; +import javax.jms.Destination; +import javax.jms.MapMessage; +import javax.jms.Message; +import javax.jms.MessageProducer; +import javax.jms.Session; + +import org.apache.qpid.client.AMQAnyDestination; + +public class Spout extends OptionParser +{ + + static final Option COUNT = new Option("c", + "count", + "stop after count messages have been sent, zero disables", + "COUNT", + "1", + Integer.class); + + static final Option ID = new Option("i", + "id", + "use the supplied id instead of generating one", + null, + null, + Boolean.class); + + static final Option CONTENT = new Option(null, + "content", + "specify textual content", + "TEXT", + null, + Boolean.class); + + static final Option MSG_PROPERTY = new Option("P", + "property", + "specify message property", + "NAME=VALUE", + null, + Boolean.class); + + static final Option MAP_ENTRY = new Option("M", + "map", + "specify entry for map content", + "KEY=VALUE", + null, + Boolean.class); + + static + { + addOption(BROKER); + addOption(HELP); + addOption(TIMEOUT); + addOption(COUNT); + addOption(MSG_PROPERTY); + addOption(MAP_ENTRY); + addOption(CONTENT); + addOption(CON_OPTIONS); + addOption(BROKER_OPTIONS); + } + + public Spout(String[] args, String usage, String desc) throws Exception + { + super(args, usage, desc); + + Connection con = createConnection(); + con.start(); + Session ssn = con.createSession(false,Session.AUTO_ACKNOWLEDGE); + Destination dest = new AMQAnyDestination(getAddress()); + MessageProducer producer = ssn.createProducer(dest); + + int count = Integer.parseInt(getOp(COUNT)); + + for (int i=0; i < count; i++) + { + Message msg = createMessage(ssn); + producer.send(msg); + System.out.println("\n------------- Msg -------------"); + System.out.println(msg); + System.out.println("-------------------------------\n"); + } + producer.close(); + ssn.close(); + con.close(); + } + + private Message createMessage(Session ssn) throws Exception + { + if (containsOp(MAP_ENTRY)) + { + MapMessage msg = ssn.createMapMessage(); + for (String pair: getOp(MAP_ENTRY).split(",")) + { + msg.setString(pair.substring(0, pair.indexOf('=')), + pair.substring(pair.indexOf('=') + 1)); + } + setProperties(msg); + return msg; + } + else + { + Message msg = + ssn.createTextMessage(containsOp(CONTENT) ? getOp(CONTENT) : ""); + setProperties(msg); + return msg; + } + } + + private void setProperties(Message m) throws Exception + { + if(containsOp(MSG_PROPERTY)) + { + for (String pair: getOp(MSG_PROPERTY).split(",")) + { + m.setStringProperty(pair.substring(0, pair.indexOf('=')), + pair.substring(pair.indexOf('=') + 1)); + } + } + } + + public static void main(String[] args) throws Exception + { + String u = "Usage: spout [OPTIONS] 'ADDRESS'"; + String d = "Send messages to the specified address."; + + new Spout(args,u,d); + } +} http://git-wip-us.apache.org/repos/asf/qpid-site/blob/2069e43d/input/releases/qpid-java-6.0.3/qpid-jms/examples/Spout.java.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-java-6.0.3/qpid-jms/examples/Spout.java.html.in b/input/releases/qpid-java-6.0.3/qpid-jms/examples/Spout.java.html.in new file mode 100644 index 0000000..7302a4e --- /dev/null +++ b/input/releases/qpid-java-6.0.3/qpid-jms/examples/Spout.java.html.in @@ -0,0 +1,134 @@ + +<h1>Spout.java</h1> +<div class="highlight"><pre><span></span><span class="kn">package</span> <span class="nn">org.apache.qpid.example</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">javax.jms.Connection</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.jms.Destination</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.jms.MapMessage</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.jms.Message</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.jms.MessageProducer</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.jms.Session</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">org.apache.qpid.client.AMQAnyDestination</span><span class="o">;</span> + +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">Spout</span> <span class="kd">extends</span> <span class="n">OptionParser</span> +<span class="o">{</span> + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">COUNT</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="s">"c"</span><span class="o">,</span> + <span class="s">"count"</span><span class="o">,</span> + <span class="s">"stop after count messages have been sent, zero disables"</span><span class="o">,</span> + <span class="s">"COUNT"</span><span class="o">,</span> + <span class="s">"1"</span><span class="o">,</span> + <span class="n">Integer</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">ID</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="s">"i"</span><span class="o">,</span> + <span class="s">"id"</span><span class="o">,</span> + <span class="s">"use the supplied id instead of generating one"</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="n">Boolean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">CONTENT</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> + <span class="s">"content"</span><span class="o">,</span> + <span class="s">"specify textual content"</span><span class="o">,</span> + <span class="s">"TEXT"</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="n">Boolean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">MSG_PROPERTY</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="s">"P"</span><span class="o">,</span> + <span class="s">"property"</span><span class="o">,</span> + <span class="s">"specify message property"</span><span class="o">,</span> + <span class="s">"NAME=VALUE"</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="n">Boolean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">static</span> <span class="kd">final</span> <span class="n">Option</span> <span class="n">MAP_ENTRY</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Option</span><span class="o">(</span><span class="s">"M"</span><span class="o">,</span> + <span class="s">"map"</span><span class="o">,</span> + <span class="s">"specify entry for map content"</span><span class="o">,</span> + <span class="s">"KEY=VALUE"</span><span class="o">,</span> + <span class="kc">null</span><span class="o">,</span> + <span class="n">Boolean</span><span class="o">.</span><span class="na">class</span><span class="o">);</span> + + <span class="kd">static</span> + <span class="o">{</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">BROKER</span><span class="o">);</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">HELP</span><span class="o">);</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">TIMEOUT</span><span class="o">);</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">COUNT</span><span class="o">);</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">MSG_PROPERTY</span><span class="o">);</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">MAP_ENTRY</span><span class="o">);</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">CONTENT</span><span class="o">);</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">CON_OPTIONS</span><span class="o">);</span> + <span class="n">addOption</span><span class="o">(</span><span class="n">BROKER_OPTIONS</span><span class="o">);</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="nf">Spout</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">,</span> <span class="n">String</span> <span class="n">usage</span><span class="o">,</span> <span class="n">String</span> <span class="n">desc</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> + <span class="o">{</span> + <span class="kd">super</span><span class="o">(</span><span class="n">args</span><span class="o">,</span> <span class="n">usage</span><span class="o">,</span> <span class="n">desc</span><span class="o">);</span> + + <span class="n">Connection</span> <span class="n">con</span> <span class="o">=</span> <span class="n">createConnection</span><span class="o">();</span> + <span class="n">con</span><span class="o">.</span><span class="na">start</span><span class="o">();</span> + <span class="n">Session</span> <span class="n">ssn</span> <span class="o">=</span> <span class="n">con</span><span class="o">.</span><span class="na">createSession</span><span class="o">(</span><span class="kc">false</span><span class="o">,</span><span class="n">Session</span><span class="o">.</span><span class="na">AUTO_ACKNOWLEDGE</span><span class="o">);</span> + <span class="n">Destination</span> <span class="n">dest</span> <span class="o">=</span> <span class="k">new</span> <span class="n">AMQAnyDestination</span><span class="o">(</span><span class="n">getAddress</span><span class="o">());</span> + <span class="n">MessageProducer</span> <span class="n">producer</span> <span class="o">=</span> <span class="n">ssn</span><span class="o">.</span><span class="na">createProducer</span><span class="o">(</span><span class="n">dest</span><span class="o">);</span> + + <span class="kt">int</span> <span class="n">count</span> <span class="o">=</span> <span class="n">Integer</span><span class="o">.</span><span class="na">parseInt</span><span class="o">(</span><span class="n">getOp</span><span class="o">(</span><span class="n">COUNT</span><span class="o">));</span> + + <span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">count</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> + <span class="o">{</span> + <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> <span class="n">createMessage</span><span class="o">(</span><span class="n">ssn</span><span class="o">);</span> + <span class="n">producer</span><span class="o">.</span><span class="na">send</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"\n------------- Msg -------------"</span><span class="o">);</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span> + <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">"-------------------------------\n"</span><span class="o">);</span> + <span class="o">}</span> + <span class="n">producer</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> + <span class="n">ssn</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> + <span class="n">con</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> + <span class="o">}</span> + + <span class="kd">private</span> <span class="n">Message</span> <span class="nf">createMessage</span><span class="o">(</span><span class="n">Session</span> <span class="n">ssn</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> + <span class="o">{</span> + <span class="k">if</span> <span class="o">(</span><span class="n">containsOp</span><span class="o">(</span><span class="n">MAP_ENTRY</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">MapMessage</span> <span class="n">msg</span> <span class="o">=</span> <span class="n">ssn</span><span class="o">.</span><span class="na">createMapMessage</span><span class="o">();</span> + <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">pair</span><span class="o">:</span> <span class="n">getOp</span><span class="o">(</span><span class="n">MAP_ENTRY</span><span class="o">).</span><span class="na">split</span><span class="o">(</span><span class="s">","</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">msg</span><span class="o">.</span><span class="na">setString</span><span class="o">(</span><span class="n">pair</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="n">pair</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'='</span><span class="o">)),</span> + <span class="n">pair</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="n">pair</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'='</span><span class="o">)</span> <span class="o">+</span> <span class="mi">1</span><span class="o">));</span> + <span class="o">}</span> + <span class="n">setProperties</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span> + <span class="k">return</span> <span class="n">msg</span><span class="o">;</span> + <span class="o">}</span> + <span class="k">else</span> + <span class="o">{</span> + <span class="n">Message</span> <span class="n">msg</span> <span class="o">=</span> + <span class="n">ssn</span><span class="o">.</span><span class="na">createTextMessage</span><span class="o">(</span><span class="n">containsOp</span><span class="o">(</span><span class="n">CONTENT</span><span class="o">)</span> <span class="o">?</span> <span class="n">getOp</span><span class="o">(</span><span class="n">CONTENT</span><span class="o">)</span> <span class="o">:</span> <span class="s">""</span><span class="o">);</span> + <span class="n">setProperties</span><span class="o">(</span><span class="n">msg</span><span class="o">);</span> + <span class="k">return</span> <span class="n">msg</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">}</span> + + <span class="kd">private</span> <span class="kt">void</span> <span class="nf">setProperties</span><span class="o">(</span><span class="n">Message</span> <span class="n">m</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> + <span class="o">{</span> + <span class="k">if</span><span class="o">(</span><span class="n">containsOp</span><span class="o">(</span><span class="n">MSG_PROPERTY</span><span class="o">))</span> + <span class="o">{</span> + <span class="k">for</span> <span class="o">(</span><span class="n">String</span> <span class="n">pair</span><span class="o">:</span> <span class="n">getOp</span><span class="o">(</span><span class="n">MSG_PROPERTY</span><span class="o">).</span><span class="na">split</span><span class="o">(</span><span class="s">","</span><span class="o">))</span> + <span class="o">{</span> + <span class="n">m</span><span class="o">.</span><span class="na">setStringProperty</span><span class="o">(</span><span class="n">pair</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="n">pair</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'='</span><span class="o">)),</span> + <span class="n">pair</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="n">pair</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'='</span><span class="o">)</span> <span class="o">+</span> <span class="mi">1</span><span class="o">));</span> + <span class="o">}</span> + <span class="o">}</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> + <span class="o">{</span> + <span class="n">String</span> <span class="n">u</span> <span class="o">=</span> <span class="s">"Usage: spout [OPTIONS] 'ADDRESS'"</span><span class="o">;</span> + <span class="n">String</span> <span class="n">d</span> <span class="o">=</span> <span class="s">"Send messages to the specified address."</span><span class="o">;</span> + + <span class="k">new</span> <span class="n">Spout</span><span class="o">(</span><span class="n">args</span><span class="o">,</span><span class="n">u</span><span class="o">,</span><span class="n">d</span><span class="o">);</span> + <span class="o">}</span> +<span class="o">}</span> +</pre></div> + +<p><a href="Spout.java">Download this file</a></p> http://git-wip-us.apache.org/repos/asf/qpid-site/blob/2069e43d/input/releases/qpid-java-6.0.3/qpid-jms/examples/hello.properties ---------------------------------------------------------------------- diff --git a/input/releases/qpid-java-6.0.3/qpid-jms/examples/hello.properties b/input/releases/qpid-java-6.0.3/qpid-jms/examples/hello.properties new file mode 100644 index 0000000..fdfbd41 --- /dev/null +++ b/input/releases/qpid-java-6.0.3/qpid-jms/examples/hello.properties @@ -0,0 +1,27 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +java.naming.factory.initial = org.apache.qpid.jndi.PropertiesFileInitialContextFactory + +# register some connection factories +# connectionfactory.[jndiname] = [ConnectionURL] +connectionfactory.qpidConnectionfactory = amqp://guest:guest@clientid/?brokerlist='tcp://localhost:5672' + +# Register an AMQP destination in JNDI +# destination.[jniName] = [Address Format] +destination.topicExchange = amq.topic http://git-wip-us.apache.org/repos/asf/qpid-site/blob/2069e43d/input/releases/qpid-java-6.0.3/qpid-jms/examples/hello.properties.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-java-6.0.3/qpid-jms/examples/hello.properties.html.in b/input/releases/qpid-java-6.0.3/qpid-jms/examples/hello.properties.html.in new file mode 100644 index 0000000..4cf2102 --- /dev/null +++ b/input/releases/qpid-java-6.0.3/qpid-jms/examples/hello.properties.html.in @@ -0,0 +1,14 @@ + +<h1>hello.properties</h1> +<div class="highlight"><pre><span></span><span class="na">java.naming.factory.initial</span> <span class="o">=</span> <span class="s">org.apache.qpid.jndi.PropertiesFileInitialContextFactory</span> + +<span class="c1"># register some connection factories</span> +<span class="c1"># connectionfactory.[jndiname] = [ConnectionURL]</span> +<span class="na">connectionfactory.qpidConnectionfactory</span> <span class="o">=</span> <span class="s">amqp://guest:guest@clientid/?brokerlist='tcp://localhost:5672'</span> + +<span class="c1"># Register an AMQP destination in JNDI</span> +<span class="c1"># destination.[jniName] = [Address Format]</span> +<span class="na">destination.topicExchange</span> <span class="o">=</span> <span class="s">amq.topic</span> +</pre></div> + +<p><a href="hello.properties">Download this file</a></p> http://git-wip-us.apache.org/repos/asf/qpid-site/blob/2069e43d/input/releases/qpid-java-6.0.3/qpid-jms/examples/index.md ---------------------------------------------------------------------- diff --git a/input/releases/qpid-java-6.0.3/qpid-jms/examples/index.md b/input/releases/qpid-java-6.0.3/qpid-jms/examples/index.md new file mode 100644 index 0000000..3a32ec9 --- /dev/null +++ b/input/releases/qpid-java-6.0.3/qpid-jms/examples/index.md @@ -0,0 +1,19 @@ + +# Qpid JMS Examples (AMQP 0-10) + +## Example files + + - [Drain.java](Drain.java.html) + - [Hello.java](Hello.java.html) + - [ListReceiver.java](ListReceiver.java.html) + - [ListSender.java](ListSender.java.html) + - [MapReceiver.java](MapReceiver.java.html) + - [MapSender.java](MapSender.java.html) + - [OptionParser.java](OptionParser.java.html) + - [Spout.java](Spout.java.html) + - [hello.properties](hello.properties.html) + +## More information + + - [README](http://svn.apache.org/repos/asf/qpid/java/tags/6.0.3/client/README.txt) + - [Source location](http://svn.apache.org/repos/asf/qpid/java/tags/6.0.3/client/example/src/main/java/org/apache/qpid/example) http://git-wip-us.apache.org/repos/asf/qpid-site/blob/2069e43d/input/releases/qpid-java-6.0.3/release-notes.md ---------------------------------------------------------------------- diff --git a/input/releases/qpid-java-6.0.3/release-notes.md b/input/releases/qpid-java-6.0.3/release-notes.md new file mode 100644 index 0000000..8f68fee --- /dev/null +++ b/input/releases/qpid-java-6.0.3/release-notes.md @@ -0,0 +1,55 @@ +;; +;; Licensed to the Apache Software Foundation (ASF) under one +;; or more contributor license agreements. See the NOTICE file +;; distributed with this work for additional information +;; regarding copyright ownership. The ASF licenses this file +;; to you under the Apache License, Version 2.0 (the +;; "License"); you may not use this file except in compliance +;; with the License. You may obtain a copy of the License at +;; +;; http://www.apache.org/licenses/LICENSE-2.0 +;; +;; Unless required by applicable law or agreed to in writing, +;; software distributed under the License is distributed on an +;; "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +;; KIND, either express or implied. See the License for the +;; specific language governing permissions and limitations +;; under the License. +;; + +# Qpid Java 6.0.3 Release Notes + +Qpid Java offers an AMQP-fluent implementation of JMS and a message +broker written in Java that stores, routes, and forwards messages +using AMQP. + +For more information about this release, including download links and +documentation, see the [release overview](index.html). + + +## New features and improvements + + - [QPID-7209](https://issues.apache.org/jira/browse/QPID-7209) - [Java Broker, WMC] Enable HTTP compression by default + - [QPID-7210](https://issues.apache.org/jira/browse/QPID-7210) - [Java Broker, WMC] REST requests to VirtualHost and getConnections should be made in parallel + - [QPID-7211](https://issues.apache.org/jira/browse/QPID-7211) - [Java Broker, WMC] Do not transfer inherited context variables + - [QPID-7216](https://issues.apache.org/jira/browse/QPID-7216) - [Java Broker, WMC] add new ManagedOperation to retrieve Connections less verbose + - [QPID-7255](https://issues.apache.org/jira/browse/QPID-7255) - Support delivery delay + - [QPID-7271](https://issues.apache.org/jira/browse/QPID-7271) - Improve exception handling for PlainSaslServer + +## Bugs fixed + + - [QPID-5816](https://issues.apache.org/jira/browse/QPID-5816) - [Java Client 0-10] If a resolved destination is used to create a consumer on a new connection created after destination was resolved, the client does not try to create the destination on the broker + - [QPID-6096](https://issues.apache.org/jira/browse/QPID-6096) - java broker doesn't indicate that port is already in use + - [QPID-7231](https://issues.apache.org/jira/browse/QPID-7231) - Example of REST call to invoke the Queue clear queue operation is incorrect + - [QPID-7237](https://issues.apache.org/jira/browse/QPID-7237) - Excessive threads creation when suspending/resuming flow + - [QPID-7253](https://issues.apache.org/jira/browse/QPID-7253) - [Java Client 0-10] Application allowed to create new JMS session whilst failover is in progress + - [QPID-7257](https://issues.apache.org/jira/browse/QPID-7257) - [Java Broker] Correct connection state logging + - [QPID-7260](https://issues.apache.org/jira/browse/QPID-7260) - apache-release profile fails under JDK 1.8 due to javadoc errors + - [QPID-7267](https://issues.apache.org/jira/browse/QPID-7267) - [Java Broker] Content-Length header is set incorrectly when using compression + - [QPID-7268](https://issues.apache.org/jira/browse/QPID-7268) - message sent over 0-10 can't be received over 1.0 + - [QPID-7269](https://issues.apache.org/jira/browse/QPID-7269) - broker issues disposition for delivery that is already settled + +## Tasks + + - [QPID-7265](https://issues.apache.org/jira/browse/QPID-7265) - migrate the AMQP 0-10 JMS client docs out of the old combined doc book. + - [QPID-7266](https://issues.apache.org/jira/browse/QPID-7266) - RAT check fails on release archive due to generated file \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
