【问题标题】:LS2J: get session from LS agent into java classLS2J:从 LS 代理获取会话到 java 类
【发布时间】:2016-11-08 11:08:31
【问题描述】:

我有一个 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 类?

【问题讨论】:

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


    【解决方案1】:

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

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

    作为替代方案,您可以创建一个 Java 代理来完成所有的工作。然后就可以从 LotusScript 调用 Java 代理了。

    【讨论】:

    • @Alexander:你能让它与变通方法一起工作吗?
    • 我将信息转发给我的同事,他成功实现了完整的 Java 代理。
    猜你喜欢
    • 2011-04-03
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多