<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java豆技术站点 &#187; apache</title>
	<atom:link href="http://javadou.com/tag/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://javadou.com</link>
	<description>Java</description>
	<lastBuildDate>Thu, 12 Aug 2010 09:01:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Apache ActiveMQ (1)教程</title>
		<link>http://javadou.com/apache-activemq-1-639/</link>
		<comments>http://javadou.com/apache-activemq-1-639/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 08:02:40 +0000</pubDate>
		<dc:creator>阿超</dc:creator>
				<category><![CDATA[开发框架]]></category>
		<category><![CDATA[activemq]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[jms]]></category>

		<guid isPermaLink="false">http://javadou.com/?p=639</guid>
		<description><![CDATA[Apache ActiveMQ教程（一） 2008-06-03 11:05 一、特性及优势 1、实现JMS1.1规范，支持J2EE1.4以上 2、可运行于任何jvm和大部分web容器（ActiveMQ works great in any JVM） 3、支持多种语言客户端（java, C, C++, AJAX, ACTIONSCRIPT等等） 4、支... ]]></description>
			<content:encoded><![CDATA[<p>Apache ActiveMQ教程（一） 2008-06-03 11:05</p>
<p><strong>一、特性及优势</strong></p>
<p>1、实现JMS1.1规范，支持J2EE1.4以上</p>
<p>2、可运行于任何jvm和大部分web容器（ActiveMQ works great in any JVM）</p>
<p>3、支持多种语言客户端（java, C, C++, AJAX, ACTIONSCRIPT等等）</p>
<p>4、支持多种协议（stomp，openwire，REST）</p>
<p>5、良好的spring支持（ActiveMQ has great Spring Support）</p>
<p>6、速度很快，JBossMQ的十倍（ActiveMQ is very fast; often 10x faster than JBossMQ.）</p>
<p>7、与OpenJMS、JbossMQ等开源jms provider相比，ActiveMQ有Apache的支持，持续发展的优势明显。</p>
<p><strong>二、下载部署</strong></p>
<p>1、下载</p>
<p><a href="http://activemq.apache.org/activemq-510-release.html">http://activemq.apache.org/activemq-510-release.html</a>，下载5.1.0 Windows Distribution版本</p>
<p>2、安装</p>
<p>直接解压至任意目录（如：d:\ apache-activemq-5.1.0）</p>
<p>3、启动ActiveMQ服务器</p>
<p>方法1：</p>
<p>直接运行bin\activemq.bat</p>
<p>方法2（在JVM中嵌套启动）：</p>
<p>cd example</p>
<p>ant embedBroker</p>
<p>4、ActiveMQ消息管理后台系统：</p>
<p>http://localhost:8161/admin</p>
<p><strong>三、运行附带的示例程序</strong></p>
<p><strong>1</strong><strong>、Queue</strong><strong>消息示例：</strong></p>
<p>* 启动Queue消息消费者</p>
<p>cd example</p>
<p>ant consumer</p>
<p>* 启动Queue消息生产者</p>
<p>cd example</p>
<p>ant producer</p>
<p>简要说明：生产者（producer）发消息，消费者（consumer）接消息，发送/接收2000个消息后自动关闭</p>
<p><strong>2</strong><strong>、Topic</strong><strong>消息示例：</strong></p>
<p>* 启动Topic消息消费者</p>
<p>cd example</p>
<p>ant topic-listener</p>
<p>* 启动Topic消息生产者</p>
<p>cd example</p>
<p>ant topic-publisher</p>
<p>简要说明：重复10轮，publisher每轮发送2000个消息，并等待获取listener的处理结果报告，然后进入下一轮发送，最后统计全局发送时间。</p>
<p><strong>四、</strong><strong>Queue</strong><strong>与</strong><strong>Topic</strong><strong>的比较</strong></p>
<p><strong>1</strong><strong>、JMS Queue</strong><strong>执行load balancer</strong><strong>语义：</strong></p>
<p>一条消息仅能被一个consumer收到。如果在message发送的时候没有可用的consumer，那么它将被保存一直到能处理该message的consumer可用。如果一个consumer收到一条message后却不响应它，那么这条消息将被转到另一个consumer那儿。一个Queue可以有很多consumer，并且在多个可用的consumer中负载均衡。</p>
<p><strong>2</strong><strong>、Topic</strong><strong>实现publish</strong><strong>和subscribe</strong><strong>语义：</strong></p>
<p>一条消息被publish时，它将发到所有感兴趣的订阅者，所以零到多个subscriber将接收到消息的一个拷贝。但是在消息代理接收到消息时，只有激活订阅的subscriber能够获得消息的一个拷贝。</p>
<p><strong>3</strong><strong>、分别对应两种消息模式：</strong></p>
<p>Point-to-Point (点对点),Publisher/Subscriber Model (发布/订阅者)</p>
<p>其中在Publicher/Subscriber 模式下又有Nondurable subscription（非持久订阅）和durable subscription (持久化订阅)2种消息处理方式。</p>
]]></content:encoded>
			<wfw:commentRss>http://javadou.com/apache-activemq-1-639/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java数据连接池 dbcp配置中文文档-java学习</title>
		<link>http://javadou.com/apache-dbcp-java-581/</link>
		<comments>http://javadou.com/apache-dbcp-java-581/#comments</comments>
		<pubDate>Mon, 03 May 2010 23:20:10 +0000</pubDate>
		<dc:creator>阿超</dc:creator>
				<category><![CDATA[Java基础]]></category>
		<category><![CDATA[应用服务器]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[dbcp]]></category>

		<guid isPermaLink="false">http://javadou.com/?p=581</guid>
		<description><![CDATA[dbcp配置中文版本，翻译自apache 官方文档，原文请见http://commons.apache.org/dbcp/configuration.html。 参数    描述 username     传递给JDBC驱动的用于建立连接的用户名 password     传递给JDBC驱动的用于建立连接的密码 ur... ]]></description>
			<content:encoded><![CDATA[<p><span>dbcp配置中文版本，翻译自apache 官方文档，原文请见<a href="http://commons.apache.org/dbcp/configuration.html" target="_blank">http://commons.apache.org/dbcp/configuration.html</a>。</p>
<p>参数    描述<br />
username     传递给JDBC驱动的用于建立连接的用户名<br />
password     传递给JDBC驱动的用于建立连接的密码<br />
url     传递给JDBC驱动的用于建立连接的URL<br />
driverClassName     使用的JDBC驱动的完整有效的java 类名<br />
connectionProperties     当建立新连接时被发送给JDBC驱动的连接参数，格式必须是 [propertyName=property;]*<br />
注意：参数user/password将被明确传递，所以不需要包括在这里。</p>
<p>参数    默认值    描述<br />
defaultAutoCommit     true     连接池创建的连接的默认的auto-commit状态<br />
defaultReadOnly     driver default     连接池创建的连接的默认的read-only状态. 如果没有设置则setReadOnly方法将不会被调用. (某些驱动不支持只读模式,比如:Informix)<br />
defaultTransactionIsolation     driver default     连接池创建的连接的默认的TransactionIsolation状态. 下面列表当中的某一个: (参考javadoc)</p>
<p>* NONE<br />
* READ_COMMITTED<br />
* READ_UNCOMMITTED<br />
* REPEATABLE_READ<br />
* SERIALIZABLE</p>
<p>defaultCatalog<br />
连接池创建的连接的默认的catalog</p>
<p>参数    默认值    描述<br />
initialSize     0     初始化连接:连接池启动时创建的初始化连接数量,1.2版本后支持<br />
maxActive     8     最大活动连接:连接池在同一时间能够分配的最大活动连接的数量, 如果设置为非正数则表示不限制<br />
maxIdle     8     最大空闲连接:连接池中容许保持空闲状态的最大连接数量,超过的空闲连接将被释放,如果设置为负数表示不限制<br />
minIdle     0     最小空闲连接:连接池中容许保持空闲状态的最小连接数量,低于这个数量将创建新的连接,如果设置为0则不创建<br />
maxWait     无限     最大等待时间:当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间则抛出异常,如果设置为-1表示无限等待</p>
<p>参数    默认值    描述<br />
validationQuery<br />
SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,则查询必须是一个SQL Select并且必须返回至少一行记录<br />
testOnBorrow     true     指明是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个.<br />
注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串<br />
testOnReturn     false     指明是否在归还到池中前进行检验<br />
注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串<br />
testWhileIdle     false     指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.<br />
注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串<br />
timeBetweenEvictionRunsMillis     -1     在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. 如果设置为非正数,则不运行空闲连接回收器线程<br />
numTestsPerEvictionRun     3     在每次空闲连接回收器线程(如果有)运行时检查的连接数量<br />
minEvictableIdleTimeMillis     1000 * 60 * 30     连接在池中保持空闲而不被空闲连接回收器线程(如果有)回收的最小时间值，单位毫秒</p>
<p>参数    默认值    描述<br />
poolPreparedStatements     false     开启池的prepared statement 池功能<br />
maxOpenPreparedStatements     不限制     statement池能够同时分配的打开的statements的最大数量, 如果设置为0表示不限制</p>
<p>这里可以开启PreparedStatements池. 当开启时, 将为每个连接创建一个statement池,并且被下面方法创建的PreparedStatements将被缓存起来:<br />
* public PreparedStatement prepareStatement(String sql)<br />
* public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)<br />
注意: 确认连接还有剩余资源可以留给其他statement</p>
<p>参数    默认值    描述<br />
accessToUnderlyingConnectionAllowed     false     控制PoolGuard是否容许获取底层连接</p>
<p>如果容许则可以使用下面的方式来获取底层连接:<br />
Connection conn = ds.getConnection();<br />
Connection dconn = ((DelegatingConnection) conn).getInnermostDelegate();<br />
&#8230;<br />
conn.close();</p>
<p>默认false不开启, 这是一个有潜在危险的功能, 不适当的编码会造成伤害.(关闭底层连接或者在守护连接已经关闭的情况下继续使用它).请谨慎使用,并且仅当需要直接访问驱动的特定功能时使用.<br />
注意: 不要关闭底层连接, 只能关闭前面的那个.</p>
<p>参数    默认值    描述<br />
removeAbandoned     false     标记是否删除泄露的连接,如果他们超过了removeAbandonedTimout的限制.如果设置为true, 连接被认为是被泄露并且可以被删除,如果空闲时间超过removeAbandonedTimeout. 设置为true可以为写法糟糕的没有关闭连接的程序修复数据库连接.<br />
removeAbandonedTimeout     300     泄露的连接可以被删除的超时值, 单位秒<br />
logAbandoned     false     标记当Statement或连接被泄露时是否打印程序的stack traces日志。被泄露的Statements和连接的日志添加在每个连接打开或者生成新的Statement,因为需要生成stack trace。</p>
<p>如果开启&#8221;removeAbandoned&#8221;,那么连接在被认为泄露时可能被池回收. 这个机制在(getNumIdle() &lt; 2) and (getNumActive() &gt; getMaxActive() - 3)时被触发.<br />
举例当maxActive=20, 活动连接为18,空闲连接为1时可以触发&#8221;removeAbandoned&#8221;.但是活动连接只有在没有被使用的时间超过 &#8221;removeAbandonedTimeout&#8221;时才被删除,默认300秒.在resultset中游历不被计算为被使用.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://javadou.com/apache-dbcp-java-581/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置tomcat和apache虚拟目录和虚拟主机</title>
		<link>http://javadou.com/tomcat-apache-set-112/</link>
		<comments>http://javadou.com/tomcat-apache-set-112/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 15:34:00 +0000</pubDate>
		<dc:creator>阿超</dc:creator>
				<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://javadou.com/tomcat-apache-set-112/</guid>
		<description><![CDATA[1、 打开$tomcat_home$/conf/server.xml, 在和之间加上 


参数:path 表示在浏览器中输入http://localhost:8080/site 
docBase表示你的程序包的物理绝对路... ]]></description>
			<content:encoded><![CDATA[<p>1、 打开$tomcat_home$/conf/server.xml, 在&lt;Host&gt;和&lt;/host&gt;之间加上 </p>
<pre class="xml">&lt;Context path=”/site” docBase=”d:\site” reloadable=”true” debug=”0″&gt;&lt;/Context&gt;</pre>
<p>参数:path 表示在浏览器中输入http://localhost:8080/site </p>
<p>docBase表示你的程序包的物理绝对路径，默认的绝对路径是$Tomcat_Home$/webapps </p>
<p>这样设定了之后会在$tomcat_home$/conf/catalina/localhost目录下生成一个site.xml文件，此文件的内容就是刚才设置的内容。</p>
<p>2、通过前面我们知道了在$tomcat_home$/conf/catalina/localhost目录下会生成相应的配置文件，因此我们可以直接在$tomcat_home$/conf/catalina/localhost目录下写配置文件文件名任意取，最好是跟你的web应用相同便于管理，如site.xml内容同上 </p>
<pre class="xml">&lt;Context path=”/site” docBase=”d:\site” reloadable=”true” debug=”0″&gt;&lt;/Context&gt; </pre>
<p>然后就可以通过http://localhost:8080/site</p>
<p>添加tomcat虚拟主机</p>
<p>打开$tomcat_home$/conf/server.xml,在&lt;/host&gt;后面添加如下代码： </p>
<pre class="xml">&lt;Host name=”mybus.minma.com” debug=”0″ appBase=”/usr/etc” unpackWARs=”true” autoDeploy=”true”&gt; 

&lt;Logger className=”org.apache.catalina.logger.FileLogger” directory=”logs” 

prefix=”mybus_log.” suffix=”.txt” timestamp=”true”/&gt; 

&lt;Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” 

prefix=”mybus_access_log.” suffix=”.txt” pattern=”common” resolveHosts=”false”/&gt; 

&lt;Context path=”&quot; docBase=”/usr/etc/MyBus/” debug=”0″ reloadable=”true” crossContext=”true”&gt;&lt;/Context&gt; 

&lt;/Host&gt;</pre>
<p>说明：name为主机名，appBase为应用程序目录，docBase为网站根目录 </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; prefix为日志文件名，suffix为日志文件扩展名</p>
<p>apache添加虚拟目录</p>
<p>Alias /mybus/ “/usr/tomcat6/webapps/MyBus/”</p>
<pre class="xml">

&lt;Directory “/usr/tomcat6/webapps/MyBus/”&gt;
  &#160;&#160;&#160; Options None 

&#160;&#160;&#160; AllowOverride None 

&#160;&#160;&#160; Order allow,deny 

&#160;&#160;&#160; Allow from all 

&lt;/Directory&gt;
</pre>
<p>apache 添加虚拟主机</p>
<pre class="xml">

#NameVirtualHost *:80
  如果NameVirtualHost前面有#,必须将其去除，其中*表示所有虚拟主机名,80为访问端口 

并且&lt;VirtualHost &gt;的属性要与NameVirtualHost一致如： 

&lt;VirtualHost *:80&gt; 

ServerName mybus.minma.com

ServerAlias mybus.minma.com

DocumentRoot “/usr/tomcat6/webmybus/MyBus” 

ErrorLog logs/mybus.-error_log 

CustomLog logs/mybus.-access_log common 

RewriteEngine&#160;&#160; on 

RewriteCond %{HTTP_HOST} ^mybus\.minma\.com 

#RewriteRule ^/?$ /%{HTTP_HOST}$1 

RewriteRule ^/openid/(\w+)$ /OpenIdServer?username=$1 [PT] 

&lt;/VirtualHost&gt;

&lt;VirtualHost *:80&gt;
  ServerName * 

ServerAlias * 

DocumentRoot “/usr/tomcat6/webapps/ROOT” 

ErrorLog logs/tiger-host.-error_log 

CustomLog logs/tiger-host.-access_log common 

RewriteEngine&#160;&#160; on

#RewriteCond %{HTTP_HOST} ^([0-9a-zA-Z]+)\.openid\.mybus\.minma\.com/?$
  #RewriteRule ^([0-9]+)\.minma\.com/?$ mybus.minma.com [R,L]

RewriteCond %{HTTP_HOST} ^([0-9]+)\.minma\.com/?$
  RewriteRule ^/?$ /%{HTTP_HOST}$1 

RewriteRule&#160;&#160; ^/([0-9]+)\.minma\.com/?$&#160;&#160; /shop/shop.jsp?id=$1 [R,L]

RewriteCond %{HTTP_HOST} ^(wap)\.minma\.com/?$
  RewriteRule ^/?$ /%{HTTP_HOST}$1 

RewriteRule&#160;&#160; ^/(wap)\.minma\.com/?$&#160;&#160; /mobile/ [R,L]

RewriteCond %{HTTP_HOST} ^(club|mall|fair|news)\.minma\.com/?$
  RewriteRule ^/?$ /%{HTTP_HOST}$1 

RewriteRule ^/(www|club|mall|fair|news)\.minma\.com(.*) /$1 [L,R]

&lt;/VirtualHost&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://javadou.com/tomcat-apache-set-112/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
