java - com.ibm.ws.scripting.adminCommand.AdminTask 到底在哪里?

标签 java websphere jython wsadmin

对 WebSphere Admin Server 提供的该死的糟糕 API 感到沮丧,我正在编写自己的 Java DSL 包装器。我的 jython 文件现在只需阅读:

from my.package import MyDSL
config = MyDSL(AdminConfig, AdminTask)
config.goGoGadgetSkates() # or something like that

关键部分是我通过 (#%$$!@#) 上帝对象 AdminConfigAdminTask 发送,以便 DSL 可以使用它们来执行操作在 WAS 中。

为了编译 DSL,我需要包含这两个对象的类文件。我首先将构造函数设置为:

public MyDSL(Object a, Object b) {
    System.out.println(a.getClass());
    System.out.println(b.getClass());
}

输出显示 AdminConfig 对象是 com.ibm.ws.scripting.AdminConfigClient 的一个实例。我很容易找到包含此类的 jar ,一切都很好。

但是 AdminTask 是 com.ibm.ws.scripting.adminCommand.AdminTask 的一个实例。尽管在运行时存在,但此类不存在于我的类路径中的任何位置,甚至不存在于我的计算机硬盘驱动器上的任何位置。

我只能假设 com.ibm.ws.scripting.adminCommand.AdminTask 是由 WSAdmin 在 jython 层中神奇地构建的。也许它被定义为一个 python 类?

在我之前resort to reflection ,有人可以解释一下 com.ibm.ws.scripting.adminCommand.AdminTask 可能存在的位置以及我如何提取类文件的副本吗?

最佳答案

AdminConfigClient 类不是 API/SPI,因此您依赖该类创建了一个脆弱的基础结构。 API/SPI 入口点是 ConfigServiceFactory .

AdminTask 对象由 CommandMgr 中的数据支持.应该可以使用 CommandMgr 来做您可以用 AdminTask 做的任何事情。

关于java - com.ibm.ws.scripting.adminCommand.AdminTask 到底在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9578490/

相关文章:

Java 服务器 JRE 未通过远程 PowerShell 安装进行注册。与 PowerShell ISE 配合使用

java - WebSphere 无法连接到服务器进程。确保服务器已经启动

java - Websphere 7 - 如何知道部署在同一服务器实例中的 EAR 端口

java - 如何拆分下一个条目集迭代器?

java - mssql 处理行返回相当尴尬

java - 如何在 Jython 和 PY4J 跨平台中使用 NLTK?

JavaFx:显示日期选择器

java - 在 MATLAB 中调用 java 类文件(使用 jar 文件和其他类文件)

java - 无法将类型 'java.lang.String' 的属性值转换为属性 'int' 所需的类型 'id'

json - 使用 JSON 和 Wink 的 JAX-RS 客户端/服务器应用程序