做过一些比较复杂的业务,尤其是与钱有关的业务的话,应该会有这样的需求,就是测试时产生的数据不要影响到线上,这就需要把测试环境和生产环境分离,尤其是数据库。
最简单的办法,也是我们所不希望的,就是每次做环境的时候修改一次代码来实现这个分离。
那么有什么别的好办法吗?
在线上的服务中,有时候会发现log中会输出异常信息,但是只有一行异常类的全名,却没有任何stack trace信息, 比如下面这一行log。 而我们在使用log4j打印信息的时候却是要求打印堆栈出来的。 那这是怎么回事呢?
java.lang.NullPointerException
最近公司的业务使用了xx云的服务,其中一部分功能是通过http协议的api接口提供的。api接口的返回值为xml格式,但是在使用过程中却遇到解析的问题。 解析CDATA节点时,没能正常的获取到文本内容, 而是拿到了整个节点。
一个Java服务器重启失败,后台报了[Address already in use]的错误。
第一个可能是,这个服务上一次没有stop成功,依然还活着,所以没有释放端口。ps之后发现确实是死了。
第二个可能是,其他程序使用了跟这个服务一样的端口,netstat之后发现,端口根本没有被占用。
本文记录了在使用mysql 5.6的过程中遇到的一次乱码问题以及相应的分析和解决经验。
*content
JDK的序列化机制要求被序列化的对象的类以及各字段的类都实现了Serializable接口。如果各个字段的类是自己定义的话,那么可以自己修改这些类型。如果不是呢?