我需要在Java应用程序中查询使用Lotus Notes填充的IBM Domino数据存储.我希望IBM遵循JDBC设计模式,这样我就可以实现与从Oracle获取数据所做的相似的工作.我应该从哪里开始?
我知道IBM不支持JDBC for Domino.我需要的是一个等价物.
对于8.53和XPages扩展库中新增的Domino Data Services,我想关闭@,它预装了REST API调用中JSON数据中返回的所有属性.
例如,目前它看起来像这样:
"@title":"($DircatConfig)",
"@folder":false,
"@private":false,
"@modified":"2012-02-03T14:50:03Z",
"@unid":"50458575F2AA5F918525690D004F0AB5",
"@href":"http:\/\/192.168.1.30:80\/names.nsf\/api\/data\/collections\/unid\/50458575F2AA5F918525690D004F0AB5"
Run Code Online (Sandbox Code Playgroud)
@符号让我在Javascript框架中感到悲伤,Javascript框架可以直接绑定到数据,因为如果包含@,则不能使用点符号绑定到各个属性名称.
我正在尝试的框架是http://angularjs.org/,并且示例绑定可能是
{{databases.@ title}} < - 不起作用而{{databases.title}} < - 有效
我已将此标记为XPages,因为它与扩展库相关.
我正在从Domino服务器端操作每30秒轮询一次外部Web服务.
一点点背景......
我们通过TomTom api跟踪汽车的位置.我们现在需要在我们的网络应用程序中显示这一点,覆盖到地图(谷歌,bing等),并与我们的应用程序中的其他lat长数据混在一起.可以把它想象成调度出租车,我们想把这些调用分配给出租车(......这不是出租车\调用,但它是类似的过程).我们非常积极地刷新调度控制器屏幕,因此他们可以看到所有对象的状态并分配给最近的汽车.如果我们从刷新用户屏幕触发数据,我们进入一些棘手的控制服务器端,否则我们将达到每分钟最大允许请求到TomTom api.
最初我打算安排一个代理来轮询Web服务,写入我们应用程序中的缓存对象,刷新调度控制器屏幕从我们的缓存中提取数据....很棒,除了用户要求是我们的缓存必须是每30秒更新一次.我可以创建一个每1分钟运行一次的程序文档,但仍然不够激进.
所以我们现在离开了:我们的.net人将创建一个服务,每30秒轮询一次TomTom,我们从他的服务中检索,或者我想办法在Domino中做.在Domino数据库中做的很好,而不是一些独立的Java应用程序或.net,以便在一个系统(Domino)中保留尽可能多的逻辑.
我们在系统中大量使用支持bean.我将在今天晚些时候对此进行测试,我希望,但这似乎是一条明智的路线......?: 使用计时器在JSF托管bean中为计划任务生成线程 ......或者是他们的局限性我不知道,有没有人在Domino之前解决这个问题或有任何意见?
提前致谢,
缺口
我试图在点击一个具有编辑框值+自己的值的按钮时更新计算字段值.
写在按钮上的代码:这里我将编辑框的值放在范围变量中,并使编辑框为空白.comment_te是编辑框的名称
requestScope.put("commentValue", getComponent("comments_te").getValue);
getComponent("comments_te").setValue("");
Run Code Online (Sandbox Code Playgroud)
为计算字段的值编写的代码:comments是计算字段的名称
getComponent("comments").getValue + "\n" + requestScope.get("commentValue")
Run Code Online (Sandbox Code Playgroud)
但我得到的输出是:0 com.ibm.xsp.component.xp.XspInputText@65426542
请帮我解决一下这个.
我想获得Lotus Domino文档的创建者和最后一个修饰符.我怎么能这样做?
我找到了Authors属性,Vector但是它的排序没有在文档中定义.我可以依赖于第一个元素是创建者而最后一个元素是最后一个修饰符吗?
我只想从1个表单中查看显示记录,是否可以阻止来自其他表单的所有其他记录并仅显示"产品"表单记录?
第二个问题是如何隐藏空的recprds?我想如果所有视图字段都是空的我不想在视图中显示此记录.
我需要根据文档ID获取视图分类的列的总和.我能够使用以下代码获得整个列的总和:
var myView:NotesView = database.getView("totalScore")
var nav:NotesViewNavigator = myView.createViewNav();
var entry:NotesViewEntry = nav.getLast();
return entry.getColumnValues()[7];
Run Code Online (Sandbox Code Playgroud)
但我需要一个特定类别的总和,我怎样才能获得每个类别的总数?
在阅读了我已经知道的许多博客和帖子之后,我必须在我的课程和方法结束之前回收多米诺骨牌对象,以免重载我的堆.但是魔鬼在细节上,我多次忘记回收一些物体,以便它们在堆上仍然活着.
所以我的问题是,是否可以从堆中收集和回收它们,而无需重新启动服务器?
在莲花我有一个订单文件的视图.我正在构建一个代理来搜索在过去25分钟内修改的所有订单.
为此我做了以下代码:
strFormule = "Form=""Order"" & @Modified >= @Adjust(@Today;0;0;0;0;-25;0) & Deleted !=""J"""
Set ndcOrder = currentDB.Search( strFormule, Nothing, 0 )
If ndcOrder.Count <> 0 Then
Set doc = ndcOrder.GetFirstDocument
While Not doc Is Nothing
Run Code Online (Sandbox Code Playgroud)
因此,如果它是11.00那么它需要接受今天从10.35修改的订单
但是在调试器中我也得到了2小时前修改过的订单.
这怎么可能?
在 IBM Notes 中,如果我创建了 Java 代理,那么如何包含我自己创建的 Java 文件:

所以我创建了一个 cxmlCustom 包,我想将它包含在 profileResponse 中。请注意,Java 代理中的 import cxmCustom 不起作用。
接下来我使用 java 类:Statuscode 以便我可以创建一个对象,例如具有以下值:
Statuscode = 406
Text = Not Acceptable
Meaning = more text
Run Code Online (Sandbox Code Playgroud)
在类 StatusCodesList 中,我创建了一堆 statuscode 对象并将这些创建的 statuscode 对象保存在一个数组中。
在我的 profileResponse 中,我想检索这个对象。后来在其他代理中,我重用了这个 statuscodelist 类。我想知道这是否是一个好方法?
lotus-domino ×10
lotus-notes ×6
xpages ×5
java ×4
lotus ×2
formula ×1
javabeans ×1
javascript ×1
jdbc ×1
lotusscript ×1