3.2.5.2.5. ScriptingManagerMBean

ScriptingManagerMBeanScripting 基础接口的 JMX 外观设计模式实现。

JMX 对象名: app-core.cuba:type=ScriptingManager

JMX 属性:

JMX 操作:

  • runGroovyScript() – 在中间层上下文中执行 Groovy 脚本并返回结果。会将以下变量传递给脚本:

    • persistence - Persistence 类型的参数。

    • metadata - Metadata 类型的参数。

    • configuration - Configuration 类型的参数。

    • dataManager - DataManager 类型的参数。

      结果类型应该是可显示 JMX 界面上的字符串类型。除此之外,此方法与 Scripting.runGroovyScript() 完全一样。

      用于创建一组测试用户的示例脚本,如下所示:

      1. import com.haulmont.cuba.core.*
      2. import com.haulmont.cuba.core.global.*
      3. import com.haulmont.cuba.security.entity.*
      4. PasswordEncryption passwordEncryption = AppBeans.get(PasswordEncryption.class)
      5. Transaction tx = persistence.createTransaction()
      6. try {
      7. EntityManager em = persistence.getEntityManager()
      8. Group group = em.getReference(Group.class, UUID.fromString('0fa2b1a5-1d68-4d69-9fbd-dff348347f93'))
      9. for (i in (1..250)) {
      10. User user = new User()
      11. user.setGroup(group)
      12. user.setLogin("user_${i.toString().padLeft(3, '0')}")
      13. user.setName(user.login)
      14. user.setPassword(passwordEncryption.getPasswordHash(user.id, '1'));
      15. em.persist(user)
      16. }
      17. tx.commit()
      18. } finally {
      19. tx.end()
      20. }