??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美国产一区二区,8v天堂国产在线一区二区,精品中文字幕一区二区三区 http://www.aygfsteel.com/conans/category/32882.html你越挣扎我就兴?/description>zh-cnMon, 31 Aug 2009 05:04:13 GMTMon, 31 Aug 2009 05:04:13 GMT60WAS 补丁ȝhttp://www.aygfsteel.com/conans/articles/291616.htmlCONANCONANTue, 18 Aug 2009 03:33:00 GMThttp://www.aygfsteel.com/conans/articles/291616.htmlWAS 补丁ȝ 有些日子没搞Websphere了,之前收到不少IBM送的光盘Q?-6的版本都有,IBMd开始发?.0Q现在已l到?.2的版本,其中的小版本比较复杂?br />
一般对版本的定义是Qx.x.x 三位Q分别ؓȝ本号Q次要发布版本号Q小或补丁发布版本号Q?span onclick="tagshow(event)" class="t_tag">WAS采用了四位制Q第四位?fix pack 即专指补丁版本号。如 6.0.1.2  表示6.0.1 下的打了fixpack2补丁的版本?br />
?.0开始有2个补丁概念,一个是refresh packQ另一个是fix packQfixpack 是指补丁包,而refresh pack则指版本的更新Q如was 6.0升refresh pack2Q则指由6.0升?.0.2。WAS的升U概念ؓQ?br />


?.0之前也有2个升U的概念Q对应关pd考下图:



׃6.0 的第一个版本没有补丁,所以它也称?6.0.0.1 版本?br />
而要想从6.0升?.1Q需?.1的安?span onclick="tagshow(event)" class="t_tag">文gQ所以打消了安装最新版本的x?br />
下面是安?.0Q然后升U到现在6.0最新版本的6.0.2.15的过E,首先安装AppServer6.0Q然后升U。由?.0.2.15需要以6.0.2为基才能q行升Q所以升U的整个q程?.0 - 6.0.2 - 6.0.2.15?br />
1) 6.0.0.1 -> refresh pack 6.0.2,  升?6.0.2

http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg24009813

在download package内容下,选择?span onclick="tagshow(event)" class="t_tag">服务?/span>q_、WAS版本相匹配的安装包,我所选的?2-bit x86 AMD/Intel AppServer 的ftp下蝲Q?.0-WS-WAS-WinX32-RP0000002.zipQ?00多MQ汗Q?br />
解压后,updateinstaller目录copy到WAS的安装目录下Q如d:\ibm\websphere\appserverQ然后运行update.exeQ如果是非WindowsQ则参?a target="_blank">http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg27008530#stepsQƈ且在下蝲补丁包时Q注意选择对应的操作系l?br />
重启后,dWAS控制?/span>Q首|C?IBM WebSphere Application Server, 6.0.2.0Q升U成功!

2) 升fix pack?.0.2.15

http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg24013495
又是一?60多M的大物g要下载,汗,之后按上q步骤升U?br />
另外Q在ibm的support|站下的download栏目Q可以查看到最新的升包,http://www-306.ibm.com/software/webservers/appserv/was/support/  Q如有必要则需要经常跟t,q进行必要的评估和升U,以维持生产环境的可靠、稳定和安全?br />
补充Q?br />
说到WAS各个版本的补丁列表,太多了,_略C?.0.0 下的补丁大概?50个左叻I6.0.1下的大概?70?不计referesh PackQ,?.0.2下的大概?00个左叻I不计referesh packQ,可参?http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg27006899 Q三a两语q真是说不完Q我印象最深刻的是有不bug fix是针对cookie处理不当而引L?

CONAN 2009-08-18 11:33 发表评论
]]>
Tomcat 配置多数据源http://www.aygfsteel.com/conans/articles/242103.htmlCONANCONANSun, 23 Nov 2008 06:23:00 GMThttp://www.aygfsteel.com/conans/articles/242103.html阅读全文

CONAN 2008-11-23 14:23 发表评论
]]>
利用Tomcat建立多个Web Server的方?http://www.aygfsteel.com/conans/articles/213460.htmlCONANCONANTue, 08 Jul 2008 15:00:00 GMThttp://www.aygfsteel.com/conans/articles/213460.html**以下内容为网上收集后整理而成,如有错误或描qC准确的地Ҏ是别的请多指?

当你使用Tomcat作ؓWeb Server的时候,是不是会惌q样的一个问题:如何利用Tomcat建立多个Web应用 呢?
要实现这一Ҏ很简单的,也有多种Ҏ?以下说明使用%tomcat_home%代表Tomcat安装目录)?/p>

一.首先介绍一下Tomcat及server.xml.

Tomcat服务器是׃pd的可配置的组件构?tomcat的组件可以在%tomcat_home%/conf/server.xml文g中进行配|?每个Tomcatlg和server.xml文g的一U配|元素对?
主要分ؓ4c?
1.层cd?包括<Server>?lt;Service>,他们位于整个配置文g的顶?
  <Server>元素代表整个Catalina Servlet 容器,由org.apache.catalin.Server接口定义.<Server>包含一个或多个<Service>元素.
  <Service>元素由org.apache.catalin.Service 接口定义.<Service>包含一?lt;Engine>元素,及一个或多个<Connector>元素.多个<Connector>元素׃n一?lt;Engine>元素.
2.q接器类元素
  q接器类代表了介于客户与服务之间的通信接口,负责客Lh发送给服务?q将服务器的响应l果传递给客户.
  <Connector>元素由org.apache.catalin.Connector 接口定义.代表了与客户E序实际交互的组?它负责接收客戯?以及向客戯回响应结?
3.容器cd?br />   容器cd素代表处理客戯求ƈ生成响应的组?包括<Engine> <Host>?lt;Context>.
  <Engine>元素由org.apache.catalin.Engine 接口定义.每个<Service>只能包含一?lt;Engine>元素,<Engine>元素处理在同一?lt;Service>中的所?lt;Connector>元素收到的客戯?
  <Host>元素由org.apache.catalin.Host 接口定义.一?lt;Engine>元素中可以包含多?lt;Host>元素.每个<Host>元素定义了一个虚拟主?她可以包含一个或多个Web 应用.
  <Context>元素由org.apache.catalin.Context 接口定义.代表了运行在虚拟L上的一个Web 应用.一?lt;Host>元素可以包含多个<Context>元素
4.嵌套cd?br />   嵌套cd素代表了可以加到容器中的lg,?lt;Logger> <Realm>?lt;Value>.
 
关于server.xml的更多信?可以参考Tomcat的文?/webapps/tomcat-docs/config/index.html

样例:
<Server>
 <Service name="Catalina">
  <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"/>
  <Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443"/>
  <Engine defaultHost="localhost" name="Catalina">
   <Host appBase="webapps" name="localhost">
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
   </Host>
   <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
  </Engine>
 </Service>
</Server>

?建立多个Web应用Ҏ:

1.通过配置多个<Context>元素(q是最为普遍的Ҏ)
  ?lt;Host>下配|多?lt;Context>元素
  <Context path="app1" docBase="E:/workspace/app1/WebRoot" debug="0" reloadable="true"></Context>
  <Context path="app2" docBase="E:/workspace/app2/WebRoot" debug="0" reloadable="true"></Context>
  然后通过 L?端口/应用?讉K,? http://localhost:8080/app1  ?nbsp; http://localhost:8080/app2

2.通过配置多个<Host>元素
  ?lt;Engine>下配|多?lt;Host>元素
    <Host appBase="webapps" name="192.168.1.110">
   <Context path="" docBase="E:/workspace/app1/WebRoot" debug="0" reloadable="true"></Context>
  </Host>
  <Host appBase="webapps" name="192.168.1.114">
   <Context path="" docBase="E:/workspace/app2/WebRoot" debug="0" reloadable="true"></Context>
  </Host>
 然后通过 L?端口 讉K,? http://192.168.1.110:8080  ?nbsp; http://192.168.1.114:8080
 需要注意的是这样需要机器连接到局域网?
 
3.通过配置多个<Service>元素(多端?多应?
  ?lt;Server>下配|多?lt;Service>元素
  <Service name="Catalina">
  <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8453" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"/>
  <Connector port="8019" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8453"/>
  <Engine defaultHost="localhost" name="Catalina">
   <Host appBase="webapps" name="localhost">
    <Context path="" docBase="E:/workspace/app1/WebRoot" debug="0" reloadable="true"></Context>
   </Host>
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
  </Engine>
  </Service>
  <Service name="Catalina2">
  <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8090" redirectPort="8453" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"/>
  <Connector port="8019" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8453"/>
  <Engine defaultHost="localhost" name="Catalina">
   <Host appBase="webapps" name="localhost">
    <Context path="" docBase="E:/workspace/app2/WebRoot" debug="0" reloadable="true"></Context>
   </Host>
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
  </Engine>
  </Service>
 
  定义了两个Service分别是Catalina和Catalina2,侦听的端口分别是8080?090
  然后通过 L?端口 讉K,? http://localhost:8080  ?nbsp; http://localhost:8090



CONAN 2008-07-08 23:00 发表评论
]]>
Tomcat 使用 Log4j 输出详细pȝ日志信息Q快速诊断启动故?http://www.aygfsteel.com/conans/articles/213459.htmlCONANCONANTue, 08 Jul 2008 15:00:00 GMThttp://www.aygfsteel.com/conans/articles/213459.html
2008-7-7 11:19:34 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.0.28
2008-7-7 11:19:34 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2008-7-7 11:19:34 org.apache.catalina.core.StandardHost getDeployer
信息: Create Host deployer for direct deployment ( non-jmx )


那我们能不能?Log4J 来输U系l日志呢Q我们知道像 Apache 那样的大部分开源框架、组仉是用通用日志lg (commons-logging) 来输出日志的Q因此如果把 commons-logging ?log4j 搭配使用p输出十分详尽的日志信息?br />
其是碰?Tomcat 几乎能o人抓狂的 Error filterStart Q如控制C得到如下信息Q?br />
2007-3-13 17:43:46 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2007-3-13 17:43:46 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors


而茫然不知所措时Q免不了会胡q,更容易你的注意力集中在所有的 filter 本n上,其实有些冤枉 filter 了。至网上针对这个问题有许多不明的解,有配|文仉题的Q有~类包的问题等Q不一定能和你的实际问题对上号?br />
其实大可不必受如此之周折Q解铃仍需寄铃人吗Q由 Tomcat l你落下的结Q当然要 Tomcat 告诉你是怎么回事。很多h在自q应用中会安放一个日志文Ӟ却可能忽略掉 Tomcat 自n的日志文Ӟ?logs 目录下的 localhost_log.yyyy-MM-dd.txt ׃Q记住只要碰到关?Tomcat 本n启动的问题,查看其中当前的日志信息的话,问题׃坦荡荡荡N在你的前面,基本也就能迎刃而解了?br />
前面讲过Qcommons-logging+log4j 可以输出极详的信息Q那现在来说说如何配置。很多h开发过E中是通过 MyEclipse 来启?Tomcat 的,所有这里包括两U方法,分别介绍如下Q?br />
1. MyEclipse 启动 Tomcat 使用 Log4j 输出日志信息的配|?br />
?MyEclipse ?Tomcat 服务器配|中?Prepend to classpath 或?Append to classpath 中加?br />
commons-logging-1.1.jar
log4j-1.2.13.jar
以及 log4j.properties 所在目录,?D:\Tomcat\Tomcat 5.0.28-Test\bin

如图Q?br />

我是?commons-logging-1.1.jar、log4j-1.2.13.jar ?log4j.properties 都放?%TOMCAT_HOME%\bin 目录下的Q当然你也可以放在别处?

 

完了之后Q通过 MyEclipse 启动 Tomcat 时就能看到让你眼p的日志滚屏,h据实际需要在log4j.properties 中屏蔽你不想x的内宏V所以像q种日志信息最好是记录在文件中Q屏q的~冲区是有限且耗内存的。真正需要的时候你可以从q个日志文g里读?Tomcat 的启动全q程?br />
如果你明?commons-logging.properties 的功用,你也可以把这个文件放在与 log4j.properties 所在的目录下,可在其中指定其他 log 实现c,详见 commons-logging.properties 文g的内宏V?br />
2. startup.bat 启动 Tomcat 使用 Log4j 输出日志信息的配|?br />
按前面推荐的做法Q把 commons-logging-1.1.jar、log4j-1.2.13.jar ?log4j.properties 都放?%TOMCAT_HOME%\bin 目录下,然后修改 catalina.bat 文gQ找?br />
set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar

行,在其后附上这两个包和 log4j.properties 所在目录到 classpath 上,修改后就是:

set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_HOME%\bin\commons-logging-1.1.jar;%CATALINA_HOME%\bin\log4j-1.2.13.jar;%CATALINA_HOME%\bin

保存Q通过 startup.bat 启动׃?log4j 来输出启动日志了Q其他^C?TomcatQ请参照q_Ҏ修?catalina.sh 吧?br />
同样Q你也可以应?commons-logging.properties 指定其他?log 实现Q因?Log4j 是它的默认实玎ͼ所以可省去?br />
?Log4j 输出的启动日志Ş式如下:

15:36:37,859 org.apache.catalina.startup.Embedded.initNaming(Embedded.java:922) - Setting naming prefix=org.apache.naming
15:36:38,046 org.apache.catalina.startup.Catalina.createStartDigester(Catalina.java:350) - Digester for server.xml created 171
15:36:38,218 org.apache.catalina.core.NamingContextListener.<init>(NamingContextListener.java:83) - new NamingContextListener

许多你希望深入了解的内部l节都可以通过q样一份日志追t到?br />
附上q两个属性文件的Qlog4j.properties ?commons-logging.properties?br />
log4j.properties
  1. log4j.rootLogger=DEBUG,stdout,file  
  2.  
  3. ## direct log messages to stdout ###   
  4. log4j.appender.stdout=org.apache.log4j.ConsoleAppender   
  5. log4j.appender.stdout.Target=System.out  
  6. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout   
  7. log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %l - %m%n  
  8.  
  9. ## direct messages to file SystemOut.log ###   
  10. log4j.appender.file=org.apache.log4j.FileAppender   
  11. log4j.appender.file.File=../logs/SystemOut.log   
  12. log4j.appender.file.Append=false  
  13. log4j.appender.file.layout=org.apache.log4j.PatternLayout   
  14. log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %l - %m%n  
  15.  
  16. ## block packages that you  don't care about ###   
  17. log4j.logger.org.apache.commons.digester=ERROR   
  18. log4j.logger.org.apache.commons.beanutils=ERROR   
  19. log4j.logger.org.apache.commons.modeler=ERROR  

commons-logging.properties
  1. org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger  
  2.  
  3. #Please refer to the Log implementations in package org.apache.commons.logging.impl#  
  4. #org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger  
  5. #org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog  




CONAN 2008-07-08 23:00 发表评论
]]>
վ֩ģ壺 ¯| ػ| ɽ| ɽ| | | | ϽϽ| ϰ| ˳| | | ¡| ׿| ˮ| Ѯ| ʲ| | | | | | ƽ| | | | | | γ| | | | ɫ| | | | ϲ| | ׿| ˷| |