LS2J:从LS代理到java类的会话

时间:2016-11-08 11:08:31

标签: java lotus-notes lotus-domino lotusscript ls2j

我有一个java类,应该将数据从当前数据库传输到另一个服务器。要访问当前数据库,Java似乎需要一个有效的Session对象:

public class EdgeServerConnection
{
    public EdgeServerConnection(Session session) {
        try {
            // How to get the session into here?
            Database db = session.getCurrentDatabase();
            ...
        } catch(Exception e) {
        }
    }
}

应该从LotusScript代理调用该类,不管怎么样:

Set session = New NotesSession
Set jsession = New JAVASESSION
Set connectionClass = jsession.GetClass("EdgeServerConnection")
Set connectionObject = connectionClass.CreateObject("(L/lotus/notes/Session;V)", session)

但这会引发错误

  

LS2J:java构造函数无法执行

如果从构造函数和CreateObject调用中删除Session参数,则错误消失。

如何将代理会话引入java类?

1 个答案:

答案 0 :(得分:3)

您不能使用LS2J调用的Java类中的Domino对象,也不能将Domino对象作为参数传递。

使用LotusScript中的Notes Domino类完成所有工作,并使用Java类完成您真正需要使用Java完成的任务。

作为替代方案,您可以创建一个完成 all 工作的Java代理。您可以从LotusScript调用Java代理。