前一篇我们了解了resin中配置数据源,依照不同项目的要求我们进行数据源的配置,如多个项目共享多个数据源,一个项目配置多个数据源,以下我们来看看项目的部署方式:
1、在一个host(虚拟主机)下配置一个web-app(项目)
实例:
<host id="localhost" root-directory="D:Javaeeproject est est">
<web-app id="/" root-directory="demo">
<database>
<jndi-name>jdbc/test</jndi-name>
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/user</url>
<user>root</user>
<password>admin</password>
</driver>
</database>
<database>
<jndi-name>jdbc/test2</jndi-name>
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/user2</url>
<user>root</user>
<password>admin</password>
</driver>
</database>
</web-app>
</host>
解释:
我们看到这里的配置就是一个项目配置多个数据源,这样的方式能够降低对数据库的压力。
host 的id就是你的主机名称,而web-app 的id 就是浏览器訪问地址 ,与之相应的就是host 中的root-directory 和 web-app 中的root-directory 。事实上这个配置和tomcat的server.xml 中配置项目是一样的,host 和web-app 中的id 的值在加上监听port就是完整的浏览器訪问地址,而host的root-directory 和web-app的root-directory 值就是完整的项目物理路径,要注意这里的路劲就是项目编译后存放代码的路径,也就是WEB-INF 的上一级。
2、在一个host(虚拟主机)下配置多个web-app (项目)
在上面我们说了id 的两个值就是一个完整的浏览器訪问路劲,而root-directory 就是一个完整的项目物理路径。所以对于不同的项目我们要区分id 的值和root-directory 的值。这样就能够再同一个host下配置多个web-app 。
实例:
<host id="localhost" root-directory="D:Javaeeproject est est">
<database>
<jndi-name>jdbc/test</jndi-name>
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/user</url>
<user>root</user>
<password>admin</password>
</driver>
</database>
<database>
<jndi-name>jdbc/test2</jndi-name>
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/user2</url>
<user>root</user>
<password>admin</password>
</driver>
</database>
<web-app id="/" root-directory="demo"/>
<web-app id ="/test" root-directory="webapps"/>
</host>
3、在resin.xml 中配置多个host 。也就是配置多个虚拟机。来配置多个web-app ,这个的配置和第一个是一样的就是有多个host 而每一个host下配置了一个web-app ;
实例:
<host id="www.test1.com" root-directory=".">
<web-app id="/" root-directory="webapps/test1/ROOT"/>
</host>
<host id="www.test2.com" root-directory=".">
<web-app id="/" root-directory="webapps/test2/ROOT"/>
</host>