- 浏览: 148913 次
- 性别:
- 来自: 北京
最新评论
-
mrathena:
非常给力, 感谢博主
基于Spring+Mybatis的多数据源动态切换
文章列表
执行mvn install,报错如下。
[ERROR] /D:/workspace/SCPNF_V1B01000/src/test/java/com/sinowel/utils/SpringTestC
ase.java:[3,24] 程序包org.junit.runner不存在
[ERROR] /D:/workspace/SCPNF_V1B01000/src/test/java/com/sinowel/utils/SpringTestC
ase.java:[12,2] 找不到符号
原来是找不到junit。实际发布无需junit测试类。直接跳过测试:
mvn compile ...
之前接触过 Java.ext.dirs 用于扩展jdk的系统库,那么 -Djava.endorsed.dirs 又有什么神奇的作用呢?
java提供了endorsed技术:
关于endorsed:可以的简单理解为-Djava.endorsed.dirs指定的目录面放置的jar文件,将有覆盖系统API的功能。可以牵强的理解为,将自己修改后的API打入到虚拟机指定的启动API中,取而代之。但是能够覆盖的类是有限制的,其中不包括java.lang包中的类。
这有什么用?
比如Java的原生api不能满足需求,假设我们需要修改 ArrayList 类,由于我们的代码都是基于A ...
在使用MySql 时, 数据库中的字段类型是timestamp的,默认为0000-00-00, 会发生异常:java.sql.SQLException: Value '0000-00-00 ' can not be represented as java.sql.Timestamp
解决办法:
给jdbc url加上 zeroDateTimeBehavior参数:
datasource.url=jdbc:mysql://localhost:3306/dbName?useUnicode=true&characterEncoding=utf ...
今天发现项目下某一功能在IE下无法请求到服务器,但在Chrome下却正常。在IE下调试后发现,每次请求都返回304错误。原来是IE下直接在缓存中返回内容了,而没提交到服务器端执行。
在其ajax代码中加入cache: false, ,问题解决,再次调试发现每次httpRequest请求后面都会追加一组数字导致每次请求地址不相同,从而避免了再到缓存中提取。
早上启动tomcat发现无法启动了,报错:Error creating document instance. Cause: org.xml.sax.SAXParseException。看这样是XML解析有出错了,但也没改什么配置文件了。后来发现昨晚写了条SQL,没测呢。打开一看是因为在mybatis里使用了"<"和">"。估计是mysql解析遇到问题了。解决办法:
1、使用转移字符替代
<
<
>
>
&
&
'
‘
...
1、Spring工具类
public class SpringApplicationContextHolder implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext context) throws BeansException {
SpringApplicationContextHolder.context = context;
}
...
Spring单数据源直接在<bean id="dataSource">下配置数据源的各种连接参数。但动态数据源需要配置个各个数据源例如ds1、ds2等。然后在dataSource中动态根据传递过来的参数动态调用不同的数据源。
1、当进行访问时,首先通过DbContextHolder.setDbType("ds1");设置需要使用的数据源。DbContextHolder就是一个用来存储数据源信息的类,其中通过ThreadLocal来记录数据源信息。
2、DynamicDataSource类集成Spring的AbstractRoutingDat ...
最近项目需要JVM监控功能,用来监控整个十二五下规划下所有的系统运行情况。上网了解分析了一下发现VisualVM是个很好的工具,Oracle JDK 6 Update 7以后中也作为JDK的一部分发布。而且支持N多插件。可见其实力不俗。
VisualVM 目前最新版本1.3.8.项目地址为:https://visualvm.java.net/。下面来手动编译VisualVM源码。
1、当然是下载源码了。VisaulVM源码以SVN方式提供。1.3.8源码SVN地址如下:https://svn.java.net/svn/visualvm~svn/branches/release138
v ...
这样就不用每次都配置Oralce下tnsnames.ora文件了。
在PLSQL登录框的Database下直接填写:
ip:port/instance,例如:
10.27.192.43:1522/ORCL
单位网络使用代理服务器上网。在网络--代理服务器中设置代理之后Chrome可以上网。但使用apt-get命令无法更新软件,就连源都链接不上。
按照网上的设置了
export http_proxy=http://yourproxyaddress:proxypor
~ ./.bash.rc 下设置都没成功。
最终解决方法如下:
在/etc/apt/下建立一个文件 apt-proxy-conf(名称随意),编辑内容如下:
Acquire::http::proxy "http://proxy3.bj.petrochina:8080/";
Acquire::ftp::pr ...
1、安装samba
sudo apt-get install samba
2、查看samba是否安装成功
$ sudo dpkg -l samba*
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称 版本 体系结构: 描述
+++-==============-============-======= ...
有些Jar包MAVNE中央库并没有,例如Oracle数据库驱动是收费Jar,所以MAVEN中央仓库上并没有,我们需要在Oracle网站上下载到本地磁盘,在安装到我们的本地Maven库中。
1、在Oracle网站上下载ojdbc6.jar(11gR2开始带的驱动类,JDK6编译。性能和稳定性都高于class12和ojdbc14),这里是放到D:\下。
2、使用 mvn install:install-file命令安装
-DgroupId=com.oracle
-DartifactId=ojdbc6
-Dversion=11.2.0.4.0
分别对应pom文件中的信息
<depe ...
1、OSChina Central
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</ ...
转自:http://blog.csdn.net/daihui05/article/details/7476976
在一个maven项目中,如果存在编译需要而发布不需要的jar包,可以用scope标签,值设为provided。如下:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provid ...
Maven会根据Jar依赖,自动引入需要的Jar。但有时这种传递依赖会造成Jar版本冲突。例如:引入proxool0.9.1的数据连接池jar,会自动引入servlet-api2.3.jar。但版本过低会与我们web容器中的servlet-api.jar造成冲突。
解决传递依赖方法如下:
一、mvn dependency:tree
使用 mvn dependency:tree 命令查看传递依赖。可以看到com.cloudhopper.proxool:proxool:jar:0.9.1的会自动引入如下依赖。
[INFO] +- com.cloudhopper.proxool:proxoo ...