﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Prayer-随笔分类-GLASSFISH</title><link>http://www.cppblog.com/prayer/category/7979.html</link><description>在一般中寻求卓越</description><language>zh-cn</language><lastBuildDate>Tue, 19 Aug 2008 03:20:27 GMT</lastBuildDate><pubDate>Tue, 19 Aug 2008 03:20:27 GMT</pubDate><ttl>60</ttl><item><title>在Glassfish上建立多个domain</title><link>http://www.cppblog.com/prayer/archive/2008/08/19/59313.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Tue, 19 Aug 2008 02:20:00 GMT</pubDate><guid>http://www.cppblog.com/prayer/archive/2008/08/19/59313.html</guid><wfw:comment>http://www.cppblog.com/prayer/comments/59313.html</wfw:comment><comments>http://www.cppblog.com/prayer/archive/2008/08/19/59313.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/prayer/comments/commentRss/59313.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/prayer/services/trackbacks/59313.html</trackback:ping><description><![CDATA[<p>一般在Glassfish下面新建domain都是使用其自带的ANT文件setup.xml。有时需要建立多个domain来区分开发和生产环境。如果直接修改setup.xml中的domain.name来新建，则两个domain会由于端口冲突不能同时运行。setup.xml中列出了Glassfish用到的如下端口：</p>
<div class=dp-highlighter>
<div class=bar>
<div class=tools>Xml代码 <a title=复制代码 onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://mingliangfeng.javaeye.com/blog/199578#"><img alt=复制代码 src="http://mingliangfeng.javaeye.com/images/icon_copy.gif" _counted="undefined"></a></div>
</div>
<ol class=dp-xml>
    <li><span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"admin.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"4848"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"instance.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"8888"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"orb.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"3700"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"imq.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"7676"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"https.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"8181"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span> </li>
</ol>
</div>
<pre class=xml style="DISPLAY: none" name="code">&lt;property name="admin.port" value="4848"/&gt;
&lt;property name="instance.port" value="8888"/&gt;
&lt;property name="orb.port" value="3700"/&gt;
&lt;property name="imq.port" value="7676"/&gt;
&lt;property name="https.port" value="8181"/&gt;</pre>
<p>&nbsp;</p>
<p>但实际上Glassfish还用到了如下端口，这些端口没有在setup.xml中列出：</p>
<div class=dp-highlighter>
<div class=bar>
<div class=tools>Xml代码 <a title=复制代码 onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://mingliangfeng.javaeye.com/blog/199578#"><img alt=复制代码 src="http://mingliangfeng.javaeye.com/images/icon_copy.gif" _counted="undefined"></a></div>
</div>
<ol class=dp-xml>
    <li><span><span>orb.ssl.port &nbsp;&nbsp;</span></span>
    <li><span>orb.mutualauth.port &nbsp;&nbsp;</span>
    <li><span>domain.jmxPort&nbsp;&nbsp;</span> </li>
</ol>
</div>
<pre class=xml style="DISPLAY: none" name="code">orb.ssl.port
orb.mutualauth.port
domain.jmxPort</pre>
<p>&nbsp;</p>
<p>如果需要两个domain能同时运行，domain所用到的以上所有的端口都不能相同。上面列出的三个端口跟前面的一样，是通过"--domainproperties"在setup.xml中作为参数传入的：</p>
<div class=dp-highlighter>
<div class=bar>
<div class=tools>Xml代码 <a title=复制代码 onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://mingliangfeng.javaeye.com/blog/199578#"><img alt=复制代码 src="http://mingliangfeng.javaeye.com/images/icon_copy.gif" _counted="undefined"></a></div>
</div>
<ol class=dp-xml>
    <li><span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>target</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"create.domain"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>depends</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"setup.init,set.env"</font></span><span class=tag><strong><font color=#006699>&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>exec</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>executable</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"${ASADMIN}"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>failonerror</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"true"</font></span><span class=tag><strong><font color=#006699>&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;</span>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>arg</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>line</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"--domainproperties&nbsp;orb.listener.port=${orb.port}:jms.port=${imq.port}:http.ssl.port=${https.port}:domain.jmxPort=${jmx.admin}:orb.ssl.port=${iiop_ssl}:orb.mutualauth.port=${iiop_mutualauth}"</font></span><span>&nbsp;</span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><strong><font color=#006699><span class=tag>&lt;/</span><span class=tag-name>exec</span><span class=tag>&gt;</span></font></strong><span>&nbsp;&nbsp;</span></span>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;</span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;/</span><span class=tag-name>target</span><span class=tag>&gt;</span></font></strong><span>&nbsp;&nbsp;</span></span> </li>
</ol>
</div>
<pre class=xml style="DISPLAY: none" name="code">&lt;target name="create.domain" depends="setup.init,set.env"&gt;
&lt;exec executable="${ASADMIN}" failonerror="true"&gt;
...
&lt;arg line="--domainproperties orb.listener.port=${orb.port}:jms.port=${imq.port}:http.ssl.port=${https.port}:domain.jmxPort=${jmx.admin}:orb.ssl.port=${iiop_ssl}:orb.mutualauth.port=${iiop_mutualauth}" /&gt;
...
&lt;/exec&gt;
...
&lt;/target&gt;</pre>
<p>&nbsp;</p>
<p>这样在setup.xml中如下设置这些对应的属性即可：</p>
<div class=dp-highlighter>
<div class=bar>
<div class=tools>Xml代码 <a title=复制代码 onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://mingliangfeng.javaeye.com/blog/199578#"><img alt=复制代码 src="http://mingliangfeng.javaeye.com/images/icon_copy.gif" _counted="undefined"></a></div>
</div>
<ol class=dp-xml>
    <li><span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"admin.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"4848"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"instance.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"8888"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"orb.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"3700"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"imq.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"7676"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"https.port"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"8181"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span>&nbsp;&nbsp;</span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"iiop_ssl"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"3821"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"iiop_mutualauth"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"3921"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span>
    <li><span></span><strong><font color=#006699><span class=tag>&lt;</span><span class=tag-name>property</span></font></strong><span>&nbsp;</span><span class=attribute><font color=#ff0000>name</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"jmx.admin"</font></span><span>&nbsp;</span><span class=attribute><font color=#ff0000>value</font></span><span>=</span><span class=attribute-value><font color=#0000ff>"8687"</font></span><span class=tag><strong><font color=#006699>/&gt;</font></strong></span><span>&nbsp;&nbsp;</span></span> </li>
</ol>
</div>
<pre class=xml style="DISPLAY: none" name="code">&lt;property name="admin.port" value="4848"/&gt;
&lt;property name="instance.port" value="8888"/&gt;
&lt;property name="orb.port" value="3700"/&gt;
&lt;property name="imq.port" value="7676"/&gt;
&lt;property name="https.port" value="8181"/&gt;
&lt;property name="iiop_ssl" value="3821"/&gt;
&lt;property name="iiop_mutualauth" value="3921"/&gt;
&lt;property name="jmx.admin" value="8687"/&gt;</pre>
<p>&nbsp;</p>
<p>每次新建domain时，增加这些端口的值就可以保证新建的domain能正常启动而不与已有的domain发生端口冲突。</p>
<img src ="http://www.cppblog.com/prayer/aggbug/59313.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/prayer/" target="_blank">Prayer</a> 2008-08-19 10:20 <a href="http://www.cppblog.com/prayer/archive/2008/08/19/59313.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>