3.2.5.2.5. ScriptingManagerMBean
ScriptingManagerMBean 是 Scripting 基础接口的 JMX 外观设计模式实现。
JMX 对象名: app-core.cuba:type=ScriptingManager
JMX 属性:
JMX 操作:
runGroovyScript()
– 在中间层上下文中执行 Groovy 脚本并返回结果。会将以下变量传递给脚本:
persistence
- Persistence 类型的参数。metadata
- Metadata 类型的参数。configuration
- Configuration 类型的参数。dataManager
- DataManager 类型的参数。
结果类型应该是可显示 JMX 界面上的字符串类型。除此之外,此方法与 Scripting.runGroovyScript() 完全一样。
用于创建一组测试用户的示例脚本,如下所示:
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()
}