从XPages中的Java类调用Java代理

从XPages中的Java类调用Java代理,xpages,Xpages,我可以使用以下代码调用SSJS中的Java代理: var db:NotesDatabase = session.getCurrentDatabase(); var agent:NotesAgent = db.getAgent("AgentName"); agent.run(); 但我想做的是从Java类调用Java代理?这可能吗?谢谢你的提示。有趣的挑战是如何在Java类中获得会话和/或数据库。该类可以位于NSF、插件或jvm/lib/ext中的jar中 您不想依赖于它的来源,所以您可以使用依

我可以使用以下代码调用SSJS中的Java代理:

var db:NotesDatabase = session.getCurrentDatabase();
var agent:NotesAgent = db.getAgent("AgentName");
agent.run();

但我想做的是从Java类调用Java代理?这可能吗?谢谢你的提示。

有趣的挑战是如何在Java类中获得会话和/或数据库。该类可以位于NSF、插件或jvm/lib/ext中的jar中

您不想依赖于它的来源,所以您可以使用依赖注入来提供它们(这是一个花哨的词:provide as parameter),例如:

public class Leon implements Serializable {

      public void cleanerDoYourWork(Database db) {
            Agent theProfessional = db.getAgent("acidAndGuns");
            theProfessional.run();
            theProfessional.recycle();
      }
    }
如果您没有得到双关语,请在IMDB中搜索Leon:-)


备注:在SSJS中,您不需要
session.getCurrentDatabase(),它已经作为“数据库”存在了。

这当然是可能的。你“只是”将你的SSJS代码转换成等价的java代码,我认为这是一个bug。是不是应该是
Leon实现了SerialKiller
:-)