WebSphere应用服务器中的Jython | AI生成和翻译

Home 2025.10

在 IBM WebSphere Application Server 中使用 Jython

注:”jPython” 指的是 Jython,一种在 Java 虚拟机(JVM)上运行的 Python 实现。它常用于 WebSphere 的管理脚本编写,也可集成到已部署的应用程序中。WebSphere Application Server (WAS) 捆绑了 Jython(通常为 2.1 或更高版本,具体取决于 WAS 版本),位于 <WAS_HOME>/optionalLibraries/jython 目录下,因此通常无需单独安装。下面将介绍两种主要使用场景:管理任务和应用程序中的运行时使用。

1. 使用 wsadmin 进行管理脚本编写

在 WebSphere 中使用 Jython 最常见的方式是执行服务器管理任务,如部署应用程序、启动/停止服务器、配置资源和列出已安装的应用。这通过 wsadmin 工具实现,该工具支持将 Jython 作为首选脚本语言(取代已弃用的 Jacl)。

前提条件:

运行 Jython 脚本的基本步骤:

  1. 创建 Jython 脚本文件(例如 example.py)并编写代码。使用 AdminConfig、AdminControl 和 AdminApp 对象执行 WebSphere 特定操作。

    列出所有已安装应用程序的示例脚本(listApps.py):

    # 列出所有应用程序
    apps = AdminApp.list()
    print("已安装的应用程序:")
    for app in apps.splitlines():
        if app.strip():
            print(app.strip())
    AdminConfig.save()  # 可选:保存配置更改
    
  2. 使用 wsadmin 运行脚本:
    • 通过 SOAP 连接(远程默认方式):
      wsadmin.sh -lang jython -f listApps.py -host <主机名> -port <soap_port> -user <管理员用户> -password <管理员密码>
      
    • 本地连接(无需主机/端口):
      wsadmin.sh -lang jython -f listApps.py
      
    • 示例输出:列出类似 DefaultApplication 的应用程序。
  3. 交互模式(REPL):
    wsadmin.sh -lang jython
    

    然后直接输入 Jython 命令,例如 print AdminApp.list()

常见示例:

提示:

2. 在已部署的应用程序中使用 Jython

要在运行于 WebSphere 上的 Java 应用程序(例如 servlet 或 EJB)中执行 Jython 代码,需将 Jython 运行时(jython.jar)包含在应用程序的类路径中。这允许嵌入 Python 脚本或将 Jython 用作脚本引擎。如果捆绑版本过时,请从官方 Jython 站点下载最新的 jython.jar。

有两种主要方法:类路径(服务器范围)或共享库(跨应用程序可重用)。

方法 1:类路径(直接添加到 JVM)

  1. jython.jar 保存到 WebSphere 主机上的可访问路径(例如 /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/mylibs/jython.jar)。
  2. 登录 WebSphere 管理控制台。
  3. 导航至 服务器 > 服务器类型 > WebSphere 应用程序服务器 > [您的服务器]
  4. 进入 Java 和进程管理 > 进程定义 > Java 虚拟机 > 类路径
  5. 添加 jython.jar 的完整路径(例如 /opt/.../jython.jar)。
  6. 通用 JVM 参数 中添加 Python 路径:
    -Dpython.path=/opt/.../jython.jar/Lib(指向 Jython 的标准库)。
  7. 点击 确定,保存配置并重启服务器。
  8. 如果在集群环境中,同步节点(通过 系统管理 > 节点 > 同步)。
  9. 在 Java 代码中,使用 org.python.util.PythonInterpreter 运行 Jython 脚本:
    import org.python.util.PythonInterpreter;
    PythonInterpreter interpreter = new PythonInterpreter();
    interpreter.exec("print('Hello from Jython in WebSphere!')");
    

方法 2:共享库(推荐用于多个应用程序)

  1. jython.jar 放入共享目录(例如 /shared/libs/jython.jar)。
  2. 在管理控制台中:环境 > 共享库 > [范围:服务器或单元] > 新建
  3. 输入名称(例如 JythonLib),勾选 使用本机库目录,并将 类路径 设置为 /shared/libs/jython.jar
  4. 保存。
  5. 对于特定应用程序:应用程序 > 应用程序类型 > WebSphere 企业应用程序 > [您的应用程序] > 引用共享库
  6. 共享库引用 下,点击 添加,选择 JythonLib,并设置 类路径 以匹配。
  7. 保存,更新应用程序(如需要则重启),并同步节点。
  8. 在代码中引用,如类路径方法所示。

应用程序提示:

高级说明

如果这与您的具体场景不匹配(例如特定的 WAS 版本或使用案例),请提供更多细节以获取定制建议。

参考资料:


Back

x-ai/grok-4-fast

Donate