起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1643|回复: 9

[处理中3] 在类的静态构造块中如何使用context对象?

[复制链接]

24

主题

108

帖子

318

积分

中级会员

Rank: 3Rank: 3

积分
318
发表于 2016-11-22 03:04:58 | 显示全部楼层 |阅读模式
本帖最后由 ejzhang 于 2016-11-22 03:06 编辑
  1. static {
  2.         TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
  3.         ActionContext context = <怎么定义?>;
  4.         Connection conn = context.getConnection(DATASOURCE_X5);
  5.         DataUtils.queryData(conn, "set time_zone='+8:00';", null, null, null, null);
  6. }
复制代码
谢谢!
发表于 2016-11-22 10:33:56 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-11-22 10:37 编辑

ActionContext创建要传入DBConfig
你看下源码的实现吧:http://docs.wex5.com/debug-baas-platform-in-the-code/

请问您的需求是什么??如果你想这些代码只执行一次!可以单独写个方法!
然后使用一个判断条件,定义个ActionContext 对象的全局变量, 获取ActionContext 后执行这个方法!并且设置判断条件变量为false !
也能达到的这样的效果的!




qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

24

主题

108

帖子

318

积分

中级会员

Rank: 3Rank: 3

积分
318
 楼主| 发表于 2016-11-22 20:05:03 | 显示全部楼层
liangyongfei 发表于 2016-11-22 10:33
ActionContext创建要传入DBConfig
你看下源码的实现吧:http://docs.wex5.com/debug-baas-platform-in-the- ...

Java修改时区成功了,我想把MySQL时区也调整一下。网上说“set time_zone='+8:00';”语句可以修改时区,我不知道怎么运行(只运行一次,而不是在类的每个方法中都运行)。
回复 支持 反对

使用道具 举报

发表于 2016-11-25 09:37:17 | 显示全部楼层
ejzhang 发表于 2016-11-22 20:05
Java修改时区成功了,我想把MySQL时区也调整一下。网上说“set time_zone='+8:00';”语句可以修改时区, ...

请问你指的修改时区是云版本上边吗??
时区这个问题应该是服务器操作系统设置的,而不是通过代码动态设置!没见过这样用的啊!
直接修改服务器操作系统的时区不可以吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

24

主题

108

帖子

318

积分

中级会员

Rank: 3Rank: 3

积分
318
 楼主| 发表于 2016-11-26 09:19:09 | 显示全部楼层
liangyongfei 发表于 2016-11-25 09:37
请问你指的修改时区是云版本上边吗??
时区这个问题应该是服务器操作系统设置的,而不是通过代码动态设 ...

CloudX5怎么修改?我通过在每个放法中添加此代码成功修改了时区,问题是我不想在每个方法中都添加修改时区的代码,那样不仅麻烦易出错而且也不优雅。

  1. Connection conn = context.getConnection(DATASOURCE_X5);
  2. java.sql.Statement stmt = conn.createStatement();
  3. stmt.execute("set time_zone='+8:00';");
复制代码
回复 支持 反对

使用道具 举报

24

主题

108

帖子

318

积分

中级会员

Rank: 3Rank: 3

积分
318
 楼主| 发表于 2016-12-3 17:50:16 | 显示全部楼层
这个问题归结为在Baas初始化时执行SQL语句“set time_zone='+8:00';”完成MySQL时区的修改,请问如何实现?谢谢!
回复 支持 反对

使用道具 举报

发表于 2016-12-5 11:01:53 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-12-5 11:04 编辑
ejzhang 发表于 2016-12-3 17:50
这个问题归结为在Baas初始化时执行SQL语句“set time_zone='+8:00';”完成MySQL时区的修改,请问如何实现? ...

这个问题  应该是云平台自己解决的问题!已经提交内部系统了
是不需要开发者关心才对的! BaasServer 就相当于是一个sevlet ,你可以配置init方法中执行初始代码!
或者设置filter 也行!
再请问下!这个需要在页面显示吗?java中获取的当前时间应该是正确的吧!时区也是对的

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

24

主题

108

帖子

318

积分

中级会员

Rank: 3Rank: 3

积分
318
 楼主| 发表于 2016-12-5 12:04:31 | 显示全部楼层
本帖最后由 ejzhang 于 2016-12-5 12:06 编辑
liangyongfei 发表于 2016-12-5 11:01
这个问题  应该是云平台自己解决的问题!已经提交内部系统了
是不需要开发者关心才对的! BaasServer 就相 ...

这个问题云平台解决最好,但是在云平台未解决之前得先采取临时措施。另外,如果软件需要的时区与云平台不一致时如何处理?比如云平台改为东八区,但是软件却需要其他时区怎么办?所以,还是需要在软件层面进行时区修正。
PS:在init中能否使用context对象运行SQL?如何做,能否给个例子,谢谢!

回复 支持 反对

使用道具 举报

发表于 2016-12-5 15:24:22 | 显示全部楼层
ejzhang 发表于 2016-12-5 12:04
这个问题云平台解决最好,但是在云平台未解决之前得先采取临时措施。另外,如果软件需要的时区与云平台不 ...

云部署,建议参考:
http://docs.wex5.com/about-cloudx5/

有什么sql 语句 直接放在.sql文件中传上去!自然会执行到的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

24

主题

108

帖子

318

积分

中级会员

Rank: 3Rank: 3

积分
318
 楼主| 发表于 2016-12-5 17:53:09 | 显示全部楼层
liangyongfei 发表于 2016-12-5 15:24
云部署,建议参考:
http://docs.wex5.com/about-cloudx5/

“set time_zone='+8:00';”,修改MySQL时区的语句,为了解决插入数据库中的日期时区不对的问题。
现在我把这条SQL语句在每个方法中都执行了一遍,有没有简单的方法在类初始化时只执行一次?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 20:19 , Processed in 0.057012 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表