popcorn丫

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

记录那些在jboss却需要迁移到tomcat8的那些项目。

由于该tomcat下的项目数据源都在同一个数据库(oracle),所以将数据源配置在容器中。

 

1、在tomcat的lib文件夹中添加javassist.jar、ojdbc6.jar、demo.jar(这个jar包是为了加密容器中数据源的配置)。

 

2、hibernate映射文件修改

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource"><ref local="dataSource"/></property>
<property name="mappingLocations">
<list>
<value>/WEB-INF/hbm/cpExternal.hbm.xml</value>

 

3、tomcat配置同一数据源

找到Tomcat的server.xml中GlobalNamingResources节点,在节点下加一个全局数据源
<Resource
name="jdbc/oracle"
scope="Shareable"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp2.MyBasicDataSourceFactory"                             //(该类调用了自定义的加密方法加密用户名密码)
url="jdbc:oracle:thin:@10.243.194.74:1521:trustel"
driverClassName ="oracle.jdbc.driver.OracleDriver"
username="a96731a9f7481e0317b5ddb7ee739c1b"
password="e32c9a96ac8f9e5fe69777b1da6c3201"
/>

找到Tomcat的context.xml,在Context节点下加一个ResourceLink节点对第一步配置的数据源进行引用
<ResourceLink global="jdbc/oracle" name="jdbc/oracle" type="javax.sql.DataSource" />

 

4.tomcat数据源加密
在tomcat的lib路径运行命令:java -cp demo.jar org.apache.tomcat.dbcp.dbcp2.CipherEncrypter xxx (xxx为账号或密码)
生成的方括号中的字符串即为加密后的密文,替代3中的username或password即可。

 

注意事项:

1、找不到org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory。
改成org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory

2、找不到constants-config.xml
将constants-config.xml放在指定位置

 

相关文件:

https://i.cnblogs.com/Files.aspx的Desktop.zip

 

posted on 2017-12-13 10:19  popcorn丫  阅读(1962)  评论(0编辑  收藏  举报