首先快速总结一下我的问题,然后详细说明.
我有一个日历日期00:00:00作为时间,因为它对业务不重要.此值将发送到Web服务,该服务生成XML,其中值以下列格式结束:2014-09-12T07:55:07.000Z.我注意到这是原始值转换为+0时区(UTC)(我们的是CET,+ 1,但是目前是CEST,+ 2,因为DST).
我目前不知道读取XML的系统是否考虑了时区,或者是否会提取2014-09-12并假设它在+2时区.
我注意到发送" 2014-09-12 00:00:00"本地时间(tz +2)最终会像2014-09-11T22:00:00.000Z在XML中一样.没有什么大惊喜,它转换了它...但如果它被另一个系统解释为它,它会认为日期比它应该早一天.
可以做些什么来确保将其解释为预期?
我正在考虑使用正午而不是午夜来确保时区转换不会影响解释,但这感觉就像一个肮脏的把戏.或者也许我应该作弊并将日历时区设为+0,以便在放入XML时不会时移?
为什么"将日历发送到网络服务"?
该应用程序位于Coldfusion 7中.为了与SOAP Web服务进行通信,服务器生成一组Java类,这些类适合webservice期望的参数定义.该参数显然是一个具有大量属性和子属性的大对象.因此,实例化主Java类并使用setter和其他类的进一步instanciations来"填充"所有属性.
你必须使用日历吗?
是的,无法更改Java对象定义.它期望所有日期的日历.
这是什么2014-09-11T22:00:00.000Z格式?
我不知道.这似乎是最终系统对日期的期望.
你应该使用JODA
除非JODA类扩展Calendar并且与Java 1.3兼容(Coldfusion服务器上的当前Java版本 - 是的,它是旧的),我怀疑它会起作用.
你能在其他系统上做多少钱?
另一个系统是另一个团队的责任,显然很难改变.我希望我们的应用程序必须找到解决方案.
返回使用createObject("java", "<someclass>")函数创建的Java对象时,我应该使用哪种返回类型?
"Any"是唯一的解决方案吗?
假设我想从cfscript块中的CFC调用静态函数.据我所知,唯一的方法是使用createObject()返回对CFC对象的引用.
这是好习惯吗?我想我记得读过cfinvoke肯定是巧妙地实现了对象,并且不会多次实例化静态CFC.这是否正确,如果是这样,使用createObject()时仍然如此吗?
这是一个示例查询:
SELECT thing_id
FROM thing
WHERE thing_type IN (3, 7)
Run Code Online (Sandbox Code Playgroud)
我想将3和7变成人类可读的名称,以帮助理解查询真正在做什么.像下面这样的东西会很棒:
SELECT thing_id
FROM thing
WHERE thing_type_id IN (OPENED, ONHOLD)
Run Code Online (Sandbox Code Playgroud)
知道OPENED和ONHOLD会将其实际值声明在其他地方.
我想也许有一种方法可以通过一个thing_type表的JOIN来做到这一点.
请注意,我陷入了直接编码查询而不是使用抽象框架的环境中.
假设常规.cfm文件中有以下代码,而不是 CFC:
<cffunction name="myFunction"> <cfobject type="java" action="create" class="path.to.my.java.class" name="myJavaVariable"> </cffunction>
什么是创建对象的范围?我感觉它不仅限于功能范围.如果是这样,如何让它成为本地的?以下工作会怎样?
<cfset var myJavaVariable = ""> <cfobject ... name="myJavaVariable">
编辑:我忘了说我在Coldfusion MX 7下,因为它确实阻止了网络上的一些有用的解决方案.
我找到了一个解决方法,其中一个创建一个假的本地范围(<cfset var local = StructNew()>).它甚至可以用于这样的标记,因为你可以把返回变量作为local.someVar.
我有一个Card类,现在我想创建一个Deck类.我正在查看收藏中可用于存储卡片列表的内容,因为我知道我需要尽可能多地自由操作卡片.
我希望能够在牌组的任何地方插入新牌,随机播放(Collections.shuffle()应该可以使用),偷看任何牌并从顶部,底部和中间的任何位置取出(移除)牌.你可以用一堆卡片做任何事情.例如,没有"仅LIFO"限制.
以下是我到目前为止所发现的以及我对每个问题的看法:
对于我正在尝试做的事情,是否有比上述任何一个更好的预制课程?如果不存在"完美",那么我应该将哪个类用作扩展的基础?
值得注意的是:我现在不知道我是否关心同步.我也从Java 6的角度来看这个,但我对Java 7解决方案持开放态度,特别是如果有一个现成的解决方案.