mysql表名区分大小写

发表于1年前(May 22, 2017 9:45:00 PM)  阅读 803  评论 0

分类: 数据库 开发运维环境

标签: lower_case_table_names mysql 区分大小写

直奔主题,mysql中的lower_case_table_names变量的作用就是设置表名是否区分大小写,可以在登录mysql后通过show variables like 'lower_case_file_system';命令来查看当前的配置值。如果为ON表示不区分大小,OFF表示区分大小写。

默认情况下,在windows下为ON,Linux下为OFF,MacOS有人说是为OFF,但笔者实际上是ON。

可以通过修改/etc/my.cnf文件来改变默认的设置。

在mysqld节点下面增加lower_case_table_names=1,1表示ON,0表示OFF。

JGroup无法加入同一组的一种情况

发表于1年前(Feb 26, 2017 1:39:12 PM)  阅读 588  评论 0

分类: Java 开发运维环境

标签: JGROUP 组播通信 集群通信 IPV6

笔者早在几年前就了解过JGroup这个工具,运行过官网上的例子,觉得挺有意思,当时就考虑过这东西可以用来作为集群之间的通讯工具。而最近真正使用它时,发现怎么也跑不了,跑不了也不是说它报错,就是启动两个程序,两个程序分别进入了不同的组,集群名称设置没错,两个程序都是一样的。当时的调试信息就不贴了,没有保留。

后来笔者在网上搜索了很久,终于找到了原因。原理是IPV6的原因,估计是笔者以前使用的是window,版本也比较低,现在使用的mac,带有IPV6功能,JGroup本来是支持IPV6的,但是据说JDK实现有些问题,必须禁用JDK的IPV6功能才行,在JVM配置里面加上下面的语句即可禁用:

-Djava.net.preferIPv4Stack=true

禁用后就连接正常了。

另外补充一句,JGroup4出来了,但是JDK版本要求升高了,至少需使用JDK1.8才行。

hibernate-validator在windows服务器下和weblogic冲突

发表于2年前(Sep 14, 2016 5:17:08 PM)  阅读 708  评论 0

分类: 开发运维环境

标签: hibernate-validator和weglogic冲突 traversableResolver

1、weblogic错误日志

2、错误原因

具体怎么找到错误原因的不说了,最终确认是因为项目中的hibernate-validator库和weblogic冲突导致的。hibernate-validator版本为5.2.4.Final,尝试过升级或降级hibernate-validator版本均失败,hibernate使用的是4.3.8。

3、解决办法

maven部署jar包到nexus私服

发表于2年前(Jul 6, 2016 10:19:07 AM)  阅读 760  评论 0

分类: 开发运维环境

标签: maven nexus deploy

1、修改setting.xml

<server>
		<id>releases</id>
		<username>admin</username>
		<password>admin123</password>
	</server>
	<server>
		<id>snapshots</id>
		<username>admin</username>
		<password>admin123</password>
	</server>

2、修改pom.xml

<distributionManagement>
		
......

关于图片使用绝对路径还是相对路径的几点思考

发表于2年前(Jun 18, 2016 4:54:56 PM)  阅读 977  评论 0

分类: 开发运维环境

标签: 绝对路径 相对路径 图片地址 lazyload 云存储

这篇文章主要是说说这么多年,笔者自架博客服务器以来,对于图片存储路径的一些经验。

首先,拥有专门的文件服务器,这是最好的解决方案。大型门户,大型电商毫无疑问都是使用的自己的文件服务器,这些服务器不仅拥有高效的读写性能,往往都合cnd想结合,对于图片很多的网站能提供很好的用户体验。另外很多都能对多媒体进行实时在线处理。举个例子,京东云提供的图片在线处理,以下是其官方说明文档的一部分:

图片处理是京东云提供的包括缩略图、水印、图片旋转等功能在内图片处理服务。用户可以在将图片上传到京东云存储后直接通过Rest API或SDK完成图片的缩放

......

Mac OSX系统文件大小采用1000进制

发表于2年前(Jun 3, 2016 9:25:39 PM)  阅读 812  评论 0

分类: 开发运维环境

标签: 1000进制 文件大小统计

最近做一个web的文件管理系统,在显示文件大小时,将byte换算成kb或者mb时,发现跟操作系统显示的大小有误差。经过认真对比发现,原来笔者使用的Macbook,OSX系统文件大小采用的是1000进制换算,而我们常用的windows使用的是1024进制进行换算。网上查了不少资料,发现其实硬盘和U盘是存在1000进制的情况的,不过还是未能找到关于这方面的权威资料,在此先记录一下。

邮件服务器自动安全扫描导致激活邮件失效

发表于2年前(Dec 16, 2015 10:13:11 AM)  阅读 600  评论 0

分类: 开发运维环境

标签: 用户注册 邮箱激活 激活失效

1、发生的问题

上周开发的一个APP做上线测试,用户注册功能发现出现一点问题。用户注册的流程为:使用APP填写注册申请,服务器记录注册信息,发送注册用户激活邮件,用户登录邮箱,点击激活链接,完成激活操作,然后可以登录APP。线上问题展现为,用户注册完直接变成了正式用户,激活邮件里面的链接已经失效。

2、问题产生的原因

本地单步调试一切正常,服务器测试怎么都不行,折腾了一个多小时,终于推测出问题原因,正如标题所描述的那样,原来是邮件服务器自动安全扫描造成的。一般邮件服务器都会有安全扫描机制,用来过滤病毒以及垃圾邮件等,这里提一下,笔者使用的是QQ邮箱。对于激活邮件,邮件服务器扫描了该链接,然后导致该链接已经激活过。至于为什么本地正常,那是因为本地使用的是内网地址,邮件服务器访问不到,所以才导致了该问题的产生,第一次做类似功能,囧。

3、问题解决方法

问题原因找到了,现在要解决的问题就是如何避免邮件服务器扫描激活链接,或者判断链接的访问者,是否是邮件服务器,或者机器人访问,笔者猜想大部

......

linux修改系统时区和时间

发表于2年前(Oct 31, 2015 9:13:01 PM)  阅读 525  评论 0

分类: 开发运维环境

标签: 修改时区 修改时间

新部署的环境,发现文章显示的发布时间不对,查看估计服务器时间不准,上服务器看时间是正确的,那就应该是时区不对,使用下面的方法修改服务器的时区:

将时区设置为上海所在的时区,即东八区。

若要修改时间,使用date -s "2008-08-08 12:00:00" 命令。

修改完时区,如果有服务使用系统时间的,如mysql服务,必须重启相应的服务。

A cycle was detected in the build path of project: XXX

发表于3年前(Jun 16, 2015 10:45:32 AM)  阅读 992  评论 0

分类: Java 开发运维环境 异常

标签: 循环依赖

昨天从公司svn服务器上拉取一个历史遗留项目,项目采取分模块工程方式开发,但是模块间出现了相互依赖的情况,这是很不合理的,我们要避免这种情况的发生。出现这种情况的时候,eclipse给出了A cycle was detected in the build path of project: XXX  错误信息,一个循环依赖被检查到,导致无法编译。

最简单的方法,参照网上给出的,直接将eclipse这个错误级别由error改成warning。

Eclipse Menu -> Window -> Preferences... -> Java -> Compiler -> Building -> Building path problems -> Circular dependencies -> 将Error改成Warning。

以上是将整个工作空间的编译选项都改了,一般建议只修改报错工程的编译选项就行

......

hibernate-jpa与persistence-api冲突

发表于3年前(Apr 18, 2015 9:23:30 AM)  阅读 1205  评论 0

分类: Java 开发运维环境

标签: junit javax.persistence.Table.indexes[Ljavax/persistence/Index javax.persistence.JoinColumn.foreignKeyLjavax/persistence/ForeignKey hibernate4.3 persistence-api hibernate-jpa

1、背景

hibernate版本使用的是4.3.8,项目架构是jpa,使用注解注册实体。启动tomcat容器测试时,运行无问题,使用junit运行单元测试时,报出几种错误,网上搜索有如下信息:

错误一
错误信息:javax.persistence.Table.indexes([Ljavax/persistence/Index 
原因:Hibernate4.3不支持@table(name="tablename")
解决方案:使用@entity(name="tablename")代替@table(name="tablename")

错误二
错误信息:javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey
原因:Hibernate4.3在多对一映射的时候不能使用@JoinColu

......