Mopaas 初体验

初步印象

首先要说 mopaas 相对于自己买云主机DIY 而言,还是简便了太多。对于 java web 应用而言,只需将 war 上传即可启。操作界面简洁明了,可以很快上手,同时也为技术控提供了功能更强的 vmc 控制台工具。 由于提供了免费套餐,个人以为对于一些小项目、内部项目、甚至于测试项目都是一个多快好省的选择。

移植团队日志(Teamlog)

团队日志本来追求的是开箱即用,所以内置了 H2 database 数据库。但是对mopaas 这种不支持本地 IO 的平台而言,肯定是不适合的。因此,必须要做移植。

1、数据库换成了 mysql,连接池换成了 boneCP。   
这一步比较简单,通过 System.getEvn 方法来和 mopaas 平台连接即可。

2、用户上传的头像文件需要切换到 mopaas 的文件服务
这一步也不复杂,同样使用 System.getEvn() 将原来的保存位置调整为 mopaas 的服务即可。


部署团队日志(Teamlog)

由于 mopaas 的操作界面很简洁,经过下面的步骤,很快就完成了部署。

  1. 申请账号
  2. 创建应用
  3. 创建服务
  4. 绑定服务到应用
  5. 启动

遇坑以及填坑

1、mopaas 提供的mysql 服务大小写敏感,由于 teamlog 使用的 jdbc 直联方式,所以 sql 没法跑,抛表找不到异常。所以只好黯然调整sql 语句,视力为此下降0.01度。

2、由于sql 调整,导致输送到客户端的 json 字段名也做了变化,于是乎js 代码中也要做相应的调整,视力再次下降0.01度。

3、mopaas 的 tomcat 提供的是默认配置,因此对URL 中包含/%2F 字符时不响应。由于 teamlog 在登录超时之后,Server 会redirect 到 login 页,同时会带上用户当前响应的 url,而 Server 端会做 utf8的 encode,这样“/”就会变成"/%2F",所以就无法响应了。 

建议

1、为文件服务提供一个管理页面,即可确认文件上传是否成功,又可删除不必要的文件。

2、tomcat 在启动时,对JAVA_OPT加入参数:-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true ,以确保对于/%2f 字符的响应。

3、目前对于开发调试的支持不够友好,有些问题需要部署上去后才能发现,这样在正式发布之前,需要反复多次部署和验证。建议后续提供 IDE 集成就更牛了!

4、mysql 不要配置为大小写敏感。


你可能感兴趣的:(开源软件,MoPaaS应用开发大赛,teamlog,team-log,团队日志)