例子中没有如何建立策略的例子啊,现在我想在一个CI变更时调用一个java的类,貌似这里面优惠雕功能,但是不知道该具体怎么配置,不胜感激
以下为OneCMDB探索回复内容,可供参考:
如果想在CI变更时调用Java类,则需要使用事件策略。登录之后再System View中定位到Policy->EventPolicy,然后切换到Edit Allowed视图,点击Add按钮就可以添加事件策略了。
几个重要参数:
callbackClass:需要调用的类名称,该类需实现org.onecmdb.core.IEventPolicyCallback,该接口只有onPolicyEvent这个方法,OneCMDB会自动调用onPolicyEvent方法。
OnRfc:标明作用于哪个RFC上,如果作用域修改属性请求上,则为org.onecmdb.core.internal.ccb.rfc.RFCModifyAttributeValue,其他类似,为ccb.rfc下面的类型。
attributePattern:应用事件策略的属性匹配表达式,应该和query函数中XPath语法一致。
callbackClassPath:类的寻找路径列表,OneCMDB会从给定的路径列表中查找callbackClass中指定的类,并加载该类。其本质是使用java.net.URLClassLoader.URLClassLoader加载类并实例化。
有效Rfc类别为
org.onecmdb.core.internal.ccb.rfc.RFCNewCi
org.onecmdb.core.internal.ccb.rfc.RFCNewAttribute
org.onecmdb.core.internal.ccb.rfc.RFCDestroy
org.onecmdb.core.internal.ccb.rfc.RFCModifyAlias
org.onecmdb.core.internal.ccb.rfc.RFCModifyAttributeType
org.onecmdb.core.internal.ccb.rfc.RFCModifyAttributeReferenceType
org.onecmdb.core.internal.ccb.rfc.RFCModifyDerivedAttributeValue
org.onecmdb.core.internal.ccb.rfc.RFCModifyAttributeValue
org.onecmdb.core.internal.ccb.rfc.RFCModifyDescription
org.onecmdb.core.internal.ccb.rfc.RFCModifyIsTemplate
org.onecmdb.core.internal.ccb.rfc.RFCModifyDescription
org.onecmdb.core.internal.ccb.rfc.RFCModifyDisplayNameExpression
org.onecmdb.core.internal.ccb.rfc.RFCModifyMaxOccurs
org.onecmdb.core.internal.ccb.rfc.RFCModifyMinOccurs
一个参考实现:
public class EventPolicyCallback implements IEventPolicyCallback {
public static final String VALUE_NOT_ALLOWED = "ValueNotAllowed";
public IRfcResult onPolicyEvent(IObjectScope scope, IRFC rfc, ICi ci) {
RfcResult result = new RfcResult();
if (rfc instanceof RFCModifyAttributeValue) {
RFCModifyAttributeValue modValue = (RFCModifyAttributeValue)rfc;
String newValue = modValue.getNewValue();
if (newValue != null && newValue.equals(VALUE_NOT_ALLOWED)) {
result.setRejectCause("POLICY-DENY: Value <" + VALUE_NOT_ALLOWED + "> s not allowed!!!");
}
}
System.out.println("OnEVENT….");
return(result);
}
}
OneCMDB探索于2010-6-27 编辑。
本站原创文章版权归作者和OneCMDB中文共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载请注明:文章转载自:OneCMDB中文 [http://www.onecmdb.cn]
本文标题:建立策略时的问题
本文地址:http://www.onecmdb.cn/useonecmdb/question-about-creating-a-policy.htm 复制本文链接
评论