在 Tomcat 的 server.xml 裡設定
<Context docBase="weixin" path="/weixin" reloadable="true" source="org.eclipse.jst.jee.server:weixin">
<Resource name="jdbc/mysqlLocalDS01" username="root" password="password" url="jdbc:mysql://localhost:3306?characterEncoding=utf-8" auth="Container" driverClassName="com.mysql.cj.jdbc.Driver" factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory" maxIdle="10" maxTotal="20" maxWaitMillis="-1" type="javax.sql.DataSource" />
<Resource name="jdbc/JappsDS01" username="ap" password="password" url="jdbc:oracle:thin:@127.0.0.1:1521:xe" driverClassName="oracle.jdbc.driver.OracleDriver" maxIdle="2" maxTotal="4" maxWaitMillis="5000" type="javax.sql.DataSource" validationQuery="select 1 from dual"/>
<Resources>
<PreResources base="C://CKFinderJava//userfiles" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/userfiles"/>
</Resources>
</Context>
<Resource name="jdbc/mysqlLocalDS01" username="root" password="password" url="jdbc:mysql://localhost:3306?characterEncoding=utf-8" auth="Container" driverClassName="com.mysql.cj.jdbc.Driver" factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory" maxIdle="10" maxTotal="20" maxWaitMillis="-1" type="javax.sql.DataSource" />
<Resource name="jdbc/JappsDS01" username="ap" password="password" url="jdbc:oracle:thin:@127.0.0.1:1521:xe" driverClassName="oracle.jdbc.driver.OracleDriver" maxIdle="2" maxTotal="4" maxWaitMillis="5000" type="javax.sql.DataSource" validationQuery="select 1 from dual"/>
<Resources>
<PreResources base="C://CKFinderJava//userfiles" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/userfiles"/>
</Resources>
</Context>
為了讓 WEB APP 不因一台主機當機而影響作業,開始架構二台 JBOSS 主機,並利用 JBOSS plug in 在 Apache 的 mod_cluster-1.2.6 來作 Load Balancer
之前的 JBoss 的 JBoss EAP6 Domain Mode Setup 與 JBoss EAP6.x Standalone Mode Cluster Configuration 都在 Windows 平台上作測試,現在起將拋棄 微軟 擁抱 Linux,因為後續的資料庫也是使用 Oracle DataBase,因此 Linux 平台選擇 Oracle Linux,大致的安裝過程可以查看 Oracle Linux Install Using LVM 。
裝完 JBoss EAP 6.x ,並利用 Eclipse 開發程式除錯 Debug 時,發現一般使用 System.out.println() & logger.info() 都沒有出現在 Console 中,查了好久才找到正解如下:
在 JBoss EAP6.x Standalone Mode Cluster Configuration 驗證了 Standalone Mode 的 Cluster 機制,在 Domain Mode 的設定也很簡單,還記得在 JBoss EAP6 Domain Mode Setup 中 host.xml 對每台 server 作了 port-offset ,而這就是 workers.properties 檔案裡的 node。