﻿<?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>BlogJava-j2ee绿洲-文章分类-JBOSS</title><link>http://www.blogjava.net/livery/category/38584.html</link><description>找到属于自己的一片天空</description><language>zh-cn</language><lastBuildDate>Sat, 28 Mar 2009 20:14:27 GMT</lastBuildDate><pubDate>Sat, 28 Mar 2009 20:14:27 GMT</pubDate><ttl>60</ttl><item><title>JBOSS与JPROFILE</title><link>http://www.blogjava.net/livery/articles/262555.html</link><dc:creator>心情经纬</dc:creator><author>心情经纬</author><pubDate>Sat, 28 Mar 2009 00:31:00 GMT</pubDate><guid>http://www.blogjava.net/livery/articles/262555.html</guid><wfw:comment>http://www.blogjava.net/livery/comments/262555.html</wfw:comment><comments>http://www.blogjava.net/livery/articles/262555.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/livery/comments/commentRss/262555.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/livery/services/trackbacks/262555.html</trackback:ping><description><![CDATA[<p><br />
JProfiler 是一个著名的用于 java 系统监控分析的软件，功能很强大，可以监控普通的 java application, applet, java web start, application server 等等。除了可以监控本地的程序，还可以对远程服务器上跑的应用进行监控。本文以 JBoss 为例，对 JProfiler 的安装、配置和使用做个简单介绍。</p>
<p>&nbsp;&nbsp;&nbsp; 先说一下环境：</p>
<p>&nbsp;&nbsp;&nbsp; 服务器：RedHat Linux 3.4.3-9.EL4（内核版本 2.6.9-5.ELsmp），JBoss 4.0.3，Sun JDK 1.5.0_08，JProfiler 4.3.2 for linux（安装包：jprofiler_linux_4_3_2.sh）<br />
&nbsp;&nbsp;&nbsp; 客户端：Windows XP，JProfiler 4.3.2 for windows（安装包：jprofiler_windows_4_3_2.exe）<br />
&nbsp;&nbsp;&nbsp; 客户端 JProfiler 安装：直接运行安装程序即可，没啥可说的。有一点就是安装过程中，norton 曾经报警，不理他，安完之后也没发现有什么问题<br />
&nbsp;&nbsp;&nbsp; 服务器端 JProfiler 安装：把 jprofiler_linux_4.3.2.sh 上传到到服务器，假设路径为 /opt/jprofiler4 （后文用 $JPROFILER_HOME指代）。用如下命令： # cd /opt/jprofiler4 # chmod +x *.sh # ./jprofiler_linux_4.3.2.sh -c<br />
&nbsp;&nbsp;&nbsp; 按照提示来安装，提示都很简单，不在多说。安装路径选择 $JPROFILER_HOME 。注意，这里的 -c 意思是用字符方式来安装，如果机器上没有 X 则加上该参数。</p>
<p>&nbsp;&nbsp;&nbsp; 服务器端的配置：</p>
<p>&nbsp;&nbsp;&nbsp; 1. 修改系统配置，在 LD_LIBRARY_PATH 里加入 JProfiler 的库文件所在路径 $JPROFILER_HOME/bin/linux-x86 ，如果是 64 位服务器，则选择 $JPROFILER_HOME/bin/linux-x64。<br />
&nbsp;&nbsp;&nbsp; 2. 修改 JBoss 的启动脚本，加入如下参数：<br />
-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:$JPROFILER_HOME/bin/agent.jar</p>
<p>&nbsp;&nbsp;&nbsp; 例如： $JAVA_HOME/bin/java $JAVA_OPTS -agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler-4.3.2/bin/agent.jar -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" -Djava.library.path=$JBOSS_HOME/server/default/lib -classpath "$JBOSS_CLASSPATH" org.jboss.Main -c default 1&gt;$JBOSS_CONSOLE 2&gt;&amp;1 &lt;/dev/null &amp; <br />
&nbsp;&nbsp;&nbsp; 8849 是默认的端口号</p>
<p>&nbsp;&nbsp;&nbsp; 3. 重新 login linux ，启动 jboss 。查看一下 $JBOSS_HOME/server/default/log/server.log ，可以看到 JBoss 并未启动，原因是上边的配置选择的启动模式，只有当一个 JProfiler GUI（指 Windows XP 下安装的 jprofiler ）的监听请求发过来时候，JProfiler才会真正的启动被监控的应用程序也就是 JBoss 。另外有一种启动模式与此不同，它可以直接启动被监控的应用程序而不必等待。这种配置稍微麻烦一点，以后在说。</p>
<p>&nbsp;&nbsp;&nbsp; 客户端的配置和使用：</p>
<p>&nbsp;&nbsp;&nbsp; 1. 运行 JProfiler 。第一次打开会有向导，忽略它。<br />
&nbsp;&nbsp;&nbsp; 2. 选择 Session-&gt;Integration Wizard-&gt;New Remote Integratation<br />
&nbsp;&nbsp;&nbsp; 3. 选择 On a remote computer；Platform of remote computer 选择 Linux x86/AMD 64；Next<br />
&nbsp;&nbsp;&nbsp; 4. 输入服务器 IP ；Next<br />
&nbsp;&nbsp;&nbsp; 5. 输入服务器上的 jprofiler 的安装路径，如 /opt/jprofiler4 ；next<br />
&nbsp;&nbsp;&nbsp; 6. 选择服务器的 JDK 环境，这里是：Sun，1.5.0，hotspot；next<br />
&nbsp;&nbsp;&nbsp; 7. 输入端口：这里是默认值 8849；next<br />
&nbsp;&nbsp;&nbsp; 8. 选择启动模式：这里选第一种 wait for a connection from the jprofiler GUI；next<br />
&nbsp;&nbsp;&nbsp; 9. 这里会列出需要在服务器端做的配置。上一步&#8220;服务器端的配置&#8221;我们已经做过了。如果在第 8 步选择了第二种启动方式 Don't wiat, start immediately ，这里也会列出相应的服务器端配置方法，可以参考。next<br />
&nbsp;&nbsp;&nbsp; 10. Finish</p>
<p>&nbsp;&nbsp;&nbsp; 此时 session 会被启动。在 profiling settings 对话框里，不用做任何修改，ok 即可。此时 session 被启动。观察一下服务器，发现 JBoss 也启动了。这时就可以在客户端看到 jboss 的运行情况，比如内存的占用等等。</p>
<p>&nbsp;&nbsp;&nbsp; 我用 jprofiler 主要是监控内存占用情况看是否有 member leak 。点左侧的 &#8220;VM Telemetry Views&#8221;可以看到 jboss 占用的内存情况。</p>
<img src ="http://www.blogjava.net/livery/aggbug/262555.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/livery/" target="_blank">心情经纬</a> 2009-03-28 08:31 <a href="http://www.blogjava.net/livery/articles/262555.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>整合ActiveMQ4.1.0与JBOSS4.0.5</title><link>http://www.blogjava.net/livery/articles/262554.html</link><dc:creator>心情经纬</dc:creator><author>心情经纬</author><pubDate>Sat, 28 Mar 2009 00:29:00 GMT</pubDate><guid>http://www.blogjava.net/livery/articles/262554.html</guid><wfw:comment>http://www.blogjava.net/livery/comments/262554.html</wfw:comment><comments>http://www.blogjava.net/livery/articles/262554.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/livery/comments/commentRss/262554.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/livery/services/trackbacks/262554.html</trackback:ping><description><![CDATA[<p>ActiveMQ本身是开源项目,所以采用ActiveMQ的项目往往也是以其他开源软件共同构建,目前主流开源应用服务器有Boss,geronimo,JOnAs，而其中geronimo 默认的JMS Provider就是ActiveMQ，那我们就着重介绍ActiveMQ与JBoss,JOnAs的整合方案。</p>
<p>&nbsp;&nbsp;&nbsp; 整合需要的环境. </p>
<p>&nbsp;&nbsp;&nbsp; jdk1.5 <br />
&nbsp;&nbsp;&nbsp; jboss-4.0.5.GA <br />
&nbsp;&nbsp;&nbsp; activemq-ra-4.1.0-incubator.rar (在ActiveMQ 4.* lib\optional 目录里面有对应的ra的压缩包) <br />
&nbsp;&nbsp;&nbsp; 开始整合前请确保jboss能够正确的启动起来。 </p>
<p>&nbsp;&nbsp;&nbsp; 整合步骤 </p>
<p>&nbsp;&nbsp;&nbsp; 1. 步骤一: 解压activemq-rar-4.1.0-incubator.rar 到 jboss-4.0.5.GA\server\default\deploy\activemq-ra.rar (这个是目录名字) 下面是activemq-rar.rar目录下面的文件和子目录,请注意红色标记的地方(后面会逐一说明,整合的过程) </p>
<p>activeio-core-3.0.0-incubator.jar&nbsp; activemq-core-4.1.0-incubator.jar&nbsp; activemq-ra-4.1.0-incubator.jar&nbsp; backport-util-concurrent-2.1.jar&nbsp; commons-logging-1.0.3.jar&nbsp; derby-10.1.1.0.jar&nbsp; geronimo-j2ee-management_1.0_spec-1.0.jar&nbsp; spring-2.0.jar&nbsp; spring-1.2.6.jar&nbsp; xbean-spring-2.7.jar&nbsp; broker-config.xml&nbsp; META-INF&nbsp; <br />
&nbsp;&nbsp;&nbsp; 2.步骤二. 删除多余的spring-1.2.6.jar,由于4.1.0的ra里面包含了2个不同版本的spring会触发一个exception的产生,https://issues.apache.org/activemq/browse/AMQ-1124, 而且为了以后能够使用新的spring schema配置方式,我们这里会删除spring-1.2.6.jar,保留spring-2.0.jar。(最新的snapshot version的ra已经去掉了这个多余的spring-1.2.6.jar). </p>
<p><br />
&nbsp;&nbsp;&nbsp; 3.步骤三: 修改META-INF\ra.xml,让JBoss使用broker-config.xml 作为默认的配置文件配置borker. 修改下面的地方 </p>
<p>&lt;config-property-value&gt;config-property-value&gt; &lt;!-- &lt;config-property-value&gt;xbean:broker-config.xml&lt;/config-property-value&gt;--&gt; <br />
&nbsp;&nbsp;&nbsp; 改为: <span style="color: red">&lt;!-- &lt;config-property-value&gt;&lt;/config-property-value&gt; --&gt; &lt;config-property-value&gt;xbean:broker-config.xmlconfig-property-value&gt;&nbsp;<br />
</span>&nbsp;&nbsp;&nbsp; 表示使用broker-config.xml来配置启动ActiveMQ. </p>
<p>&nbsp;&nbsp;&nbsp; 4.步骤四: 修改borker-config.xml,默认的borker-config.xml会产生一个错误,无论是我使用的版本还是最后的snapshot版本,默认的borker-config.xml都会让xbean-spring 2.7(snapshot 使用的是2.8)抛出exception.解决的办法如下，将 &lt;beans xmlns="http://activemq.org/config/1.0"&gt; &lt;broker useJmx="true" &gt; <br />
&nbsp;&nbsp;&nbsp; 改为 &lt;beans&gt; &lt;broker useJmx="true" xmlns="http://activemq.org/config/1.0"&gt; <br />
&nbsp;&nbsp;&nbsp; 即可 </p>
<p>&nbsp;&nbsp;&nbsp; 5.步骤五: 将xbean-spring-2.7.jar (或者是2.8) 复制到jboss-4.0.5.GA\server\default\lib下面 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 使用整合完毕的ActiveMQ作为ds绑定到JBoss的JNDI服务。 </p>
<p>&nbsp;&nbsp;&nbsp; 编写jboss-4.0.5.GA\server\default\depoly\activemq-ds.xml，xml 代码 <br />
&nbsp;&nbsp;&nbsp;&lt;? xml version="1.0" encoding="UTF-8" ?&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;!DOCTYPE connection-factories PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN" "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;connection-factories&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tx-connection-factory&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;jndi-name&gt;activemq/QueueConnectionFactory&lt;/jndi-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xa-transaction /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;track-connection-by-tx /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;rar-name&gt;activemq-ra.rar&lt;/rar-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;connection-definition&gt;javax.jms.QueueConnectionFactory&lt;/connection-definition&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;serverurl&gt;tcp://localhost:61616&lt;/serverurl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;min-pool-size&gt;1&lt;/min-pool-size&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;max-pool-size&gt;200&lt;/max-pool-size&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;blocking-timeout-millis&gt;30000&lt;/blocking-timeout-millis&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;idle-timeout-minutes&gt;3&lt;/idle-timeout-minutes&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tx-connection-factory&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tx-connection-factory&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;jndi-name&gt;activemq/TopicConnectionFactory&lt;/jndi-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xa-transaction /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;track-connection-by-tx /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;rar-name&gt;activemq-ra.rar&lt;/rar-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;connection-definition&gt;javax.jms.TopicConnectionFactory&lt;/connection-definition&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;serverurl&gt;tcp://localhost:61616&lt;/serverurl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;min-pool-size&gt;1&lt;/min-pool-size&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;max-pool-size&gt;200&lt;/max-pool-size&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;blocking-timeout-millis&gt;30000&lt;/blocking-timeout-millis&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;idle-timeout-minutes&gt;3&lt;/idle-timeout-minutes&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tx-connection-factory&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;mbean code="org.jboss.resource.deployment.AdminObject" name="activemq.queue:name=outboundQueue"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name="JNDIName"&gt;activemq/queue/outbound&lt;/attribute&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;depends optional-attribute-name="RARName"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jboss.jca:service=RARDeployment,name=&amp;apos;activemq-ra.rar&amp;apos;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/depends&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name="Type"&gt;javax.jms.Queue&lt;/attribute&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name="Properties"&gt;PhysicalName=queue.outbound&lt;/attribute&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/mbean&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;mbean code="org.jboss.resource.deployment.AdminObject" name="activemq.topic:name=inboundTopic"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name="JNDIName"&gt;activemq/topic/inbound&lt;/attribute&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;depends optional-attribute-name="RARName"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jboss.jca:service=RARDeployment,name=&amp;apos;activemq-ra.rar&amp;apos;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/depends&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name="Type"&gt;javax.jms.Topic&lt;/attribute&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;attribute name="Properties"&gt;PhysicalName=topic.inbound&lt;/attribute&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/mbean&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/connection-factories&gt;<br />
&nbsp;&nbsp;&nbsp; 启动JBoss.如果看见以下信息就表示ActiveMQ已经成功启动,并且使用上面的ds配置文件成功地将topic/queue绑定到了JNDI服务上。 <br />
&nbsp;..... <br />
&nbsp;[TransportConnector] Connector tcp://localhost:61616 Started <br />
&nbsp;[NetworkConnector] Network Connector bridge Started <br />
&nbsp;[BrokerService] ActiveMQ JMS Message Broker (localhost, ID:MyNoteBook-2165-1173250880171-1:0) started ...... <br />
&nbsp;[ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=activemq/QueueConnectionFactory' to JNDI name 'java:activemq/QueueConnectionFactory' <br />
&nbsp;[ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=activemq/TopicConnectionFactory' to JNDI name 'java:activemq/TopicConnectionFactory' <br />
&nbsp;[AdminObject] Bound admin object 'org.apache.activemq.command.ActiveMQQueue' at 'activemq/queue/outbound' <br />
&nbsp;[AdminObject] Bound admin object 'org.apache.activemq.command.ActiveMQTopic' at 'activemq/topic/inbound ...... <br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; 验证ActiveMQ+JBoss </p>
<p>&nbsp;&nbsp;&nbsp; 这里你可以使用简单的jms client连接到broker-config.xml里面的协议连接器上面,默认的是tcp://localhost:61616 <br />
在后面我们会在此整合基础上开发Message Driver Bean和使用spring MDP 2种构架 来验证本次ActiveMQ+JBoss的整合。</p>
<img src ="http://www.blogjava.net/livery/aggbug/262554.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/livery/" target="_blank">心情经纬</a> 2009-03-28 08:29 <a href="http://www.blogjava.net/livery/articles/262554.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JBOSS初探1、 基本目录结构</title><link>http://www.blogjava.net/livery/articles/262544.html</link><dc:creator>心情经纬</dc:creator><author>心情经纬</author><pubDate>Sat, 28 Mar 2009 00:07:00 GMT</pubDate><guid>http://www.blogjava.net/livery/articles/262544.html</guid><wfw:comment>http://www.blogjava.net/livery/comments/262544.html</wfw:comment><comments>http://www.blogjava.net/livery/articles/262544.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/livery/comments/commentRss/262544.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/livery/services/trackbacks/262544.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #00ff00"><span style="color: #ff00ff">$JBOSS-HOME/bin：<br />
</span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;放置各种脚本文件以及相关文件，包括jboss 启动和停止的可执行脚本文件。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff00ff">$JBOSS-HOME/client：</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;存储配置信息和可能被Java客户端应用程序或外部Web容器用到的jar文件，通常包括EJB客户端运行时所需要的jar&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff00ff">$JBOSS-HOME/docs：</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存在JBoss中引用到的XML文件和DTD文件（这里也提供了在JBoss中如何写配置文件的例子）、测试脚本。$JBOSS-HOME/docs/examples目录下有针对不通的数据库（如MySql、Oracle、SQL Server、Postgres等）配置数据源的JCA配置文件。&nbsp;相关DTD定义文件位于$JBOSS-HOME/docs/dtd，在其下的文件中可以查阅某个XML配置文件中某个元素或属性的意义。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff00ff"><span style="color: #ff00ff">$JBOSS-HOME/lib：</span></span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里存储运行JBoss微内核所需的jar文件。该目录下不要存储任何你自己的jar文件。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff00ff"><span style="color: #ff00ff">$JBOSS-HOME/server：</span></span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"－c &lt;配置名称&gt;"来确定。在server目录下有三个配置例子，即all、default和minimal，每一个配置安装的服务都不一样。其中default下是缺省配置。</p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; minimal：仅加载启动JBoss所需的最少服务，如日志服务、JNDI和URL部署扫描器（发现新的部署），不包含Web容器、EJB和JMS。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all：启动所有的服务，包括RMI/IIOP、集群服务和Web服务部署器（默认配置不会被加载）。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;启动JBoss时，如果run.bat不带任何参数，则使用的配置是server/default目录下的配置。如果要以其它目录下的配置启动JBoss，可以使用如下参数：&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; run -c all&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上述命令将以all目录下的配置信息启动JBoss。也可以在server目录下新建目录，按自己的需要写配置文件。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下面以default目录为例，介绍服务器配置的目录结构。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conf：该目录下有指定核心服务的jboss-service.xml文件，也可以放其它服务配置的文件。例如：jboss-log4j.xml 是log4j的配置文件&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data：该目录是JBoss内置的数据库Hypersonic存储数据的地方，也是JBossMQ（the JBoss implementation of JMS）存储相关信息的地方。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deploy：这是部署J2EE应用程序（jar、war和ear文件）的位置，只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和JCA资源适配器。默认已经有一些服务部署到这个目录。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jmx-console，你启动JBoss后即可访问。JBoss会周期性的扫描deploy目录，当有任何组件改变，JBoss会重新部署该程序。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jboss-web.deployer就是jboss集成tomcat所在的位置。启动端口号可以通过修改该目录下的server.xml来进行配置。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数据源配置文件文件格式必须是*-ds.xml的样式。不同的数据库配置参数可参考$JBOSS-HOME/docs/examples/jca/下的示例文档。有关参数的细节在下面会有一定的描述。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lib：存放服务器配置所需的jar文件、公共的jar文件，比如，你可以将JDBC jar文件、log4j的jar文件等等放在该目录下。&nbsp;如果这些jar已经在该lib下存在，那么web应用的WEB-INF/lib下不用再次放置。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log：存放日志信息。JBoss使用Jakarta log4j包存储日志，在程序中你也可以直接使用该信息。默认的log4j.xml配置是将日志输出到该文件夹下的server.log文件。 jboss-log4j.xml是默认配置文件&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp：存储在部署过程中解压时产生的临时文件。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; work：Tomcat编译JSP文件时的工作目录。如果JSP出错了，可以到该目录下去找对应的文件，定位问题。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;目录data、log、tmp和work在JBoss安装后并不存在，当JBoss运行时自动建立。&nbsp;&nbsp;&nbsp; <br />
<br />
<br />
启动JBOSS成功后<br />
<p>&nbsp;&nbsp; 查看 http://localhost:8083 会出现一个没有错误的空白页，正常，应该是这样。 </p>
<p>&nbsp;&nbsp; 查看 http://localhost:1099 会出现一大堆乱字符，当然，里面包含了你的 IP 地址等等类似的信息。 1099 是 jnp 协议监听名字服务的缺省端口， RMI 的缺省端口也是一样的。在 JNDI 中，我们需要用到此端口。 </p>
<img src ="http://www.blogjava.net/livery/aggbug/262544.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/livery/" target="_blank">心情经纬</a> 2009-03-28 08:07 <a href="http://www.blogjava.net/livery/articles/262544.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>