4.2.5.2.5. ScriptingManagerMBean

ScriptingManagerMBean is the JMX facade for the Scripting infrastructure interface.

JMX ObjectName: app-core.cuba:type=ScriptingManager

JMX attributes:

JMX operations:

  • runGroovyScript() – executes a Groovy script in the Middleware context and returns the result. The following variables should be passed to the script:

    The result type should be of the String type, for it to be displayed in the JMX interface. Otherwise, the method is similar to the Scripting.runGroovyScript() method.

    The example script for creating a set of test users is shown below:

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