이 콘텐츠는 선택한 언어로 제공되지 않습니다.

Chapter 6. Using Script Modules for Dependencies and Loading Custom Functions


When automating management tasks or creating clients to interact withJBoss ON, it is frequently necessary to create custom classes and functions. The JBoss ON CLI implements CommonJS to support script modules.
Note
Script modules are written in JavaScript.

6.1. About Script Dependencies and Exporting Functions

When executing a script from a file by using the rhq-cli.sh -f option, there is no way to define an explicit dependency within an external file. Any functions required by that script must be contained in the script or accessible to the script.
The JBoss ON CLI uses CommonJS to support script modules. CommonJS is designed as a loading mechanism to express dependencies between scripts. If a script is in the default modules directory, then the script can be loaded into the CLI session or referenced in a script, and any exported function is available to the CLI. Modules can be used to load other modules into the CLI session, as well.
The only part of a script that is exposed is a function prepended with exports (following the CommonJS convention).
For example, the sample util.js file exports a foreach function which can search for any object in JBoss ON, as generic objects, arrays, criteria (search) objects, or maps.
exports.foreach = function (obj, fn) {
  var criteriaExecutors = {
  Alert: function(criteria) { return AlertManager.findAlertsByCriteria(criteria); },
  ... 8< ...
  }
Copy to Clipboard Toggle word wrap
All of the functions and objects that are not exported are private and cannot be used outside the module.
A module can be loaded into another module (creating a dependency) by listing the other module as a requirement. Note that, while the .js can be present in the requirement code, the preferred method is to exclude it.
var printResults = require("modules:/modules/util");
Copy to Clipboard Toggle word wrap
TIP
Only an exported function is available, and then it is only available through a variable defined in the script. For example, for the printResults variable, the foreach function is available, referenced as printResults.foreach.
This means that difference script modules can have functions defined in them with the same name, but because there are different variable namespaces, there is no conflict.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat